系统移植篇四--uboot移植

  • 一、uboot源码结构
    • 1、uboot源码获取
    • 2、uboot特点
    • 3、uboot源码结构
  • 二、uboot的配置与编译
    • 1、uboot配置
    • 2、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源码的顶层目录下执行

到这里就结束啦!

【Linux】系统移植篇四--uboot移植相关推荐

  1. imx6ull移植Linux系统第二篇——Linux内核的移植

    imx6ull移植Linux系统第二篇--Linux内核的移植 花了大概两周的时间,把Linux的移植认真学了一遍,期间踩了不少坑,花费了不少时间去解决各种奇奇怪怪的问题,最终完成了uboot.系统镜 ...

  2. 嵌入式Linux系统中打印机驱动的移植

    一.开发环境 硬件环境:DM365 打印机型号:HP P1007 虚拟机系统:Red Hat Enterprise Linux 5 交叉编译环境:Ti交叉编译环境安装包 二.详细步骤 1.下载Ghos ...

  3. 学着学着Linux系统写篇心得

    2019独角兽企业重金招聘Python工程师标准>>> 学着学着Linux系统写篇心得 本学期对于linux系统的学习,和自己买的一本<linux就该这么学>这本书,让我 ...

  4. Linux系统编程(四)信号

    Linux系统编程(四)信号 一.什么是信号? 1.信号的本质 2.信号来源 硬件来源 软件来源 二.常见信号 1.可靠信号和不可靠信号 2.不可靠信号主要有以下问题: 3.可靠信号与不可靠信号注册机 ...

  5. linux mpc boot 串口初始化,uboot移植阶段二--3串口终结篇

    2011-03-20 23:00:37 前天U-boot移植串口后,能成功显示数据. 今天的主要目的是再次进行U-boot移植.看是否成功.花了40分钟,很顺利. 接着就是要把之前有问题的U-boot ...

  6. MT7621_移植篇(3) uboot编译+配置项分析

    U-Boot("通用引导加载程序",通常简称为U-Boot)是一种开源的主引导加载程序,用于嵌入式设备中打包引导设备操作系统内核的指令.它可用于多种计算机架构,包括68k.ARM. ...

  7. tiny4412学习(一)之从零搭建linux系统(烧写uboot、内核进emmc+uboot启动内核)

    硬件平台:tiny4412 系统:linux-3.5-20151029 文件系统:busybox-1.22.1.tar.bz2 编译器: arm-linux-gcc-4.5.1 目的: 使用uboot ...

  8. Linux系统入门篇(4)- Linux目录简介

    文章目录 前言 一./boot 二./boot/efi 三./ 1. /bin- 所有用户的二进制命令目录 2. /etc - 配置文件目录 3. /dev - 设备文件目录 4. /proc - 进 ...

  9. 嵌入式Linux文件提取,嵌入式 Linux系统编程(四)——文件属性

    嵌入式 Linux系统编程(四)--文件属性 一.文件属性概述 Linux 文件的属性主要包括:文件的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.文件属性示例如下 ...

  10. linux系统第一篇(Linux系统入门介绍)

    Linux发展史 1.1操作系统是什么 操作系统(Operating  System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是配置在计算机硬件上的第一层软件,其他任何软件都必须在操作 ...

最新文章

  1. ArcServer for Java 讲座
  2. python创建csv文件并写入-【已解决】Python中创建和保存数据到csv文件中
  3. 《Java并发性和多线程介绍》-Java TheadLocal
  4. rmlv出错处理一例
  5. “超人”助阵,IE静音很简单
  6. 华为n3计算机在哪里,在华为nova3i中连接电脑的两种方法介绍
  7. 线性模型第3讲:Lasso方法
  8. 终于把W32.Spybot.Worm给消灭了(这个标题不能用了)
  9. 【C语言】猜拳小游戏代码实现
  10. 小布老师Oracle 9i DBA Fundamentals I视频讲座
  11. 总结:86版五笔输入法
  12. 计算机键盘快速指南,MagicBook热键/功能键切换指南,快捷键介绍
  13. nginx的配置优化
  14. 第一种单击事件方法 onCreate 1、先在按钮中添加onCreate单击事件 android:onClick=wlj/ 2、再在主函数MainActivity中添加自定义方法
  15. 《码农翻身》各章节阅读链接
  16. 【K-近邻】K-NN 实战分析 Facebook V Results: Predicting Check Ins
  17. python操作浏览器滚动条_python selenium webdriver处理浏览器滚动条
  18. 对坐标的曲线积分求做功_对坐标的曲线积分对弧长的曲线积分 二重积分
  19. OceanBase发布“珊瑚计划”,让合作伙伴成为OceanBase成功的关键
  20. Python实战:导出聊天记录分析你和你的对象聊了什么

热门文章

  1. 从实战进阶系列之DNF脚本实战
  2. 吃鸡ios和android灵敏度,吃鸡手游pc版怎么调灵敏度参数教程 | 手游网游页游攻略大全...
  3. Android 签名文件的sha1值查看
  4. IOS开发之——AFN-文件下载(03)
  5. 如何安全的使用密码登录账号(在不知道密码的情况下)
  6. AD9的PCB技巧——CAD的导入
  7. Linux程序设计-1-Linux基础
  8. QTP基础教程(讲义)《软件测试技术》
  9. Java语言开发的开源商城系统——Javashop简介
  10. PADS——导出Gerber文件