linux + 裸核

 

关键在于代码存放地址和启动方式

 

1.代码装载:

可以利用 ld文件 和 BOOT.bin 重载

也可以利用u-boot搬运 

 

2. linux内存区域划分

设备树 ,亲测 linux,usable-memory 可以分隔u-boot 和 kernel的空间分布

 

3.启动,u-boot正常启动cpu0(设备树需要maxcpus=1)

另调用sev启动CPU1

 

 

os 也一样,主要是os自己的运行地址和自举地址要设置好

 

 

参考:

裸核

https://blog.csdn.net/qq_17785775/article/details/122607758

https://blog.csdn.net/Pieces_thinking/article/details/116861541

 

rt-thread

https://blog.csdn.net/u014082689/article/details/86569822

https://www.twblogs.net/a/5c45c939bd9eee35b21eeb9a/?lang=zh-cn

 

指令详解

http://www.wowotech.net/armv8a_arch/wfe_wfi.html

https://blog.csdn.net/Roland_Sun/article/details/107456179

 

设备树解析流程

https://www.cnblogs.com/zyly/p/17336184.html

 

预留内存

https://blog.csdn.net/z1026544682/article/details/104675042

 

内存查找u-boot其实地址

https://www.volcengine.com/theme/10740266-L-7-1

posted @ 2024-05-30 14:37  skyycj  阅读(126)  评论(0)    收藏  举报