【嵌入式】飞凌ok335x board之uboot编译初体验

本文详细介绍了在飞凌OK335XBoard上使用U-Boot的过程,包括对TI AM3354处理器的支持,U-Boot的编译流程,以及如何生成和使用U-Boot命令。

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

飞凌官方对其提供的uboot的介绍少之又少。
前天在西安诺瓦电子科技听过一场关于嵌入式bootloader的交流会,总算对arm uboot增加了一定了解。回来针对自己手头飞凌的板子,体验一番~

  1. ok335x board介绍
    ok335x board上核心处理器采用的是TI德州仪器AM3354,属于Cortex-A8架构。性能中等,主要应用于高端玩具,家用电子设备,电力网关等设备。

  2. uboot介绍
    这里研究飞凌厂商只提供了2011-09版本的uboot。源码从二手网站获得。嵌入式中使用最广泛的引导程序就是uboot,一般位于FLASH中较为靠前的分区。

  3. 实践
    进入根目录,查看到相关文件:
    uboot根目录下文件
    显然,compile.sh用于按照Makefile的规则编译生成镜像文件或二进制文件。还有几个重要的文件夹,它们分别是arch,board,common,drivers。

arch文件夹里重点在于arm中cpu目录:
arm-cpu目录
可以看到支持armv7架构,当然armv7包括cortex-A8。

board文件夹下支持ti的AM335x系列:
board-ti目录

uboot中常用的命令是如何生成的呢,且看common目录:
common目录
这些C文件中均包含了一个通用的宏定义UBOOT_CMD,命令格式如下:

U_BOOT_CMD(name,maxargs,repeatable,command,“usage”,“help”)
引用一下大神的解释:

   name:命令名,非字符串,但在U_BOOT_CMD中用“#”符号转化为字符串
   maxargs:命令的最大参数个数
   repeatable:是否自动重复(按Enter键是否会重复执行)
   command:该命令对应的响应函数指针
   usage:简短的使用说明(字符串)
   help:较详细的使用说明(字符串)

这样就把命令名name和函数名command联系在一起了。

再看下drivers dir:
driver目录
处理器上电加载uboot开始就支持这些设备了。

最后不要忘记configs配置信息,飞凌写在了makefile中:
不同板子配置信息

在make之后,叮咚,编译完成:
编译效果
可以看到生成了一个uboot文件夹以及u-boot.bin, u-boot.img, u-boot.lds, u-boot.map, u-boot.srec五个文件。
编译过程背后的细节还请研究下makefile吧

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cerman

你的鼓励是探索和创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值