基于OMAP-L138电路板的U-boot移植

本文档详细介绍了如何将u-boot-2011.03移植到基于OMAP-L138的GCBoard开发板上,重点讨论了移植过程中的关键步骤,包括初始化流程、配置修改、驱动适配以及解决SPI Flash检测问题,旨在帮助开发者顺利完成U-boot移植。

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

最近参加了一个项目,主板采用的是TI的OMAP-L138,为了引导linux内核,准备采用u-boot作为bootloader。在搜集资料的过程中发现关于移植u-boot到基于OMAP-L138电路板的资料非常少,而且TI的OMAP-L138采用三级boot,比其他单arm9核的SOC要复杂的多,因此纠结了很长时间。好不容易参照hawkboard的配置把u-boot-2011.03移植到我们的板子(gcboard)上,在此记录下我的一点经验,希望能对后来者有所帮助。


step 1.移植准备
u-boot-2011.03 已经包含了对hawkboard开发板的完整支持,这是一款基于OMAP-L138的开发板,它的外设主要有:
1)128MB DDR2 SDRAM
2)128MB NAND Flash
3)一个标准RS232串口
4)一个10M/100M高速网卡
而我们的项目所用的开发板与hawkboard主要的区别在于没有nand flash,多了一块SPI flash(采用STMicro公司的M25P128,)
移植u-boot主要是为了在开发初期调试内核,文件系统,后期一般他只需要做适当的初始化,再引导内核就可以了,所以移植需要关注的基本就是这些。
为了熟悉程序结构,首先使用hawkboard的默认配置对uboot进行编译:
make hawkboard_config
make
编译完成后可以看到在主目录下生成了uboot.bin文件,为了方便分析,使用如下命令将其反汇编:
arm-linux-objdump -D -m arm u-boot > u-boot.asm
利用u-boot.asm 和 system.map,u-boot.lds这三个文件,再配合源代码,我们可以很容易的分析程序流程:
首先看u-boot.lds文件,它指定了程序链接顺序,在最初几行我们可以看到:init_sequence

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SEC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值