以官方uboot移植uboot(start.S移植)

本文详细记录了在官方uboot移植过程中遇到的供电锁存与串口打印问题,以及uboot未成功跳转到lowlevel_init的原因和解决方法。主要涉及修改u-boot.lds链接脚本和避免lowlevel_init.S重复定义的Makefile调整。
摘要由CSDN通过智能技术生成

(1)添加供电锁存

//添加供电锁存
ldr r0, =0xE010E81C
ldr r1, =0x301
str r1, [r0]

在这里插入图片描述
(文件路径board/samsung/goni/lowlevel_init.S )

(2)添加串口打印O

//添加串口打印O
ldr	r1, =0x4f4f4f4f
ldr r2, =0XE2900820
str	r1, [r2]		@'O'
mov	pc, lr

在这里插入图片描述
(文件路径board/samsung/goni/lowlevel_init.S )

碰到的问题:烧录uboot执行后发现uboot没有成功的跳转到lowlevel_init中。

原因:uboot链接的时候把lowlevel_init.S链接到了uboot启动的第二阶段

解决方法:

(1)修改u-boot.lds链接脚本,将lowlevel_init.S链接到uboot启动的第一阶段

(2)方法

原先的链接脚本
在这里插入图片描述
修改后的链接校本
在这里插入图片描述

问题:编译报错,报错提示lowlevel_init.S重复定义

原因:因为uboot编译时已经链接了一次,到uboot链接脚本是又链接了一次,所以提示了重复定义

解决方法:修改编译lowlevel_init.S的Makefile,让lowlevel_init.S只编译不链接

原先的Makefile
在这里插入图片描述
修改后的Makefile
在这里插入图片描述

移植结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值