Uboot
文章平均质量分 87
showstopper_x
这个作者很懒,什么都没留下…
展开
-
uboot——start_armboot——init_sequence——board_init
Mini2440.c (kangear-u-boot-2009.11\board\tekkamanninja\mini2440) 6810 2014/9/1原创 2014-11-12 14:28:23 · 993 阅读 · 0 评论 -
uboot源码分析——start_armboot
Stage2源码分析 start_armboot函数的路径:/lib_arm/board.c void start_armboot (void) { init_fnc_t **init_fnc_ptr; char *s; #if defined(CONFIG_VFD) || defined(CONFIG_LCD) unsigned long原创 2014-10-31 15:39:02 · 2010 阅读 · 0 评论 -
uboot源码分析——main_loop
接下来看/common/main.c中的main_loop (); 你会发现,这个函数相当长,但是其中有不少的编译条件,很多宏是没有定义的,也就是说,最后被编译的只是其中一部分。 在预编译的时候使用 #warning “你想要打印的字符串”,这种形式可以在编译的时候确定哪些宏是被定义的,哪些是没有定义的。 可以将没有编译的部分去掉,得到有效的代码就比较少了: 但是看代码的时候总是有种强迫症原创 2014-11-03 10:00:57 · 1083 阅读 · 0 评论 -
uboot源码分析——stage 1
我们人为的把uboot的启动分为stage1和stage2,区分的标准是以编程语言和代码的作用。 stage1主要用arm汇编及一部分C的混合编程,完成底层硬件的初始化设置; stage2则完全用C实现,在进行一些硬件(外设)初始化的同时,为linux启动提供参数和软硬件环境。 Stage1源码分析 通过分析Makefile和u-boot.lds发现,cpu/arm920t原创 2014-10-31 14:45:55 · 1056 阅读 · 0 评论 -
uboot——配置编译
什么是uboot? uboot的作用 如何学习原创 2014-09-17 10:03:17 · 833 阅读 · 0 评论 -
uboot源码分析——启动linux内核
如果板子启动以后不按任何键,将会默认启动Linux内核。 我们回到/common/main.c中,首先 s = getenv ("bootcmd"); 然后 run_command (s, 0); bootcmd是一个环境变量,它的值对应一些命令,用来启动linux "bootcmd=" CONFIG_BOOTCOMMAND "\0" /include/configs/mini244原创 2014-11-03 10:33:55 · 1091 阅读 · 0 评论