uboot移植

从官方版本的uboot来移植

第一个问题:

start.s移植时

b low_level_init出错(用led灯来定位问题,链接的时候错误,要放到前8K)

在.lds链接脚本里加上low_level_init.o

但是重定义。在.s那边makefile生成.o链接了一次,.lds又链接了一次。参考start.s .那边用一个新的START :=start.o,来all里面加start 来保证编译,却不链接到最终的lib里。

2.ddr配置

移植:ddr配置  md mw 可以用说明ddr_init是正确的 bdinfo查看ddr大小是0x2000000

修改

(base address(0x20000000->0x30000000,连续的512M地址,memconfig(chip_base和掩码硬件),.h(软件 base address)) bank size(0x2000000->0x1000000)) 

MMU那边.set __base 0x200 -> 0x300

读取扩展csd寄存器,读取到的version错误(return 0 低版本的控制器( <4)读不了高版本的卡) 卡的版本号>5 

1.移植必要的头文件(.c或者.s中需要的头文件直接copy过来,然后include该头文件)

2.对头文件进行修整 (把头文件中黑色的都删除掉)

3.重定位移植

1.重定位和清bss段代码移植

2.movi_bl2_copy函数的移植:.c文件移植过来,.c中include的头文件移植过来。在.c中除了movi_bl2_copy函数外,其他都删除掉。在movi_bl2_copy也可以将一些代码删除掉(安全相关的)

报错:某行某个宏没定义,实际是那行却没有那个宏,因为那行的宏中包含的其他宏没有定义。

sd卡移植(SD、TF、MMC总结_Write Freely的博客-CSDN博客

bring_up:卡能识别,读写正常

3.sdhci_transfer_data函数出错,

把三星uboot中的sd/mm驱动整个移植过来。或者参考三星的驱动来修补。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值