1. 首页
  2. 课程学习
  3. 嵌入式
  4. ARM Bootloader详解

ARM Bootloader详解

上传者: 2022-07-26 11:39:08上传 PDF文件 121.58 KB 热度 13次

ARMBootloader详解ArmLinuxBOOTLOADER全程详解网上关于Linux的BOOTLOADER文章不少了,但是大都是vivi,blob等比较庞大的程序,读起来不太方便,编译出的文件也比较大,而且更多的是面向开发用的引导代码,做成产品时还要裁减,这一定程度影响了开发速度,对初学者学习开销也比较大,在此分析一种简单的BOOTLOADER,是在三星公司提供的2410BOOTLOADER上稍微修改后的结果,编译出来的文件大小不超过4k,希望对大家有所帮助.1.几个重要的概念COMPRESSEDKERNELandDECOMPRESSEDKERNEL压缩后的KERNEL,按照文档资料,现在不提倡使用DECOMPRESSEDKERNEL,而要使用COMPRESSEDKERNEL,它包括了解压器.因此要在ram分配时给压缩和解压的KERNEL提供足够空间,这样它们不会相互覆盖.当执行指令跳转到COMPRESSEDKERNEL后,解压器就开始工作,如果解压器探测到解压的代码会覆盖掉COMPRESSEDKERNEL,那它会直接跳到COMPRESSEDKERNEL后存放数据,并且重新定位KERNEL,所以如果没有足够空间,就会出错.Jffs2FileSystem可以使armlinux应用中产生的数据保存在FLASH上,我的板子还没用到这个.RAMDISK使用RAMDISK可以使ROOTFILESYSTEM在没有其他设备的情况下启动.一般有两种加载方式,我就介绍最常用的吧,把COMPRESSEDRAMDISKIMAGE放到指定地址,然后由BOOTLOADER把这个地址通过启动参数的方式ATAG_INI

用户评论