uboot从入门到精通

uboot从入门到精通旨在总结自身经验,记录实验过程以及启示初学者少走弯路。教程共分为3个部分:

第一部分 基本原理与框架解析,主要阐述嵌入式bootloader原理以及uboot框架。

第二部分 uboot初级移植,主要讲解uboot初级移植方法和实验

第三部分 uboot源码解析及深入移植,主要讲解uboot的

第一部分 基本原理与框架解析

软件分层软件设计的主要思想,系统软件也不例外。从硬件上电开始到硬件把控制权交给约定好的第一条指令开始,系统软件的生命即开始了,那么这第一条指令逻辑上都属于boot指令,也就是负责启动的系统软件,boot本身可以是操作系统的一个部分,但是逻辑上一定是独立的,也可以是完全单独体系的一个软件,这时候boot软件不仅要完成boot功能,而且要有加载操作系统或者说更高层软件的能力,这个功能叫做loader,所以大体上系统上电运行的第一个软件即是bootloader,它基本的功能就是:初始化必须的硬件,之后加载操作系统内核。当然像uboot此类的软件,当中有许多丰富易用的功能。此时,我们在这里强调两点,第一,硬件怎么找到bootloader的第一条指令的呢?我们知道,不同系统间通信或者说交互肯定要有协议,当然协议可大可小,小到可能是一个变量,大道可能有严格的时序要求,bootloader和硬件之间也有协议,一般来说,高级处理器都会提供多种boot接口,目的是丰富系统boot能力,大体上的情况是,处理器会规定好从什么地址开始执行,比如地址0x0,同时提供了能够使booloader得到执行的一些方法,比如复制指定存贮器的某些内容进入内存并开始执行,或者提供存储器映射到某个地址的能力等等。总之,硬件上电开始执行的代码,bootloader是已知的,通过处理的手册即可知道。第二,bootloader是怎么和操作系统沟通的呢?如同第一个问题,bootloader和操作系统内核之间也是有协议的。比如,uboot在内存指定的位置给linux内核传递参数,这个位置也是约定好的。待续~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值