
UBOOT
wowRicky
其实我是代码滴搬用工;
C4 Picasso, my favorite car.
展开
-
uboot引导kernel - 4 ->gd bd详解
gd 定义定义了一个全局变量名字叫gd,这个全局变量是一个指针类型,占4字节。用volatile修饰表示可变的,用register修饰表示这个变量要尽量放到寄存器中,后面的asm(“r8”)是gcc支持的一种语法,意思就是要把gd放到寄存器r8中。为什么要定义为register?因为这个全局变量gd(global data的简称)是uboot中很重要的一个全局变量,这个gd在程序中经常被访...原创 2018-10-23 00:01:52 · 2080 阅读 · 0 评论 -
uboot引导kernel - 1 - >Flash的分区
uboot启动Linux内核过程分为4大步骤:问题1:Flash的分区相关问题在 上述步骤1/2/4 中都提到了从启动介质(iNand/SD)中读取uboot/kernel到SRAM/DDR中,那么具体从启动介质的什么位置分别读取呢? 步骤1中,iROM的code是SoC出厂内置的,因此这个位置要参考SoC的数据手册。摘抄数据手册如下:SD/MMC/eSSD作为存储介质时,BL...原创 2018-10-20 23:46:20 · 2637 阅读 · 1 评论 -
uboot引导kernel - 2-> uboot/kernel需要放在DDR什么位置的问题
uboot启动Linux内核过程分为4大步骤:问题2: uboot阶段DDR的分区的问题上述步骤2和步骤4中,有将uboot/kernel拷贝纸DDR的步骤,具体要拷贝到DDR的什么位置呢?分清楚这两个概念:链接地址:链接时指定的地址(指定方式为:Makefile中用-Ttext,或者链接脚本)运行地址:程序实际运行时地址(指定方式:由实际运行时被加载到内存的哪个位置说了算)此问题中...原创 2018-10-21 00:02:16 · 3121 阅读 · 1 评论 -
uboot引导kernel - 3 ->uboot给内核传参详解
uboot中执行theKernel函数后,kernel正式启动。如下函数,我们发现有3个参数。1. 参数 0;2. 参数machid;如下code 中获取machid, gd是个全局变量.2.1 bi_arch_number是board_info中的一个元素,含义是:开发板的机器码。所谓机器码就是uboot给这个开发板定义的一个唯一编号。2.2 机器码的主要作用就是在uboot和...原创 2018-10-21 00:20:23 · 6106 阅读 · 1 评论