Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ARM架构初始化_Arm_Cpu Architecture - Fatal编程技术网

ARM架构初始化

ARM架构初始化,arm,cpu-architecture,Arm,Cpu Architecture,在x86的情况下,相同的(实模式)引导加载程序几乎可以在任何x86设备上工作。 这在ARM上是可能的,还是我需要为每个“cortex”创建一个特定的引导加载程序?x86或者说PC兼容系统是。。。pc兼容。它们支持古老的bios调用,因此具有巨大的兼容性。根据设计,芯片供应商(英特尔)、软件供应商(bios、操作系统)和主板供应商 手臂现在是这样的形状。有一些指令集你可以选择,它们几乎可以工作,也可以一直工作,但是记住ARM系统你买了一个ARM内核,把它添加到你的特殊芯片上,你和你的特殊/定制的东

在x86的情况下,相同的(实模式)引导加载程序几乎可以在任何x86设备上工作。
这在ARM上是可能的,还是我需要为每个“cortex”创建一个特定的引导加载程序?

x86或者说PC兼容系统是。。。pc兼容。它们支持古老的bios调用,因此具有巨大的兼容性。根据设计,芯片供应商(英特尔)、软件供应商(bios、操作系统)和主板供应商

手臂现在是这样的形状。有一些指令集你可以选择,它们几乎可以工作,也可以一直工作,但是记住ARM系统你买了一个ARM内核,把它添加到你的特殊芯片上,你和你的特殊/定制的东西,然后放在一个或多个不同的板上。几乎没有兼容性。指令集和arm内核只是整个画面的一小部分,大部分代码都是针对非arm的


u-boot和其他一些可能是相当大的引导加载程序,它们本身就是一个操作系统,必须像操作系统一样移植到每个芯片/板组合中。如果这是一个linux兼容系统,那么芯片供应商很可能有一个参考设计和一个BSP,包括一个u-boot端口和/或一些其他解决方案(rasberry pi就是一个很好的例子)。引导linux或以前的linux是相当简单的,没有理由过度复杂的u-boot。在没有DTB的情况下,您可以设置一些内存位置,一个寄存器或两个,然后分支到内核,就是这样(再次查看raspberry pi),我假设使用DTB构建DTB,然后将其放在某个地方,设置一些寄存器并分支到linux内核(raspberry pi?ntc芯片?)有一个Arm开源项目,可以涵盖Armv7/v8 Cortex-a处理器引导加载程序

Cortex-M处理器的另一个开源项目:


有一种流行的u-boot-Das通用引导加载程序:。你的目标设备是什么?许多采用cortex实现的SoC都使用uboot。(现代x86有UEFI,它不是您父母的MBR,它本身不是引导加载程序,但只有一小部分引导加载过程写在硬盘上,大部分引导由BIOS和POST控制。)列出了一些专有(锁定)android平台的引导加载程序。谢谢你,我有兴趣在qemu上学习cortex a15,那太好了。你可以给我看一个用gcc编写的最小引导加载程序。cortex a15与它几乎没有关系,芯片和板与核心一样重要,你不能为所有cortex a15芯片和板组合使用一个cortex a15引导加载程序,你必须在特定的板上选择一个特定的a15皮质,然后进行讨论。这超出了stackoverflow的范围。