lv12 uboot源码配置编译 8

2023-12-17

目录

1 uboot源码获取

2 uboot特定

3 uboot源码结构

3.1 平台相关代码

3.1.1 arch

3.1.2 board

3.2 平台无关代码

3.2.1 common下放的都是uboot的命令

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

4 uboot配置

5 uboot编译

5.1 编译uboot

5.2 清除编译过程中生成的中间文件


1 uboot源码获取

uboot源码下载

http://www.denx.de/wiki/U-Boot/

uboot版本命名

前期:uboot-1.2.3

现在:uboot-2008.01

uboot版本选择

支持对应的硬件平台    (一般选择与硬件芯片年份差不多的uboot)

相对成熟的版本(资料多)

2 uboot特点

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

3 uboot源码结构

3.1 平台相关代码

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

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

3.1.1 arch

我们开发板需要的是armv7

3.1.2 board

不过找不到我们的开发板,不可能把所有公司的开发板都包含,主要是评估板,我们可以在官方评估板origen中修改即可使用,(找官方与4412相关的)

3.2 平台无关代码

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

3.2.1 common下放的都是uboot的命令

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

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

前期只需要了解结构会用,并不需要去会写uboot

4 uboot配置

指定当前使用的硬件平台

make <board_name>_config 

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

示例

5 uboot编译

5.1 编译uboot

make     

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

注2:该命令执行后在uboot源码顶层目录下生成u-boot.bin

示例:

注意一定要是顶层的makefile编辑

选择编译器

让条件成立

执行make(只编译与origin相关的代码)

5.2 清除编译过程中生成的中间文件

make clean     

make distclean      //删除所有

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

可以删除生成的.o的中间文件删除,但是最终u-boot不会删除

6 练习

