
MCU单片机
文章平均质量分 56
cpuwolf
Wrote a complete Unix-like operating system which included preemptive multitasking, a non-trivial filesystem, interrupt-driven I/O, and signals
. 从事ARM嵌入式开发多年,bootload,kernel,driver都有较深的理解。
展开
-
EC和ACPI
对我来说ACPI就是Lua,一种粘合剂,用一种贴近于平台无关二进制编码,来干平台相关的事情。其中Lua解释器,相当于就是ACPICA开源库中OSPM调用的部分。ACPI的文档,确实是放在UEFI官网的下面Specifications | Unified Extensible Firmware Interface Forum对于EC,那么ACPI也必须把他抽象出来成一个设备我在ACPI的文档中找到对EC的抽象描述,举了个例子如下最吸引我的是_CRS对设备资源的描述这段,定义了两个.原创 2022-03-01 20:00:00 · 3571 阅读 · 0 评论 -
BIOS代码的研究
咱么也不是OEM厂商,也没有内部代码。如何能研究BIOS代码呢?思路要打开,你并不是第一个造车的人。那么有没有开源BIOS项目。还真有coreboot,又名linuxboot。那么其实很多BIOS关键点,都是可以从开源项目中学习到的。BIOS第一条指令放在哪里?读过IA32/64文档的同学,可以明显的看见IA开机第一条指令在0xFFFF,FFF0。这是文档。作为一个合格的嵌入式工程师,那必须落地为安,要见代码才能放心。必须先找scatter file/linker scripts,随便你原创 2022-03-01 19:45:00 · 3694 阅读 · 1 评论 -
Intel平台主脉络总结
这段时间一直在研究Intel平台,历史悠久,所以涉及的知识实在太多,如果随机学习,就如大海捞针。对于这种巨大的平台,要先去摸索到脊梁骨是最重要的,之后才能事半功倍。上图我对前几天的图做了更多细化总结,在前几天的图基础上加了些细节,主要是看文档的结果,让我更加确定了这幅图的准确性。...原创 2022-02-28 22:00:00 · 541 阅读 · 1 评论 -
进了OS,如何重刷BIOS?
我其实不太懂Intel平台_cpuwolf的成长笔记-优快云博客https://blog.youkuaiyun.com/cpuwolf/article/details/123133731?spm=1001.2014.3001.5501根据前一篇文章的分析,既然PCH有SPI控制器,那么CPU进了OS,理论上可以刷SPI flash。这也是为什么当年会有BIOS病毒的原因,促成了后期双BIOS设计在主板设计中出现。果然找到Linux内核文档已经,有文章Upgrading BIOS using inte.原创 2022-02-28 21:30:00 · 714 阅读 · 0 评论 -
自备一个刷BIOS神器
我其实不太懂Intel平台_cpuwolf的成长笔记-优快云博客【原创】大三学生写了个操作系统:19年前_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1YS4y1r77n#reply103602594912大概1998年,妈妈花了重金给买的奔腾II 266MHz,这个视频我也说了。20xx年,我自己组装的i7 7700k玩模拟飞行用。其实我一共就拥有过这两台像样的Intel平台电脑。其实我一直感觉我不懂Intel平台,但是基于IA-32的操作系统,我也写出来原创 2022-02-27 08:11:45 · 1389 阅读 · 0 评论 -
Intel ME到底在哪颗芯片里
前一篇文章画了个图今天我突然想到一个关键字Intel ME,这个东西在那里,不会这图我画错了吧?最终在德国网站上找到了一幅图https://www.heise.de/ct/hotline/FAQ-Intel-Management-Engine-3978291.html还好,ME居然运行在PCH里面,而且还是独立MCU,有自己的固件,居然还用minix OS,minix最厉害的就是崩溃以后的自恢复能力,这也就能理解了。总之我的图还是没画错。...原创 2022-02-27 07:14:25 · 2455 阅读 · 1 评论 -
Intel平台不可忽略的接口eSPI
eeSPI就是SPI升级版?根据这名字就感觉eSPI就是SPI的升级版,这样说没错。但是如果你思想上认为只是提高了点速度之类,那你就小看了。从双向通讯信号上讲,LPC/SPI/eSPI,大同小异、参考书公开的Intel pdf文档Enhanced Serial Peripherial Interface Base Sepcification当我们谈eSPI,其实主要是为了把LPC接口比下去的eSPI vs. LPC side band信号数量减少EC/Super I/O芯片和PCH的连接如原创 2022-02-25 16:46:50 · 4773 阅读 · 0 评论 -
我其实不太懂Intel平台
【原创】大三学生写了个操作系统:19年前_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1YS4y1r77n#reply103602594912大概1998年,妈妈花了重金给买的奔腾II 266MHz,这个视频我也说了。 20xx年,我自己组装的i7 7700k玩模拟飞行用。其实我一共就拥有过这两台像样的Intel平台电脑。其实我一直感觉我不懂Intel平台,但是基于IA-32的操作系统,我也写出来了,其实自己知道,里面很多的代码都是建立在Intel的老原创 2022-02-25 16:09:28 · 817 阅读 · 0 评论 -
Xcode编译器很牛的代码分析功能
主要是我要设计一套代码同时跑在三个平台上,Windows,Linux,macOS。为奎克质造的设备写个对接X-Plane的插件。这种设计多出了很多事情,同一套代码,我需要到三个OS去编译,事情多了很多。但是也带给我很多新的视野,更重要的是好处,我可以在多个OS之间交叉检查我的代码的Robust。最近在用Xcode编译代码时,发现一个不起眼的编译选项Analyze,这是以分析为目的的编译,具体背后在干什么我不知道,也不关心,这种编译方式会比普通编译时间更长点。编译完之后,左侧错误列表会列举出一原创 2022-01-01 21:47:49 · 867 阅读 · 0 评论 -
人生第一块PCB
我要感谢互联网云时代的到来,让我这种电路小白,也有机会利用云平台国产立创EDA画自己人生第一块PCB板,之前都是用洞洞板自己焊接,结果飞线飞的我都找不到北。这次的PCB尝试,只是把飞线整理在电路板上,并没有复杂的电路,更多是考验,我测量手头元件的能力,游标卡尺起了很大作用...原创 2021-08-04 05:36:05 · 437 阅读 · 0 评论 -
STM8L最小系统板移植Atomthreads成功
终于花了一天时间把atomthreads1.3移植到了STM8L151K4。由于之前有了移植STM8S的经验,这次整个过程清晰了很多。并且我也安装了STVP+COSMIC编译环境,因此这回也更加注重代码在不同编译器的兼容性。原版Atomthreads1.3的port目录下有点乱,所有编译器的相关文件都放在同一个目录下,我同样对目录结果进行了调整。让代码看起来更易读。同时,原作包括的意法半导体的原创 2013-10-28 10:40:32 · 9302 阅读 · 23 评论 -
用python解决你的实际问题,忘记语言吧
我在思考一个问题。软件是为人服务的,而人的需求一直在变。什么东西能快速适应这种需求的变更。本人从汇编玩到C,总觉得这些底层的东西吧~~强大是强大,但是用起来费劲,而且分散你的经历,不能把精力放在应用上,很多精力会分散在语言本身。想象一个场景,科研人员在研究蛋白质折叠,需要显示个界面,甚至动画,但是重点是后面的运算,科研人员完全没必要先学完C语言,再开始搞他的科研,这是精力浪费。原创 2016-01-28 13:40:41 · 3031 阅读 · 0 评论 -
上课不听讲下课来补习系列之-玩转单片机STM8(一)
最初从单片机学习整个计算机系统是个非常正常的阶梯学习方法。因为直到今天,计算机系统的那些事,也没逃离这个最基础的架构。可惜我当年直接跳过了这个过程,直接从intel 486学起的,那时每天带着无数的疑问在艰难的前行。单片机不一定要学习51,其实随便选一家都是一样的。从实际出发要选,便宜的,外围器件少的,里面功能的,所以为大家挑选了STM8L。STM8L是个8位单片机,我在论坛中的确看到一些原创 2013-11-06 10:07:16 · 2534 阅读 · 0 评论 -
二元一次方程在呼吸灯上的应用
我一直想用一个简单的表达式把呼吸灯效果表达出来。搜索了一下,大家都是千篇一律。我看稍微有点想法的也是说用sin(x)函数实现,还有人说有matlab。我只是想说,对于一个2MHz的单片机,你们的要求太高了。我只是追求用最简单,而且运算量不大的C代码实现。抛物线函数足够了,开口向下的,还要过原点(0,0),因为起始灯是熄灭的。二元一次方程最适合。参数a,b,c的c=0,因为过了原点。原创 2013-10-31 12:49:33 · 5836 阅读 · 3 评论 -
STM8的wait for interrupt
如果我用disable interrupt和enable interrupt包裹wait forinterrupt(WFI)。你说WFI还能被唤醒么?有思考过么?昨晚拿STM8L151K4的开发板,实际测试下来。这样的用法是完全没问题的。由此我猜测芯片内部,core应该会专门有一根信号线唤醒sleep状态的core,这根信号不受interrupt disable影响。这个实验对控制睡眠唤醒原创 2013-10-29 09:47:45 · 3965 阅读 · 0 评论 -
STM8的福利--Atomthreads实时操作系统
Atomthreads是开源的实时操作系统。诞生之初就是给STM8s设计的,而且作者还在不断更新,我看最近的主要修改是加入更多MCU的支持。算法上没有变化。所以我取了1.3的版本,足够用了。我使用的是STM8S105K4的最小系统。有16K flash可以使用。这个大小放下原生的atomthreads是够的。这个实时系统包含了操作系统所有最基本的接口mutex,semaphore,timer,原创 2013-10-24 20:47:00 · 18843 阅读 · 18 评论 -
Atomthreads关于STM8S低功耗的思考
atomthreads像众多操作系统一样,在没有任务调度是会调用idle,atomthreads中atomIdleThread()是以线程的形式存在,也就是最低优先级线程。作者默认没有填写这个函数。针对STM8我们最自然想到的是在其中加一个wfi,STM8进入wfi模式几乎不会影响任何外设的运行。以STM8S105K4为例,其进入该模式的典型电流是1.8mA。这个电流,用一节2000mA手机供电,原创 2013-10-25 10:43:31 · 10922 阅读 · 5 评论 -
找回失去的青春--玩单片机STM8
把失去的青春补回来!你以为我要说离开IT业?常被人说成“IT刁丝”,“IT民工”,我不以为然。不仅如此,我为做IT而骄傲。看看我们身边的产品,无不与IT有着密切的关系。你说你平时不用电脑。OK,你平时可以不用手机么?你知道手机是“IT刁丝”搞出来的么?再退一步,你说你也不用手机。OK,超市你去不?收银员用的收银机是“IT刁丝”搞出来的。你说你是搞金融的,不是碰IT,错,金融业的后台服务器,同样原创 2013-10-24 13:32:40 · 6356 阅读 · 3 评论