如何将指令嵌入计算机的处理器和板中

时间:2016-09-16 18:38:01

标签: data-structures architecture embedded

因此,处理器有一个打开和关闭的时钟,这是一个预定的指令。这些指令如何作为指令加载到处理器中?我只是用CPU可视化一个干净的平板我们如何教或告诉CPU做它做的事情?

另外,如果我们处于一个清白的状态,我们如何将数据加载到计算机中以识别二进制文件?

我很抱歉,如果问题超载,我只是非常好奇......

2 个答案:

答案 0 :(得分:0)

通常,CPU用于读取地址0或0xFFFF-(地址长度-1)(如果地址空间较大则添加F' s)并将其作为引导加载程序的起始地址。

也有可能CPU通过将微代码加载到CPU中然后从预定地址启动真正的汇编代码来启动。

答案 1 :(得分:0)

指令执行从称为复位向量的硬连线地址开始。指令在存储器中编程;完成的方法取决于使用的内存技术和处理器类型。

对于没有片上存储器的独立CPU,初始代码通常位于某种外部只读随机存取存储器(ROM)中,通常称为 bootrom - 例如,这是PC主板上的BIOS。在现代平台上,这些ROM通常使用称为 NOR Flash 的技术,可以通过将它们加载到专用编程器或在线电路中进行电擦除和重新编程(例如,PC可以重写自己的BIOS刷新。

对于具有片上存储器的微控制器(MCU),它们通常具有片上闪存ROM,并且通常也可以使用称为 JTAG接口(某些设备上也存在专有接口)。某些MCU包含掩模ROM ,它不可重写,包含一个简单的(或)引导加载程序。通常您可以选择MCU的启动方式。

引导程序的工作是将更复杂的代码加载到内存(电可编程ROM或RAM)中并执行它。掩码ROM中的主要引导加载程序通常太简单并且限制很多,并且将加载更完整的引导加载程序,然后加载OS。例如,常见的情况是处理器具有主引导加载程序,其从诸如NAND闪存或SD卡的简单非随机存取存储器加载代码;然后,这可能会加载一个功能更全面的引导加载程序,例如通常用于加载Linux的UBOOT。此辅助引导加载程序可以支持更复杂的设备引导源,如硬盘,网络,CD,USB。