【Linux】系统移植篇四--uboot移植



前言:本篇主要介绍uboot的一些结构与相关配置,uboot是一款免费开源的芯片启动软件,代码完全开源,由于需要支持不同的芯片,导致代码内容庞大,因此对于初学者我们只需要知道其怎么配置移植就行了,不用关心具体实现,在往后工作中也会有芯片公司直接提供配置好的uboot文件。

关于华清远见的FS4412开发板uboot的配置下载:https://download.csdn.net/download/qq_51447215/85320025

一、uboot源码结构

1、uboot源码获取

  • uboot源码下载
    http://www.denx.de/wiki/U-Boot/
  • uboot版本命名
    前期:uboot-版本号
    现在:uboot-时间
  • uboot版本选择原则
    支持对应的硬件平台
    相对成熟的版本(资料多)

2、uboot特点

  • 代码结构清晰
  • 支持丰富的处理器与开发板,易于移植
  • 支持丰富的用户命令
  • 支持丰富的网络协议
  • 支持丰富的文件系统
  • 支持丰富的设备驱动
  • 更新活跃、用户较多、资料丰富
  • 开放源代码
  • 较高的稳定性
  • 不具有通用性(不同的处理器、开发板uboot不可通用)

3、uboot源码结构

平台相关代码

即与CPU架构或开发板硬件相关的源码,硬件的改动对应的代码也需要进行修改

  • arch : 与CPU架构相关的源代码
  • board : 与开发板相关的源代码,包含各种官方评估板对应的源码

平台无关代码

每个CPU通用代码,与CPU架构无关

  • api: 应用接口
  • common: uboot命令源码
  • disk: 对磁盘设备的支持
  • drivers: 设备驱动源码
  • fs: 对文件系统的支持
  • include: 头文件
  • lib: 库
  • net: 对网络协议的支持
  • post: 上电自检程序

其它

配置文件、帮助文档、示例程序、工具等

  • README: 说明文档
  • doc: 帮助文档
  • Makefile: 编译管理
  • CREDITS: 开发者
  • COPYING: 版权
  • examples: 示例程序
  • tools: 工具

二、uboot的配置与编译

1、uboot配置

  1. 指定当前使用的硬件平台

make <board_name>_config

注1:<board_name>为当前使用的开发板的名字
注2:执行该命令的前提是uboot源码支持该开发板
注3:该命令必须在uboot源码的顶层目录下执行
  1. 指定编译uboot源码使用的编译器(arm或x86)
    在uboot源码顶层目录下的Makefile中指定(CROSS_COMPILE变量)

2、uboot编译

  1. 编译uboot

make

注1:该命令必须在uboot源码的顶层目录下执行
注2:该命令执行后在uboot源码顶层目录下生成u-boot.bin
  1. 清除编译过程中生成的中间文件

make clean
make distclean

注1:该命令必须在uboot源码的顶层目录下执行

到这里就结束啦!
在这里插入图片描述

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

修成真

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值