摘要:
长篇连载--arm linux演艺---第十回--------------------------------------------------------------------------------书接上回,下面是init_mm的初始化,init_mm定义在/arch/arm/kernel/init_task.c:struct mm_struct init_mm = INIT_MM(ini... 阅读全文
摘要:
长篇连载--arm linux演艺---第八回--------------------------------------------------------------------------------上回我们讲到arm靠初始化完成了,打开了cache,到此为止,汇编部分的初始化代码就差不多了,最后还有几件事情做:1。初始化BSS段,全部清零,BSS是全局变量区域。2。保存与系统相关的信息:如... 阅读全文
摘要:
长篇连载--arm linux演艺---第九回--------------------------------------------------------------------------------下面就是一个重量级的函数:setup_arch(&command_line); //arm/kernel/setup.c完成内存映像的初始化,其中command_line是从bootlo... 阅读全文
摘要:
长篇连载--arm linux演艺---第七回--------------------------------------------------------------------------------上回书讲到已经设置好了内核的页表,然后要跳转到__arm920_setup,这个函数在arch/arm/mm/proc-arm929.s__arm920_setup:mov r0, #0mcr ... 阅读全文
摘要:
长篇连载--arm linux演艺---第六回--------------------------------------------------------------------------------查询到了处理器类型和系统的内存映像后就要进入初始化过程中比较关键的一步了,开始设置mmu,但首先要设置一个临时的内核页表,映射4m的内存,这在初始化过程中是足够了://r5=0800 0000 ... 阅读全文
摘要:
长篇连载--arm linux演艺---第五回--------------------------------------------------------------------------------好,从本节开始,我们走过了bootloader的漫长征途,开始进入linux的内核:说实话,linux宝典的确高深莫测,洋人花了十几年修炼,各种内功心法层处不穷。有些地方反复推敲也领悟不了其中奥... 阅读全文
摘要:
长篇连载--arm linux演艺---第三回--------------------------------------------------------------------------------书接上回:下面让我们看看bootloader的c代码干了些什么。main函数比较长,让我们分段慢慢看。int main(){U32 *pSource, *pDestin, count;U8 co... 阅读全文
摘要:
长篇连载--arm linux演艺---第四回--------------------------------------------------------------------------------如果直接输入回车,进入kernel拷贝工作:EUARTputString("Copying kernel from Flash to RAM ...");count = 0x200000; //... 阅读全文
摘要:
滚滚长江东四水,浪花淘净英雄。大家好,许多人和我一样,正在苦读arm linux源代码,希望有照一日,宝典在手,天下我有。小弟不才,也读了两年,写的几首歪诗。从本级开始,把我所理解的 linux如何启动贴出来,不懂之处大家讨论一番。也希望把linux从头到尾讨论一遍,计划写它240回,三年写完(笑。。。),欢迎大家动员一些牛人来参与讨论,提高人气,增加流量。小弟用的是arm920T,跑LINUX ... 阅读全文
摘要:
长篇连载--arm linux演艺---第二回--------------------------------------------------------------------------------上回书说到flashloader把bootloader load到0x0AFE0100, 然回跳了过去,其实0x0AFE0100 就是烧在flash 0x0C000100中的真正的bootloa... 阅读全文