uboot学习之BL3的流程】的更多相关文章

BL2的最后通过汇编调用了board_init_r函数,此时进入BL3的阶段,此时的主要工作: 这一阶段涉及的文件及任务如下 arch/arm/lib/board.c           1. board_init_r()是进入定制板目录的入口common/main.c           2. main_loop()中关闭中断,执行命令以及加载引导内核 下面分析一下board_init_r函数: /* **********************************************…
u-boot 加载 kernel 的流程分析. image重要结构体头文件 // include/image.h * * Legacy and FIT format headers used by do_bootm() and do_bootm_<os>() * routines. */ // 这是正bootm 头部结构体 typedef struct bootm_headers { /* * Legacy os image header, if it is a multi component…
app开发学习需要经历哪些流程?如何零基础入门app开发?以下是知乎热心开发者的经验总结,对学习app开发有很好的参考意义   1.如果没有编程基础的,学习基础知识的过程肯定是必须的.2.有了一些基础之后,就需要有做出应用的构思.如果没有自己想要做的产品,类似于天气查询这样很多人都会拿来练手的应用是比较好的选择.API成熟:做过的人多,有问题随时查询基本都能有答案.“苹果序列号查询”是因为之前没有这样的应用,每次需要查询苹果产品激活信息都要去那些广告繁多的网站上,体验很不好.刚好聚合数据又有苹果…
之前的[笔记] 基于nvidia/cuda的深度学习基础镜像构建流程已经Out了,以这篇为准. 基于NVidia官方的nvidia/cuda image,构建适用于Deep Learning的基础image. 思路就是先把常用的东西都塞进去,build成image,此后使用时想装哪个框架就装. 为了体验重装系统的乐趣,所以采用慢慢来比较快的步骤,而不是通过Dockerfile来build. 环境信息 已经安装了Docker CE和NVIDIA Container Toolkit,具体流程参考这里…
上篇博客:http://www.cnblogs.com/yeqluofwupheng/p/7347925.html 讲到uboot-spl的工作流程,接下来简述一下uboot.bin的工作流程,这对应BL2的流程. BL2的主要文件和任务流程如下: arch/arm/cpu/armv7/start.S           1. 设置CPU为SVC模式           2. 关闭MMU           3. 关闭Cache           4. 跳转到lowlevel_init.S l…
uboot-spl的程序流程主要包含下面的几个函数: _start->reset->save_boot_params->cpu_init_crit->lowlevel_init->_main->board_init_f 在armv7架构的uboot-spl,主要需要做如下事情 关闭中断,svc模式 禁用MMU.TLB 芯片级.板级的一些初始化操作  IO初始化 时钟 内存 选项,串口初始化 选项,nand flash初始化 其他额外的操作 加载BL2,跳转到BL2 下面…
一.uboot启动分为了三个阶段BL0.BL1.BL2:BL0表示上电后运行ROM中固化的一段程序,其中ROM中的程序是厂家写进去的,所以具体功能可能根据厂家芯片而有所不同.功能如下: 初始化系统时钟.特殊设备的控制器.启动设备.看门狗.堆栈.SRAM等硬件: 验证B1镜像,并且加载BL1镜像到SRAM中,然后跳转到BL1镜像的地址上. BL0需要将BL1加载到对应的RAM上,这就涉及到它的启动模式,详细如下:1.OneNand Boot模式 要了解OneNAND先得了解NOR Flash和NA…
源码阅读方法1.源码目录结构2.配置(支持当前使用的硬件)3.编译(Makefile)4.启动流程 工具使用1.在同一文件查找 shitf+8 N n进行上下查找 2.在工程目录中 ctags uboot版本选择:2013 uboot 2010版本前 只能识别zImage 文件 uboot 2013 能够识别uImage文件 选用原则:1.适用于当前开发板2.资料问题 uboot目录结构平台相关arch(架构) board(板级结构) 平台无关common(uboot命令) disk(磁盘) d…
Windows操作系统BIOS(设置) Windows系统 文件系统 驱动程序 应用程序 linux操作系统bootloader(引导系统) kernel(内核) 文件系统 驱动程序 应用程序 交叉编译:程序编译与执行不在同一台机器 交叉编译工具链:交叉编译需要使用的工具 gcc编译流程1.预处理 cpp test.c -o test.i2.编译 ./cc1 test.i (test.s /usr/lib/gcc/i686-linux-gnu/4.8)3.汇编 as test.s 4.链接 ld…
ok6410移植u-boot 既然是移植u-boot当然首先需要u-boot源码,这里的u-boot代码是由国嵌提供的. 一.配置编译u-boot A. 解压 u-boot 压缩文件 B. 进入解压生成文件中 C. 执行 make distclean 和 make clean D. make forlinx_nand_ram256_config E. make CROSS_COMPILE=arm-linux- ARCH=arm 其中D. make forlinx_nand_ram256_conf…