uboot特点?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lv12 uboot源码配置编译 8 的相关文章

  • 01_I.MX6U芯片简介

    目录 I MX6芯片简介 Corterx A7架构简介 Cortex A处理器运行模型 Cortex A 寄存器组 IMX6U IO表示形式 I MX6芯片简介 ARM Cortex A7内核可达900 MHz 128 KB L2缓存 并行
  • linux的应用线程同步与驱动同步机制

    同步机制 在 Linux 应用程序和内核中的驱动程序中 有一些常见的同步机制用于实现线程或进程之间的同步和数据访问保护 下面是它们的一些主要机制 Linux 应用程序中的同步机制 互斥锁 Mutex 用于保护共享资源 确保只有一个线程可以访
  • ov5640 PLL时钟、图像大小、帧率寄存器配置

    不同像素和时钟的ov5640摄像头寄存器配置方法 配置摄像头寄存器 网上没有明说的 参考正点原子的文档进行介绍 像素大小配置 0x3801 0x3807 设置ISP大小 0 0 2631 1951 0x3808 0x380B 设置输出图像大
  • TQ210烧写uboot secureCRT和minicom都没有信息输出

    前几天一直在纠结TQ210烧写uboot 串口没有信息打印信息输出 结果又是这样的 说明波特率 串口号都是正确的 开发板一上电 按住空格键 结果还是一样 本以为是这个软件是破解版 有BUG 好 切换到LINUX 使用minicom 试试 还
  • 海思3559:uboot顶层Makefile分析

    顶层Makefile的内容主要结构为 确定版本号及主机信息 实现静默编译功能 设置各种路径 设置编译工具链 设置规则 设置与cpu相关的伪目标 需要注意的是 结构顺序并不代表代码执行顺序 1 确定版本号及主机信息 VERSION 2016
  • 关于/dev/console的个人理解

    嵌入式开发里 首先需要配置一个串口 用于打印printk信息到控制台 以2440为例 这里的 dev console 设备号 5 1 就是控制台 用于printk信息输出到的设备 但是呢 dev console是个虚拟设备 他需要映射到真正
  • X210开发板(S5PV210芯片)uboot中SD卡分区分析(init_raw_area_table函数)

    1 init raw area table函数调用关系 start s start armboot mmc initialize mmc init mmc startup init raw area table 2 struct raw a
  • 在ubuntu20.04上安装arm-linux-gcc 4.4.3

    1下载地址 http www friendlyelec com cn download asp 2 将 arm linux gcc 4 4 3 tar gz 拷贝到 bin目录 无法拷贝怎么办 出现这种情况是 Linux 拷贝文件时权限不够
  • Unity(纯C语言单元测试框架!不是那个Unity3d)入门文档

    译者注 译者博客 http blog csdn net lin strong 转载请保留这条 此为Unity手册的翻译 仅供学习交流使用 请勿用于商业用途 翻译的资料是公开的 在docs UnityGettingStartedGuide m
  • 【电赛-软件】CCS安装教程

    CCS安装教程 下载 下载地址 下载地址 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img WhFWuuUy 1679146802762 ccspicture ccs download png 选择第二个CCSTU
  • ARM架构学习(二)——流水线

    本期主题 ARM流水线 往期地址 ARMv7架构学习 ARM流水线 1 流水线概念 2 指令的分解步骤 1 流水线概念 硬件资源总是有限的 有一个明显的方法能改善硬件资源的利用率 这就是pipeline 流水线 技术 其实就是在当前指令结束
  • Linux下uboot编译出错(/bin/bash: arm-none-linux-gnueabi-gcc: command not found )

    unboot压缩包解压 tar xz 在终端进入解压目录 xz d tar xz tar xvf tar 向Makefile添加编译路径 在makefile的开头添加本机的编译路径 ARCH arm CROSS COMPILE opt fs
  • 定时器详解

    1 什么是定时器 timer 定时器实际上就是Soc当中的一个内部外设 1 定时器与计数器 定时器常与计数器扯到一起 计数器也是soc当中的一个内部外设 计数器顾名思义是用来计数的 就和我们的秒表一样 秒表实际上就是一个计数器 每隔一个单位
  • 为什么使用 uImage 而不是 zImage

    我正在尝试了解 zImage 和 uImage 之间的区别 以我的理解uImage是通过运行得到的mkimage on the Image结果它添加了一个 U Boot 包装器 我不知道它到底包含什么 其中包含header加上加载地址和入口
  • 实现自定义 u-boot 命令

    我想添加自定义命令命令u boot可以是一个简单的 hello world 命令 搜索后我发现了这个链接Yocto u boot 自定义命令它说看的地方timer命令输入cmd misc c作为起点 我怎么带这个timer命令到我的 u b
  • lv12 交叉编译工具链 7

    目录 1 交叉编译 1 1 镜像来源 1 2 编译原理 1 3 编译过程 编辑 1 4 交叉编译 1 5 交叉编译工具链获取 2 ELF文件格式 编辑3 BIN文件格式 4 交叉编译工具链常用工具 4 1 size命令举例 4 2 rm命令
  • <sa8650>sa8650 CDT-之-汽车CDT配置用户指南(上)

    sa8650 sa8650 CDT 之 汽车CDT配置用户指南 上 2 CDT概述 2 1 Platform ID值 2 2 CDT一般结构 2 3 CDT头 2 4 块元数据 2 5 CDBs 2 6 加载CDT的启动过程
  • 移植useradd到嵌入式Linux设备

    友情提示 前面一大段描述的是在老版本Ubuntu14 4交叉编译新版本shadow 过程曲折 没有结果 分割线后面一段是重新换了一个较老版本shadow 4 4 过程丝滑 结果喜人 诸君如耐心有限可直接划拉至分割线后部分内容 对于其他程序的
  • 为什么补丁找不到这个文件?

    我想对 u boot 源代码应用补丁 但是 Linux 不允许我这么做 我拥有的 reg ubuntu NextGen trunk FW thirdparty u boot patch p1 lt u boot u boot 2013 01
  • 基于 BBB DT 的方法

    我已经使用平台设备模型成功为我的自定义协议实现了基于 GPIO 的驱动程序 我想使用设备树方法升级它 因此 对于初学者来说 我有一个 beaglebone black 并且我使用在 uboot 控制台消息显示期间启用和验证的设备树配置交叉编

随机推荐