主题 : uboot 2013 最新的移植 支持nand_spl  更强大更多功能 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 90045
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2013-04-10
最后登录: 2015-12-04
楼主  发表于: 2013-04-20 23:04

 uboot 2013 最新的移植 支持nand_spl  更强大更多功能

如题:uboot 2013 最新的移植(截止至2013.05.16和官方完全同步) ,支持nand_spl  更强大并且支持更多功能 效果如下图,完整的代码可以在github上下载,并且根据友善论坛版主kasim的建议(本帖四楼),利用Git工具对代码进行整理,现重新发布:项目网址,个人博客主页http://pingfengluo.github.com ,欢迎在github上follow me,也欢迎和我进行u-boot和linux移植方面的交流学习,共同进步。

uboot 2013不仅更加成熟,而且对nand_spl和其他代码结构做了更好的调整,比如通过使用bords.cfg,Makefile变得简洁了,nand_spl使得nand方式启动更简单和容易实施。



解压之后进行

编译:
$ make mini2440_config
$ make 
将在uboot源码主目录下生成 u-boot-nand.bin

Mini2440的板子从nor flash启动,
1、【f】格式化nandflash
2、使用 【a】u-boot-nand.bin 将下载到nandflash,然后从nandflash启动,就可以看到最新的uboot2013

现在你就可以尽情的享受开源的力量,和编程良好的代码
[ 此帖被pingfengluo在2014-10-02 17:54重新编辑 ]
附件设置隐藏,需要回复后才能看到
级别: 新手上路
UID: 90045
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2013-04-10
最后登录: 2015-12-04
1楼  发表于: 2013-04-21 13:15

 回 4楼(kasim) 的帖子

好的
[ 此帖被pingfengluo在2013-04-21 13:45重新编辑 ]
级别: 新手上路
UID: 90045
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2013-04-10
最后登录: 2015-12-04
2楼  发表于: 2013-04-23 15:44

 回 8楼(5768340) 的帖子

当nandfalsh方式启动的时候,若saveenv命令无法保存,可能的问题有:
(1)/drivers/mtd/nand这个目录下的源码还没有移植好,
(2)在mini2440.h,关于nand flash的配置可以参考如下
#define CMD_SAVEENV
#define CFG_ENV_IS_IN_NAND    1
#define CFG_ENV_OFFSET  0x20000
#define CFG_NAND_LEGACY
#define CFG_ENV_SIZE  0x10000
级别: 新手上路
UID: 90045
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2013-04-10
最后登录: 2015-12-04
3楼  发表于: 2013-04-28 22:10

 回 11楼(fxpct) 的帖子

github上的uboot2013移植源码,我随着毕设的进度又做了更新,现在已经完全可用了(2013.04.28 22:47的更新),
git clone https://github.com/pingfengluo/uboot2013_for_mini2440.git 下载最新的源码
cd uboot2013_for_mini2440 进入源码目录
make mini2440_config (在uboot源码根目录下的boards.cfg文件有该命令细节)
make                                   (在uboot源码根目录下生成u-boot-nand.bin就是我们从nandflash启动需要的uboot)

ps:关于nand_spl机制可以参考doc/目录下的相关文档,其实你仔细看编译的过程会发现一下重要信息:
编译信息

u-boot-spl-16k.bin文件的大小正好为4k,系统启动后,这4k的内容自动复制到Steppingstone中。u-boot-spl-16k.bin在完成必要的硬件初始化后,复制u-boot.bin文件到指定的内存中,然后运行已经复制到内存中的u-boot.bin文件。
而u-boot.bin的是正常启动的uboot所生成的。
[ 此帖被pingfengluo在2013-04-28 22:48重新编辑 ]
级别: 新手上路
UID: 90045
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2013-04-10
最后登录: 2015-12-04
4楼  发表于: 2013-05-18 19:50

 回 14楼(jjvip136) 的帖子

您好,这次U-boot和linux内核移植,是我毕设顺便做的,基于arm9,估计帮不上你,因为A8我没有接触过
级别: 新手上路
UID: 90045
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2013-04-10
最后登录: 2015-12-04
5楼  发表于: 2013-05-20 13:18

 回 16楼(405971737) 的帖子

这个要看硬件是否一样了,比如nandflash这些,还有他们的接口,只要串口输出的话,需要根据自己的波特率,参考mini2440.c改波特率的值
级别: 新手上路
UID: 90045
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2013-04-10
最后登录: 2015-12-04
6楼  发表于: 2013-05-22 13:02

 回 18楼(405971737) 的帖子

如果使用我移植的u-boot,烧写到nand_flash 的是u-boot-nand.bin ,而不是u-boot.bin,因为我使用了nand_spl机制,关于这个机制可以看doc目录下的文档