我想知道Board提出的封装架构是否依赖于架构? actullay想要知道的是,我们可以使用64位架构运行32位bsp代码,或者BSP代码始终为64位,因为BSP代码是特定于架构的。
答案 0 :(得分:3)
是的,绝对的。 BSP非常特定于处理器和电路板本身的架构。话虽如此,有可能在64位运行时不需要那么多的更改。大多数BSP包含的一件事是初始化系统中硬件寄存器的启动代码。当你转向64位时,其中一些可能会改变。
第二部分是引导加载程序,它将内核/ OS /任何内容加载到RAM中(通常 - 它可能只是将ROM区域初始化为可执行文件并正确设置)。同样,这可能需要更改,因为它可能“以32位跳转到操作系统”,并且操作系统可能期望64位跳转。
然后你有自己的OS /内核,显然需要重新编译。
您实际需要做多少工作取决于电路板的架构,您正在使用的处理器,最重要的是,操作系统和上层软件在64位模式下运行的要求 - 是否有内存由init-code或bootloader设置需要更改?从32位到64位的切换何时发生 - 在操作系统内部或外部?
这可能不是你想要的答案,但我认为没有人,除了那些熟悉BSP的人能够准确地说出你需要改变的东西 - 我很确定这不是一个完整的重写,但是可能存在一系列假设:“我们知道指针是32位,所以int将保存指针”或“我们知道指针是4个字节,所以我们在这里保留4个字节......” / p>
答案 1 :(得分:0)