关于 U-BOOT 中 SPL 的移植一

出于兴趣,本人使用 JZ2440V2 的开发板进行 linux 的一些开发,纯属业余爱好,文中若有错误,还请见谅。

JZ2440V2 开发板厂商提供的 U-BOOT 是很古老的 v1.1.6 。写这篇文章是,最新的版本已经是 2015.07 了。

U-BOOT 经过多年发展,已经很庞大了,S3C2440 自动加载的 4K 代码,太小了,装不下 copy_code_to_sdram 前的代码。所以 要支持从 NAND flash 等启动,就要使用 SPL ,当然你也可以直接修改代码,将  copy_code_to_sdram 之前的代码压缩到 4K 以内,不过这样做就相当于回到了很古老的  U-BOOT 。

废话不多说了,进入主题。

SPL 是个什么东西,你可以理解为一个 U-BOOT 的 bootloader ,是个 U-BOOT 的简洁版,所以不添加驱动的情况下,编译出来大小只有 1K 左右,S3C2440 自动 boot 的 4K 代码完全足够。

要使用 SPL 首先要打开 SPL ,就是在 \configs\xxxx_defconfig 文件中加入下面一行

CONFIG_SPL=y

其他的配置可以放在 \include\configs\xxxx.h 的配置文件中

前段时间再网上找到的资料中,很多都提到了 CONFIG_SPL_BUILD 这个选项,在现行版本中,千万不要加到你的配置文件中,否则会出现莫名其妙的错误,读者可以自行实验一下。其中的原因我分析是,配置 CONFIG_SPL=y 之后, CONFIG_SPL_BUILD 这个选项在编译 u-boot-spl.bin 的时候会自动配置。

这样,编译,报错,按理讲应该可以了,估计是目前对 SPL 支持还不够好。

对于这个问题的解决,将在后面的博文中介绍。

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值