tiny210(s5pv210)移植u-boot(基于 2014.4 版本)——SPL

 什么是SPL? SPL 的全称为 secondary program loader,我们知道,S5PV210 启动过程需要 BL1,BL2,其中 BL1 进行一些基本初始化(时钟、内存) ,加载BL2 到内存。U-boot 为此专门实现了 SPL 框架,看下面这幅图就清楚了:


     SPL即第 2 阶段程序加载器,即我们要实现的 BL1。

   要支持 SPL, 我们需要在单板配置文件 u-boot-2014.04/include/configs/smdkc100.h 定义宏 CONFIG_SPL
 #define CONFIG_SPL   这样顶层 Makefile 在包含 u-boot-2014.04/include/configs/smdkc100.h 时,会得到
ALL-y += spl/u-boot-spl.bin这样在执行 make all 时,make 会编译 spl/u-boot-spl.bin 这个目标:

从这得知,spl/u-boot-spl.bin 依赖于 spl/u-boot-spl,然后 make 找到目标 spl/u-boot-spl,然后执行指定的 Makefile 文件:u-boot-2014.04/spl/Makefile。
u-boot-2014.04/spl/Makefile 中首先导出环境变量 CONFIG_SPL_BUILD=y, 这个宏在各个源代码文件中用来控制代码的走向。这样编译后,最终会在 u-boot-2014.04/spl 下生成 u-boot-spl.bin,

同时在 u-boot-2014.04 下生成u-boot.bin。

u-boot.bin 使用的链接脚本为 u-boot-2014.04/arch/arm/cpu/u-boot.lds  

u-boot-spl.bin 使用的链接脚本为 u-boot-2014.04/arch/arm/cpu/u-boot-spl.lds


   那下一步我们可以先移植好u-boot-spl.bin 这个程序 然后通过这个程序把最简单的led程序拷贝到内存中,看看能否运行。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值