全志A13折腾备忘

这篇博客详细介绍了A13 SOC使用UBoot-with-SPL启动的过程,包括uboot的两个版本区别、烧录方法以及内核配置。作者提到了DDR3内存的初始化问题,并分享了解决经验,指出只要注意等长和阻抗控制,DDR3的初始化是可行的。最后,作者解决了内核与不同内存大小匹配的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动过程:

uboot-with-spl  --> kernel --> os

其实主要是uboot-with-spl这一块,根据OLinuXino的说法,uboot分为两类,sunxi uboot;mainline uboot,分别是全志和uboot官网的2个版本。在文档里只说了支持的内存不同,sunxi uboot 适用于现代内存,主线支持三星和现代两种。

从OLinuXino的文档来看,直接编译Uboot就出一个uboot-with-spl可以了,但有的文档说是编译出2个文件来(spl uboot).

烧录到tf卡方法:

sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8

应该是A13 SOC片上的ROM启动过程会尝试读取tf卡的最开始部分扇区来获取启动设备,当然如果把uboot当成用户自定义程序也是可以的,SOC片上48k RAM应该也能干点事,只不过有DDR3,能跑Linux更好。

 Uboot 通过下面命令配置一个boot.scr文件,用于配置加载内核和内核参数(script.bin)文件。

Now you have to create a new boot.cmd file with the following contain

setenv bootm_boot_mode sec
setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10
load mmc 0:1 0x43000000 script.bin || load mmc 0:1 0x43000000 boot/script.bin
load mmc 0:1 0x42000000 uImage || load mmc 0:1 0x42000000 boot/uImage
bootm 0x42000000

convert boot.cmd in boot.scr with the next command

# mkimage -C none -A arm -T script -d boot.cmd boot.scr
 
The result should be a new boot.scr file that you have to copy to the first SD card partitition(where uImage and script.bin file are located)

实际内核只需要存在tf卡的第一个分区(FAT32)就可以了。有了内核,后续的就好办了。

先准备uboot部分吧,等周末看板子能打出来不,DDR3走线感觉未必能正常初始化得了,但很难说。如果初始化DDR3过了,那以后做板子就好玩多了。

2022.07.03 

DDR3初始化过了,一次性搞定,看来只要注意等长以及阻抗稍微做控制,MCU和DDR芯片预留的裕量还是很足的,我自己单端走线算出来阻抗59欧,而且还有不少过孔换层到背面走线的,背面参考的可是电源层,不是GND。确实是裕量很足。

DDR3过了,但是按照老文档编译uboot和内核起来要跑飞的,因为参考的olimex板子固件是256MB内存,我自己换的512MB颗粒。直接去下了512MB的模块对应的新版本镜像dd到tf卡就正常了。

Index of /release/a13icon-default.png?t=M5H6http://images.olimex.com/release/a13/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值