关键在于代码存放地址和启动方式
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
标签:blog,裸核,csdn,details,https,linux,article,net From: https://www.cnblogs.com/ycjstudy/p/18222279