HI3520D使用512M的内存

板子原来的内存是256m,觉得太小,所以改用了512m的芯片,手册上是支持的。

确认芯片电路

256M内存和512M内存都是8个BANK,10bit行地址,不同的是256M是14bit列地址,512M是15bit列地址
计算方法为2^(14+10) * 8 * 2 = 256M
2^(15+10) * 8 * 2 = 512M

注意是乘以2是因为数据线是16bit的,也就是说每个地址空间为2Bytes

从上面可以看出512M的内存比256M的多一跟地址线,所以需要检查电路中有没有接好。

修改Uboot

说明:从上面可以知道,升级内存最重要的是配置地址和引脚,因为多了一跟地址线啊

说明:uboot的官方的SDK由2部分提供,一部分是基本寄存器的初始化,包括但不限于DDRC初始化。这部分代码(大概是4800B)可以被先加载到片内RAM中执行,然后初始化DDRC,然外部物理内存就可以愉快的访问了。(详细机制我也就不是很清楚了,所以有请大神能不吝指教)

编译uboot

这个应该都有吧,准备好uboot.bin文件

处理基本寄存器的部分

说明这里海思是利用了excel表格来成功bin文件的,打开 uboot-Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.xls文件,修改里面2处地方:
  切换到ddrc_init table
      DDRC_RNKCFG改成0x142 
      DDRC_TIMING1改成0xFF637A6A    
  切换到main table  ->  点击generate reg bin file
  将uboot.bin cp到当前目录,使用命令:


./mkboot-hi3520d.sh reg_info_hi3520d.bin reg_info_hi3515a.bin u-boot-hi3520d-T16063003.bin 

 生成uboot!!!

后续工作

其实后面就没有什么要特别要说的了。TFTP烧写,启动参数设置,还有测试内存有没有生效等,都是很常见的了。

后记

DDRC的寄存器很多,很不容易修改,从官方SDK用excel表格来修改就可以看出来,如何知道改怎么修改寄存器的值呢。这个我也不知道了╮(╯3╰)╭
我是从http://www.ebaina.com/bbs/thread-10333-1-1.html个帖子中了解到要改的寄存器的值的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值