Uboot
JOJO___
嵌入式,Web,移动开发
展开
-
Uboot 2015 代码解析1 uboot.lds
uboot链接脚本位于arch/arm/cpu/uboot.lds,指定了整个uboot镜像的段分布。简析整个程序入口为_start,位于arch/arm/lib/vectors.S中从0x0开始存放.text代码段{vectors.S/start.S/其他代码段}接着是.rodata只读数据段接着是.data可读写数据段接着是.uboot_list段接着是rel_dy...原创 2019-04-20 09:43:05 · 368 阅读 · 0 评论 -
Uboot 2015 代码解析2 vectors.S
位于arch/arm/lib/vectors.S文件中存有uboot执行的第一段代码_start。.globl _start/* ************************************************************************* * * Vectors have their own section so linker script c...原创 2019-04-20 09:49:12 · 868 阅读 · 0 评论 -
Uboot 2015 代码解析3 start.S lowlevel_init.S
简介start.S主要做了1.使CPU进入SVC模式,禁用中断。2.初始化cp15协处理器,暂时关闭MMU,ICACHE。3.跳转到lowlevel_init.S。4.最后跳转到_main(位于arch/arm/lib/crt0.S)lowlevel_init.S主要做了1.设置sp临时堆栈。2.做最基础的时钟初始化(平台相关)。3.跳转回start.S...原创 2019-04-20 10:08:30 · 547 阅读 · 0 评论 -
Uboot 2015 代码解析4 crt0.S
简介从start.S跳转到crt0.S的_main函数crt0.S主要做了1.重新设置sp堆栈2.GD区域清零3.跳转到board_init_f(); //gd初始化/ ddr初始化/ 搬运4.将镜像从硬件介质(flash等)搬运到外部ddr,将GD从内部的SRAM搬运至外部ddr。5.清除bss段。5.完整C语言环境建立完毕。6.跳转到外部ddr中执行代码bo...原创 2019-04-20 10:25:39 · 650 阅读 · 0 评论 -
Uboot 2015 代码解析5 board_init_r
从crt0.S的_main跳转至 board_init_r,此时已经在外部的ddr中运行此代码,完整的c语言环境已经建立完毕。board_init_r接着进行后续外围硬件的初始化。简介board_init_r主要做了1.外围硬件的初始化。2.跳转至最终的main_loop命令行。代码注释void board_init_r(gd_t *id, ulong d...原创 2019-04-20 10:35:58 · 802 阅读 · 0 评论 -
Uboot 2015 代码解析6 main_loop
从board_init_r跳转到main_loop完成uboot最后工作:命令行解析,启动kernel。简介main_loop主要做了1.命令行解析初始化。2.进入命令行解析函数cli_loop();3.启动kernel。代码注释/* We come here after U-Boot is initialised and ready to process co...原创 2019-04-20 10:42:20 · 260 阅读 · 0 评论 -
源码分享 移植u-boot-2015.4到TQ2440 完美支持nand启动 tftp下载功能
为了给我的老伙计TQ2440升下级,经过几天的折腾,在这位大哥(https://www.cnblogs.com/pengdonglin137/p/4541705.html)的基础上,继续移植u-boot-2015.4使u-boot支持nand启动kernel-2.6.30和dm9000网口(tftp下载)功能.测试环境ubuntu 16.04tq2440 (nandflash 256...原创 2019-06-07 13:17:55 · 435 阅读 · 1 评论