移植2- 移植uboot的spl代码

根据http://blog.csdn.net/xiaojiaohuazi/article/details/8269890来修改

2014.3.2. 做到第九步,这步还未做

    疑问:uboot应该在BL2时才初始化内存吧? 这里为什么这么早就初始化内存呢?uart初始化这么早干什么? 奇怪!
     哈哈,自己乐意初始化uart就初始化,方便调试呀
     BL1时初始化内存后,才能将u-boot(BL2)拷贝进入内存
2014.4.1
     按照blog所写,发现出现问题:u-boot-2012.10/arch/arm/cpu/armv7/start.S:174: undefined reference to `board_init_f'
     经测试发现,将arch/arm/lib/Makefile中COBJS-$(CONFIG_SPL_FRAMEWORK) += spl.o 修改为COBJS-y +=spl.o 
     CONFIG_SPL_FRAMEWORK这个好像有bug
     注意:按照我的 移植1- 裸写BL1,启动uboot这篇文章,配置内存和SD卡读写正确
2014.4.7
      还是有问题,uboot不能正常启动
       使用uart进行调试! 发现uboot(即BL2)进入到start.S中,可以打印出字符串!继续调试
2014.7.13 调试发现,arch/arm/cpu/armv7/start.S这个文件被SPL和uboot都使用,在SPL进行lowlevel_init后,uboot中就不要做lowlevel_init了,所以要在#ifndef CONFIG_SKIP_LOWLEVEL_INIT的前面添加#ifdef CONFIG_SPL_BUILD,这样spl执行lowlevel_init,uboot中不再执行lowlevel_init
这样,uboot就起来了
应该用git跟踪代码的改动,有时间建立一个tree,然后使用git来跟踪代码!
2014.7.20 发现http://blog.csdn.net/xiaojiaohuazi/article/details/8269890中的第3步没有做,所以导致了2014.4.7的问题,撤销2014.7.13的修改
2014.7.20 不要将CONFIG_SYS_TEXT_BASE写入board/samsung/smdkv210/config.mk中,请写入到include/configs/smdkv210.h中,这样更规范一些
2014.7.20感觉blog作者移植的实在不符合uboot的常规做法,准备重新搞一搞
              首先去掉start中的clear bss段,发现uboot启动有问题了!
2014.7.27 终于搞定了,操作步骤如下:
       第1步 boards.cfg中添加smdkv210
       第2步 copy board/samsung/smdkc100 to board/samsung/smdkv210,并做一些修改
       第3步 ,copy include/configs/smkdc100.h to include/configs/smdkv210,并做一些修改
       第4步,将mkv210工具添加到tools目录,修改spl/Makefile,使之能利用我们自己的mkv210工具 
       具体修改请参看源代码: http://download.csdn.net/detail/yazhouren/7683955, 这个用git 管理的,可以看具体的 改动log
       中心思想是:SPL时,编译mmc_boot.c生成spl, spl copy uboot to ram并执行
   2014.8.18 分清楚SPL与uboot, 以后SPL就只是SPL部分, UBOOT就只是UBOOT(不包括SPL部分,就是start.s调用arch/arm/lib/board.c中的board_init_f和board_init_r)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值