自己的操作系统
文章平均质量分 55
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 · 3381 阅读 · 0 评论 -
BIOS代码的研究
咱么也不是OEM厂商,也没有内部代码。如何能研究BIOS代码呢?思路要打开,你并不是第一个造车的人。那么有没有开源BIOS项目。还真有coreboot,又名linuxboot。那么其实很多BIOS关键点,都是可以从开源项目中学习到的。BIOS第一条指令放在哪里?读过IA32/64文档的同学,可以明显的看见IA开机第一条指令在0xFFFF,FFF0。这是文档。作为一个合格的嵌入式工程师,那必须落地为安,要见代码才能放心。必须先找scatter file/linker scripts,随便你原创 2022-03-01 19:45:00 · 3278 阅读 · 1 评论 -
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 · 2286 阅读 · 1 评论 -
我其实不太懂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 · 756 阅读 · 0 评论 -
Intel架构实模式,保护模式,64位模式,64位兼容模式 来回切换
# we can boot from bootloaderfunction logic_boot_init()# please make sure paging is disabled# before enter into sbft_enter.code32sbft_enter: cld push %fs push %es push %ds push %eax push %ebp push %edi pu...原创 2021-06-11 12:14:56 · 819 阅读 · 0 评论 -
Linux内核USB HID游戏摇杆20年来都存在按键数量限制
本来是奎克质造生产的模拟飞行设备QMCP737Chttps://x-plane.vip/quickmade/qmcp737c/我在写软件,支持全平台win/lin/mac,和模拟飞行平台X-Plane 11保持一致。结果WIN/MAC对设备支持没问题,插上就可以用。但是Linux,插上也可以用,但是只剩80个按键,明明我的设备是104个按键,结果只识别出80个按键。然后用各种关键字max USB HID button number之类一顿GOOGLE搜索,无果。我记得Linus说过,原创 2020-07-10 22:09:39 · 1517 阅读 · 1 评论 -
intel 2018开门红爆出存在20年的安全隐患Meltdown & Spectre
这Logo的版权是wikipage。meltdown&Spectre。作者因为写过基于intel IA架构的操作系统,虽然烂在了肚子里,但是对本人的职业生涯有着根基一样的影响。所以一听到这事,我就兴奋了,花了些时间看了看老外的解释。发现这个问题的居然是google先不谈技术,说说这事有多大影响。这么说吧,基本可以说凡是使用的intel CPU的联网的电子设备,都有可能被黑客攻击,无一幸免,原创 2018-01-05 20:46:32 · 977 阅读 · 0 评论 -
STM8L最小系统板移植Atomthreads成功
终于花了一天时间把atomthreads1.3移植到了STM8L151K4。由于之前有了移植STM8S的经验,这次整个过程清晰了很多。并且我也安装了STVP+COSMIC编译环境,因此这回也更加注重代码在不同编译器的兼容性。原版Atomthreads1.3的port目录下有点乱,所有编译器的相关文件都放在同一个目录下,我同样对目录结果进行了调整。让代码看起来更易读。同时,原作包括的意法半导体的原创 2013-10-28 10:40:32 · 9248 阅读 · 23 评论 -
IA32 gnu assembly 32 bit instruction pretend to be 64 bit instruction
.code32.byte 0x48xorl %eax, %eax等同于64位代码 .code64xorq %rax, %rax利用这个特性,你可以轻松伪造出64位的代码原创 2015-01-24 22:35:30 · 857 阅读 · 1 评论 -
找回失去的青春--玩单片机STM8
把失去的青春补回来!你以为我要说离开IT业?常被人说成“IT刁丝”,“IT民工”,我不以为然。不仅如此,我为做IT而骄傲。看看我们身边的产品,无不与IT有着密切的关系。你说你平时不用电脑。OK,你平时可以不用手机么?你知道手机是“IT刁丝”搞出来的么?再退一步,你说你也不用手机。OK,超市你去不?收银员用的收银机是“IT刁丝”搞出来的。你说你是搞金融的,不是碰IT,错,金融业的后台服务器,同样原创 2013-10-24 13:32:40 · 6326 阅读 · 3 评论 -
Atomthreads关于STM8S低功耗的思考
atomthreads像众多操作系统一样,在没有任务调度是会调用idle,atomthreads中atomIdleThread()是以线程的形式存在,也就是最低优先级线程。作者默认没有填写这个函数。针对STM8我们最自然想到的是在其中加一个wfi,STM8进入wfi模式几乎不会影响任何外设的运行。以STM8S105K4为例,其进入该模式的典型电流是1.8mA。这个电流,用一节2000mA手机供电,原创 2013-10-25 10:43:31 · 10896 阅读 · 5 评论 -
STM8的福利--Atomthreads实时操作系统
Atomthreads是开源的实时操作系统。诞生之初就是给STM8s设计的,而且作者还在不断更新,我看最近的主要修改是加入更多MCU的支持。算法上没有变化。所以我取了1.3的版本,足够用了。我使用的是STM8S105K4的最小系统。有16K flash可以使用。这个大小放下原生的atomthreads是够的。这个实时系统包含了操作系统所有最基本的接口mutex,semaphore,timer,原创 2013-10-24 20:47:00 · 18708 阅读 · 18 评论 -
我和操作系统(二)
由于大二的经验,我OS的bootloader很快就被拿到了gcc下面,运行正常,从中得出了个结论,中断的启用对发现你的boot code down机的情况是个绝佳的工具,它帮你扑捉出错的一瞬间。如果不启用,代码中的内存保护性错误,让你很难找到哪里的问题,这个思想已经被我运用到了现在从事的工作中。printk一定得有,我需要看kernel debug信息。我设计并实现了内核中内存的动态分配kmall原创 2006-11-01 12:59:00 · 2208 阅读 · 2 评论 -
我和操作系统(一)
我与操作系统的经历得从上大学开始说起。2001年,我以不怎么好的成绩成功考入西安一所二流大学。过来的人都知道,在二流大学的好处就是考试不及格没关系,毕业只要你能找到工作,其他的好说。这为我争取了几乎整整3年的时间,潜心下来自学学了操作系统。我这样不是鼓励大家不要上学校的课,只是告诉你们要利用好自己的时间。我学的是信息与计算科学专业,这是计算机与数学相结合的专业。由于我高中时就有了台原创 2006-09-11 16:12:00 · 2454 阅读 · 3 评论