了解POST以及如何设计和编码POST的好地方?我是一名C ++程序员,对这个术语非常感兴趣。
由于
答案 0 :(得分:3)
您可能需要查看coreboot的代码,这是一个在许多不同类型的硬件上运行的免费软件(开源)BIOS项目。
答案 1 :(得分:2)
您可以结帐OpenBIOS项目。
他们拥有关于大量开源BIOS /固件实现的信息。 作为开源,您可以从svn获取代码或在线阅读所有这些代码。
答案 2 :(得分:2)
BIOS?这在嵌入式世界中并不常见,人们仍在编写POST的地方。通常,它们在OS本身启动之前发生,或者在OS启动时发生。
目标是确定设备是否可以运行,以降级模式运行,还是应该发出故障信号。典型的顺序是测试CPU和XIP闪存,然后是内存,固定硬件,然后是可选硬件。您定义了一系列测试。测试具有启动功能和检查功能。启动功能开始测试;检查轮询以查看结果是否已经可用。测试具有依赖性,测试控制器启动依赖性已经过的那些测试(CPU和RAM是特殊情况,如果它们被破坏,那么拥有一个不错的测试控制器是不可行的。)
正如您可以从CPU和RAM测试中推断出的那样,您没有C ++的奢侈品。你甚至不能假设你可以使用所有的C.在POST的第一部分,你甚至可能没有堆栈(!)
答案 3 :(得分:2)
开源EFI BIOS,包含文档和规范(学习的好方法):
背景2004年6月英特尔 宣布将发布 其下一个“基础代码” 生成固件技术 - a PC BIOS的继任者 - 在 今年晚些时候的开源许可证。 基础代码,由...开发 英特尔作为项目代码的一部分命名 Tiano,是英特尔的首选 实施“可扩展的 固件接口(EFI) 规格。要发布的代码 包括基金会的核心 代码以及驱动程序开发 套件。跟进它 意图将代码公开 来源,英特尔与...合作 Collabnet,行业领导者 提供工具和服务 支持开源计划,以支持 为这项工作创建一个社区。 这种伙伴关系的结果就是这样 开源网站。
因为有更多的项目 基于EFI的工作与 基金会代码,决定 发布EFI Shell应用程序和 EFI自我认证测试(SCT) 项目开源社区。 p>
答案 4 :(得分:1)
POST(开机自检)是Bios的一部分,编写POST但不是BIOS的其他部分,看起来确实是一项奇怪的任务。 处理器制造商网站的文档部分将是BIOS编程的良好开端。我记得很久以前写过80186 BIOS和POST,我只使用英特尔规格。
顺便说一句,你将在汇编程序中执行此操作,而不是使用C ++。