| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> uboot学习 0.1 -> 正文阅读 |
|
[嵌入式]uboot学习 0.1 |
1.为什么要有uboot uboot的使用,和相关应用 环境变量和命令得连接 ddr和flash如何使用Uboot来管理, Uboot是如何来引导操作系统的? uboot是来启动操作系统内核的,操作系统无法自启动,需要uboot来帮助 典型的计算机系统有pc机,嵌入式设备有平板,游戏机,单片机设备有电视机,电饭锅 计算机系统的组成一般都是外部储存器 flash 加硬盘加cpu加内部储存器 DDR3 SRAM PC机启动过程 bios程序部署在pc机主板上(随主板机出厂已经预置了),操作系统部署在硬盘上,内存在掉电时无工作。 上电后先执行bios程序,bios程序负责初始化硬盘,初始化DDR3内存,从硬盘上读取Os镜像到DDR中,然后跳转到DDR3中去执行os直到启动。 嵌入式系统的启动过程,其实是参考pc机的,uboot程序部署在flash(能支持flash启动的cpu上),os部署在flash上,嵌入式系统中没有硬盘,用flash代替. 系统上电后先执行uboot,然后uboot来启动,负责初始化DDR,然后将os从flash中读取到ddr中,然后启动os,内核启动后,再加载根文件系统 Uboot部署内核,提供命令行给用户操作,操作flash等板子上的驱动. 2.uboot必须解决哪些问题 开机自启动, soc的多种启动方式,Uboot的开机启动必须根据soc的启动方式来设计Uboot start.S文件写了开机自启动这块。 uboot还可以刷机,通过fastboot 引导内核启动并给操作系统传参,我们可以在uboot中事先给LINUX内核设置一些启动参数,内核启动后会在特定位置找到相关参数并解析。这些参数将被用来指导linux内核的启动过程 soc级和板级,soc级就是soc内部外设,板级就是soc外设。 uboot的入口就是开机自启动,Uboot的唯一出口就是启动内核,启动内核以后,uboot的生命周期就结束了。uboot的本质是一个裸机程序,一般的Uboot在180k到350k之间,uboot这个裸机文件本质上是一个开源项目,配备,编译后会生成.bin文件。 uboot可以提供一个shell界面(和Linux很像,只是命令集不一样)比如说ls Uboot启动后大部分时间和工作都是在shell下完成的,比如说输入命令,设置环境变量。
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:43:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |