首页 > 其他分享 >Uboot基本知识

Uboot基本知识

时间:2024-03-17 20:57:35浏览次数:27  
标签:初始化 uboot 启动 基本知识 内核 linux Uboot

c参考视频:https://video.100ask.net/p/t_pc/course_pc_detail/column/p_63ff16eae4b07b055838a303 Uboot本质上就是一个裸驱  

Uboot基本概念:

uboot就是一个bootloader,作用就是用于启动linux kernel或者其他系统。uboot最主要的工作就是初始化DDR,因为linux是运行在DDR里面的。对于6ull系列,DDR初始化是由内部的boot rom来完成的,但是用的其他的cortex a芯片,一般都是uboot来初始化DDR的。 一般linux镜像zimage(uimage)和设备树存在在SD卡、EMMC、NAND、SPI FLASH等外置存储区域,这里就涉及到一个问题:需要将linux镜像从外置的flash拷贝到ddr中,然后才能启动。uboot主要目的就是为系统启动做准备(拷贝linux镜像到ddr中,配置ddr等信息) 1、uboot不仅仅可以启动linux,也可以启动系统系统,比如vxworks 2、linux不仅仅能通过uboot启动,其他的bootloader也可以使用 3、uboot是一个通用的bootloader,支持多种架构。   linux系统三要素:uboot、linux驱动、根文件系统 uboot:启动内核: 1. 读emmc,uboot有emmc驱动,读取emmc,将内核copy进内存 1.1 初始化内存 1.2 初始化其他硬件,如时钟 1.3 emmc或flash里面的内核拷贝进内存   内核:启动应用程序 1、能读写flash/emmc:驱动程序 2、能够读写文件:文件系统 3、找到启动APP   uboot = uboot.bin + 某个dtb   XIP:execute in place 原地执行 内部RAM、flash称为XIP设备 SD卡:cpu不能直接访问SD卡,SD卡为非XIP设备   为啥芯片可以支持SD卡: cpu读取,运行BROM代码,BROM copy uboot拷贝到内存里   uboot启动流程: 1、XIP设备,第一硬件初始化,第二把flash上的内核拷贝到内存,第三启动内核 2、非XIP设备,BROM将Uboot拷贝到ram,执行uboot,不再初始化内存ram   uboot为什么要驱动网卡:uboot可做调用功能,也可以网络下载 uboot里面的设备树可理解为简化版本的kernel设备树    

Uboot源码结构:

文件夹说明: board:单板相关 arch:系统架构相关,如arm、mips cmd:命令相关 fs:文件系统相关 include:头文件 lib:库文件 api:与硬件无关的API函数 driver:驱动程序 configs:配置文件夹 。。。    

标签:初始化,uboot,启动,基本知识,内核,linux,Uboot
From: https://www.cnblogs.com/lethe1203/p/18079134

相关文章

  • DAX 基本知识
    数据类型整数Integer十进制數Decimal日期时间DateTime布尔值Boolean文本String//这三个我没用过货币Currency变体Variant二进制Binary运算符() 优先计算,函数的括号,元组+日期类型也可直接加,date(2024,1,1)+1=date(2024,1,2)−*/=<>dax里面没......
  • C++基本知识梳理
    一.命名空间概念:命名空间是新定义的一个作用域,里面可以放函数,变量,定义类等,主要用来防止命名冲突.实现:namespace关键字命名空间名字{命名空间成员}注意点:1.命名空间可以嵌套使用,还可以使用inline关键字实现版本控制(inline修饰的命名空间默认展开到外一层命名空......
  • Redis基本知识
    一、什么是RedisRedis是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,用于存储键值对、缓存、消息队列、分布式锁等。二、Redis和mencached的区别相同:都是基于内存的数据库,读写都很快不同:1.Redis支持的数据类型更丰富(string、list、hash、set、zs......
  • Nginx基本知识
    一、什么是nginxNginx是高性能的HTTP和反向代理的web服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达50000个并发连接数。二、正向/反向代理正向代理:nginx作为客户端去访问服务器。反向代理:nginx作为服务器接收请求。此时反向代理服务器和目标服务......
  • linux基本知识汇总2(系统编程) 60000字汇总
    /////////////进程/任务--task任何启动并运行程序的行为,都是由操作系统帮助我们将程序转换成进程--进程:完成特定的任务进程控制块:PCB(win)/task_struct(linux)--结构体结点/内核数据结构--提取了进程的所有属性task_struct是PCB的一种在Linux中描述进程的结构体叫......
  • linux基本知识汇总1(基础命令) 20000字汇总
    linux版本号主版本号.次版本号.修正次数2.6.30--次版本号为偶数:稳定版奇数:测试版$$$$命令选项查看方式1.内建命令(help)格式:help+内建命令####help命令//命令使用说明2.外部命令(–help)一般是Linux命令自带的帮助信息,并不是所有命令都自带这个......
  • Markdown 基本知识学习
    Markdown学习标题三级标题四级标题字体HELLOWORLD!HELLOWORLD!HELLOWORLD!HELLOWORLD!引用选择C4D制作动画,让创作更加简单分割线图片超链接[点击跳转到狂神博客](广告设计必备:Banner的涵义和设计专家建议!-哔哩哔哩(bilibili.com))列表ACABC......
  • 基本知识笔记
    浮点数到定点数:【CO101】计算机组成原理笔记1——定点数转单精度浮点数(SEM)_定点转浮点原理-CSDN博客原码、补码、反码笔记:Verilog--有符号与无符号的加法和乘法运算_veriloga+b=c-CSDN博客是计算机中对数字的二进制表示方法。原码:将最高位作为符号位(0表示正,1表示负),其它......
  • (算法)快速幂运算和取模的基本知识
    引子:在高精度中的麦森数中运用到了快速幂运算求一个数的多少次方可以用到快速幂,原理a^11=a^1*a^3*a^8,而为什么是拆成1,3,8而不是其他的呢,是因为11转化为二进制码是1011,这就分别对应了他的权重,有了这个基本知识后,执行这种类似的运算就可以大幅度减少时间。实现这个代码还需要用到位......
  • 01_传感器基本知识
    1传感器的静态特性⭐⭐⭐1.1定义⭐⭐⭐【19,20,21】传感器在被测量的各个值处于稳定状态下,输入量为恒定值而不随时间变化时,其相应输出量亦不随时间变化,这时输出量与输入量之间的关系称为静态特性数学模型:\(y=a_{0}+a_{1}x+a_{2}x^{2}+\dots+a_{n}x^{n}\)情况分类:①理想线性......