好贷网好贷款

bootloader

发布时间:2016-12-3 2:06:14 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"bootloader",主要涉及到bootloader方面的内容,对于bootloader感兴趣的同学可以参考一下。

bootloader是系统的引导程序,需要对一些硬件进行初始化,为操作系统的启动做好准备 其中搬运操作系统的代码和设置启动参数是必须要bootloader完成 s3c2440在系统启动时硬件自动将nand flash的前4k搬到sram里面,s3c6410为8k 1.程序需要在sdram里面运行,需要初始化sdram,才能运行代码,所以需要初始化内存。从arm的datasheet里面知道初始化内存控制器就是初始化内存。关于模式问题,arm的datasheet写到上电后模式自动设置为svc模式。 2.bootloader阶段不需要地址映射,映射了毫无意义,而且会使系统效率降低,所以需要关闭MMU,而D-CACHE的权限C,B在TLB和内存中,需要经过MMU,所以D-CACHE也需要关闭。I-CACHE相对于D-CACHE少了回写这一步骤,而且是只读的,在不开启MMU的情况下也可以使用。所以关不关闭I-CACHE都可以。在此次学习中暂时决定关闭I-CACHE 3.为了系统的开机速度,不过不进行时钟的倍频,启动过程将会消耗相对多的时间,为了早点启动内核,所以要设置时钟 4.将kernel代码从nand flash搬到内存,则应该对nand flash进行初始化才能开始搬运 5.在调试过程中利用串口进行调试,则需要对uart进行设置,以方便调试,即将printk代码写出来 6.有些代码不能使用c语言编写,必须用汇编编写,而c语言的运行过程需要堆栈,所以在汇编调用c语言函数时需要预先设置好堆栈 7.关于bss段清零的问题,可以不进行设置,但是为了c语言标准,需要对bss段进行清零

上一篇:数据库
下一篇:[置顶] android JSON解析

相关文章

关键词: bootloader

相关评论