你将收获

本课程为uboot和系统移植阶段的第一部分,适合有一定嵌入式学习基础(譬如学完了裸机全集和C语言高级篇),需要继续学习uboot和系统移植的同学。

适用人群

中高级研发工程师

课程介绍

本期课程为uboot学习的前导课程,主要目标是向大家引入uboot并让大家学会使用uboot,包括uboot的工作方式、环境变量、常用命令、uboot和主机的网络连接等。学完本课程将可以使用uboot(虽然还不懂原理)

课程讨论

通过配置环境变量解决内核不启动的问题 第19分钟;非常好,有实际的用途!

实际怎么连线?

同学笔记

  • weixin_33519787 2020-02-21 15:01:42

    来源:2.1.2.为什么是uboot 查看详情

    2.2.1 为什么要有uboot

    2.2.1.1 计算机系统的主要部件
    (1)计算机系统就是有CPU来做核心进行运算的系统,典型的计算机系统:PC机(台式机+笔记本 )
    、嵌入式设备(手机,平板电脑,游戏机)、单片机(家用电器电话煲,空调)
    (2)计算系统的组成部件非常多、不同的计算系统组成部件也不同。但所有的
    计算系统需要运行时需要的主要核心部件是:CPU、外部存储器(flash、硬盘)+内部存储器(DDR、SDRAM/SRAM)
    2.2.1.2 PC机的启动过程
    (1)典型的 PC机部署:BIOS程序部署在PC机的主板上面(随主板出厂时已经预制了),操作系统
    部署在硬盘上,内存在掉电时我无作用。CPU在没上电的时候是不工作的。
    (2)启动过程:pc上电后先启动BIOS程序(实际上PC的BIOS就是NORflash),BIOS负责初始化DDR内存,
    负责初始化硬盘,然后从硬盘中将OS镜像读取加载到DDR中,然后跳转到DDR中取执行OS知道启动,
    OS启动之后BIOS就退出无用了。

    2.2.1.3 典型的嵌入式Linux系统的启动过程
    (1)嵌入式的部署和启动都是参考PC机的
    (2)典型的嵌入式系统的部署:uboot程序部署在flash(能作为启动设备的flash)中,os部署在flash中。
    嵌入式中用flash代替了硬盘,内存在掉电时我无作用。CPU在没上电的时候是不工作的。
    (3)启动过程:嵌入式上电后先执行uboot,uboot负责初始化DDR,初始化flash,将OS从flash中读取到DDR中
    启动OS,OS启动之后uboot将退出。

    总结:嵌入式的启动过程和PC的启动过程几乎一样,只是BIOS换成了Uboot,硬盘换成了flash

    2.2.1.4 android系统的启动过程
    (1)android系统启动和linux系统启动几乎一样,前面完全一样,只是在内核加载根文件系统不一样。
    (2)启动可以分为2个阶段:第一个阶段是uboot启动os,第二阶段os启动后到rootfs加载到命令执行
    2.2.1.5 总结ubott到底是干嘛的
    (1)uboot主要作用是用来启动os
    (2)uboot负责部署计算机系统
    (3)uboot操作flash等主板上的硬盘驱动
    (4)uboot提供一个命令界面供人操作

没有更多了