C++ 开机自检

C++ 开机自检,c++,c,operating-system,hardware,bios,C++,C,Operating System,Hardware,Bios,有什么好地方可以学习POST以及如何设计和编写POST?我是C++程序员,对这个词很困惑。 谢谢您可以签出该项目 他们有大量开源bios/固件实现的信息。 作为开源软件,您可以从svn获取代码或在线阅读所有代码 POST(开机自检)是Bios的一部分,编写POST(而不是Bios的其他部分)似乎确实是一项奇怪的任务。 处理器制造商网站的文档部分将是BIOS编程的良好开端。我记得很久以前写过一篇80186 BIOS和帖子,我只使用英特尔规格 和BTW,你将在汇编程序中做这件事,而不是C++。 <

有什么好地方可以学习POST以及如何设计和编写POST?我是C++程序员,对这个词很困惑。 谢谢

您可以签出该项目

他们有大量开源bios/固件实现的信息。 作为开源软件,您可以从svn获取代码或在线阅读所有代码

POST(开机自检)是Bios的一部分,编写POST(而不是Bios的其他部分)似乎确实是一项奇怪的任务。 处理器制造商网站的文档部分将是BIOS编程的良好开端。我记得很久以前写过一篇80186 BIOS和帖子,我只使用英特尔规格


和BTW,你将在汇编程序中做这件事,而不是C++。

< P>你可能想看看一个在许多不同类型的硬件上运行的自由软件(开源)BIOS项目的代码。这在嵌入式世界并不常见,在这个地方人们仍然在写文章。通常,它们发生在操作系统本身启动之前,或者在操作系统启动时发生

目标是确定设备是否可以运行、在降级模式下运行,或者是否应该发出故障信号。典型的顺序是测试CPU和XIP闪存,然后是内存、固定硬件,然后是可选硬件。您定义了一系列测试。测试具有启动功能和检查功能。启动功能启动测试;检查轮询以查看结果是否已经可用。测试具有依赖性,并且测试控制器启动那些依赖性已经通过的测试(CPU和RAM是特殊情况,如果它们被破坏,那么拥有一个好的测试控制器是不可行的)


正如你可以从CPU和RAM测试中推断的那样,你没有C++的优势。你甚至不能假设你可以使用所有的C语言。在文章的第一部分,你甚至可能没有一个堆栈(!)

开源EFI BIOS,有文档和规范(学习的好方法):

2004年6月英特尔公司的背景 宣布将发布 其下一个项目的“基础代码” 新一代固件技术-a PC BIOS的后续版本-在 开放源代码许可证将在今年晚些时候发布。 基础代码,由 英特尔作为名为 蒂亚诺,是英特尔的“首选” 可扩展逻辑的“实现” 固件接口(EFI) 规范。即将发布的代码 包括基础的核心 代码以及驱动程序的开发 配套元件。贯彻 将代码发布为open的意图 来源:英特尔与 Collabnet,这一领域的行业领导者 向客户提供工具和服务 支持开源计划,以 为此创建一个社区。 这种伙伴关系的结果是这样的 开源网站

因为有更多的项目是 基于EFI的工作与 基金会代码,决定 释放EFI外壳应用程序并 电喷自认证测试(SCT) 将项目提交给开源社区


呃,这是一个比较笼统的问题。你特别想知道什么?有多少BIOS已经被写入,它运行在什么样的硬件上?如果你不知道这个词的意思,为什么你要写一个开机自检呢?对于一个新的程序员来说可能不是一个好的起点什么环境,一台计算机或者一些嵌入式设备?