作者:GWD 时间:2019.8.21

第一节:u-boot分析之编译体验

一、Bootloader简介

1、BootLoader的引入:
bootloader就是一小段程序,系统上电后开始执行,初始化硬件设备、准备好软件环境、最后调用操作系统内核。Bootloader的实现非常依赖具体硬件,嵌入式系统中计时相同的CPU,它的外设也千差万别。
2、BootLoader的启动方式:
CPU上电后,会从某个地址开始执行,ARM结构的CPU从地址0x00000000开始。BootLoader有启动加载、下载两种模式

二、BootLoader的结构和启动过程

1、嵌入式Linux系统从软件角度可以分为以下4个层次
(1)、引导加载程序:BootLoader是上电后执行的第一个程序;
(2)、Linux内核:
(3)、文件系统:

(4)、用户应用程序:用户应用程序存储在文件系统中,有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面,常用的嵌入式GUI有,Qtopia和MiniGui等,在存储设备上有相应的分区来存储他们

三、BootLoader与内核的交互

1、

2、

3、设置命令行标记

四、常用BootLoader介绍


五、补丁文件分析:
1、–表示以前的文件,++表示修改之后的文件

2、问:将补丁打到哪里呢?
答:—后面的就是,由于我们已经在u-boot目录中了,所以我们应该忽略掉第一个路径之前的路径,用-p1命令。


3、编译后得到bin文件

4、烧写之后会有u-boot启动菜单

5、U-BOOT的目的是启动内核

6、U-BOOT功能

韦东山衔接班——1.1_u-boot分析之编译体验相关推荐

  1. 韦东山衔接班——4.4_构建根文件系统之构建根文件系统

    文章地址: https://blog.csdn.net/gongweidi/article/details/100086289?biz_id=102&utm_term=%E9%9F%A6%E4 ...

  2. 韦东山衔接班——1.4_u-boot分析之源码第二阶段

    作者:GWD 时间:2019.8.22 目的:怎么读出内核和启动内核 1.UBOOT读写nand 2.环境变量初始化board.c 3. 4.接下来分析main_loop 注:很多#ifndef这类代 ...

  3. 韦东山衔接班——1.2_uboot分析之Makefile结构分析

    作者:GWD 时间:2019.8.21 一.分析Makefile的配置过程 (从输入配置命令到创建config.h头文件的过程): 1.顶层Makefile中执行100ask24x0_config后就 ...

  4. 韦东山衔接班——4.2_构建根文件系统之init进程分析

    作者:GWD 时间:2019.8.25 Busybox的引入 根文件系统中有很多命令,命令就相当与一个应用程序,若一个一个编译很麻烦,linux中有一个busybox.当我们执行ls时候就相当于执行了 ...

  5. 韦东山衔接班——3.4_linux内核启动流程分析之内核启动

    作者:GWD 时间:2018.8.25 一.汇编部分到第一个C之前准备 1.问:内核的工作 答 2.问:为什么有两个head.S 答:其中一个是自解压代码,运行时先解压内核 3.uboot中将参数写入 ...

  6. 韦东山衔接班——4.3_构建根文件系统之busybox

    作者:GWD 时间:2019.8.26 注:Linux中交叉编译用CROSS开头 配置编译busybox 1.解压busybox 2.make menuconfig出现配置菜单 在readme或者in ...

  7. u-boot分析之编译体验(零)

    目录 u-boot分析之编译体验 1. 嵌入式系统与pc系统的启动对比概述 2.如何应用补丁文件生成uboot.bin文件,步骤: 3. uboot里要实现的功能 3.1 uboot最终目的是启动内核 ...

  8. 内核启动流程分析(一)编译体验

    目录 2.打补丁 3.配置 总结 配置方式 配置体验 4.编译 链接 链接脚本 5.烧写内核 1.总体概述 2.打补丁 解压 tar xjf linux-2.6.22.6.tar.bz2 打补丁,ca ...

  9. 鸿蒙系统移植imx6dl,韦东山鸿蒙系统移植课程:在IMX6ULL上体验鸿蒙系统

    请先下载以下文件,里面含有烧写软件: 鸿蒙内核Liteos-a的官方代码目前只支持海思的芯片,我作为首批开发者入驻华为一个多月,成功在100ASK_imx6ULL上移植了Liteos-a. 本文先让大 ...

最新文章

  1. node web模块 (服务器端和客户端)
  2. 17. 搭建FTP服务端
  3. [MIPS汇编语言]简单排序实现
  4. oracle 方言报错,ORACLE11g:No Dialect mapping for JDBC type: -9解决方案详解
  5. ViewResolvers
  6. 设计一个可扩展的用户登录系统
  7. 【DDD/CQRS/微服务架构案例】在Ubuntu 14.04.4 LTS中运行WeText项目的服务端
  8. 关“视觉神经系统是怎么形成的?”的思考
  9. python 函数式编程 库_使用Python的toolz库开始函数式编程的方法
  10. 身上的WZSZF01重担开始减轻
  11. 第 8 天 多线程与多进程
  12. Pascal VOC2011落下帷幕
  13. 如何在 GitHub 上面精准搜索开源项目?
  14. suitecrm上传附件限制修改
  15. (九)ThunderbirdMail配置QQ邮件服务
  16. 单链表之寻找中间结点
  17. iOS微信网页长按图片问题解决
  18. Visual Studio 2005 注册码
  19. 北邮信通2023大一下数据结构题目(含代码)
  20. Java对接bacnet

热门文章

  1. js倒计时结束后播放音乐html5,倒计时到HTML5视频结束(Countdown to the end of the HTML5 video)...
  2. 制作自己的segnet数据集_语义分割【论文解读】经典网络SegNet 值得仔细反复阅读...
  3. 【自我修炼】 大疆技术总监对于大学生学习机器人工程师路线建议 ( 大一 篇)
  4. 用python画个简易版圣诞树
  5. NX二次开发 布尔运算 UF_MODL_unite_bodies_with_retained_options 布尔加
  6. Signals和Slot的使用
  7. OpenCV的级联分类器训练
  8. 线性表基本操作,单链表的建立(头插法,尾插法)、插入、删除、遍历操作的实现(c++ 数据结构 实验二)
  9. 基于布谷鸟优化的BP神经网络(预测应用) - 附代码
  10. 3个空间互不平行的平面,其交点推导公式