发布时间:2014-11-29 23:58:32
http://blog.csdn.net/zsy2020314/article/details/9301437......【阅读全文】
发布时间:2014-11-29 23:54:04
bootloader的最终目的是启动内核,而在启动内核前要进行一系列的初始化:关闭看门狗、改变系统时钟、初始化存储控制器、重定位代码(将更多的代码复制到内存中去)等,然后将内核从nand flash读到SDRAM中,为内核传递启动参数,跳到相应的地址启动内核。1. 关闭看门狗 向WTCON寄存器WTCON中写入零&n.........【阅读全文】
发布时间:2014-11-29 23:52:54
了解完kernel启动以前的汇编之后我们来看看正式的c语言启动代码,也就是我们的start_kernel函数了。start_kernel相当大,里面每一个调用到的函数都足够我们伤脑筋了,我这里只是浅尝辄止的描述一下函数的功能,从而对kernel启动的过程有一个比较直观的了解。很多函数真正理解需要对linux相关体系有很深的了解,暂时没有时间.........【阅读全文】
发布时间:2014-11-29 23:52:37
1. kernel运行的史前时期和内存布局在arm平台下,zImage.bin压缩镜像是由bootloader加载到物理内存,然后跳到zImage.bin里一段程序,它专门于将被压缩的kernel解压缩到KERNEL_RAM_PADDR开始的一段内存中,接着跳进真正的kernel去执行。该kernel的执行起点是stext函数,定义于arch/arm/kernel/head.S。在分析stext.........【阅读全文】