UBoot
文章平均质量分 78
Stars_Moon_Sky
这个作者很懒,什么都没留下…
展开
-
uboot启动流程分析之四
Main_loop()函数在main.c文件中: void main_loop (void) //读取命令 { #ifndef CONFIG_SYS_HUSH_PARSER static char lastcommand[CONFIG_SYS_CBSIZE] = { 0, }; int len; int rc = 1; int flag; #endif #if原创 2015-04-22 14:34:02 · 803 阅读 · 0 评论 -
uboot启动流程分析之二
Board.c · #ifdefined(CONFIG_ARCH_CPU_INIT) · arch_cpu_init, · #endif · board_init, · #ifdefined(CONFIG_USE_IRQ) · interrupt_init, · #endif · timer_init, · #ifdef CONFIG_FSL原创 2015-04-22 12:29:32 · 1353 阅读 · 0 评论 -
uboot启动流程分析之三
上一篇已经分析到main_loop(),基本上board.c结束了,现在我们要进入fastapp_entry()以及main_loop(),去看看uboot到底是如何引导内核启动的。 下面一张图,是一张很简单的流程图,只列出了基本的方法调用关系,大家先有个印象,接下来细讲。 //product/main.c int fastapp_entry(int argc, cha原创 2015-04-22 13:45:03 · 949 阅读 · 0 评论 -
uboot启动流程分析之五
开发板如果通过tftp加载内核,使用的是bootm命令,调用的是do_bootm函数 bootm只能启动uImage,uImage=zImage+头信息,uImage是由mkimage命令生成。 镜像头信息结构体: //image.h typedef struct image_header { uint32_t ih_magic; /* Image Header Magic Nu原创 2015-04-22 14:40:09 · 826 阅读 · 0 评论 -
uboot启动流程分析之六
上一篇还有bootm_load_os没讲,这个方法主要就是对内核镜像解压 static int bootm_load_os(image_info_t os, ulong *load_end, int boot_progress) { uint8_t comp = os.comp; //压缩格式 ulong load = os.load; //加载地址 ulong blo原创 2015-04-22 14:58:03 · 1217 阅读 · 0 评论 -
uboot启动流程分析之一
最开始的就是start.S 一个可执行的Image 必须有一个入口点并且只能有一个唯一的全局入口,通常这个入口放在Rom(flash)的0x0地址。 start.S · _start: /*异常向量表*/· /*大小32个字节,每个异常占据4个字节,保留4个字节空间*/ · /*将异常中断处理程序注册到向量表,或使用跳转指令或使用数据 *读原创 2015-04-22 11:33:38 · 1961 阅读 · 0 评论