Bootloader常用参数及在NAND FLASH里固化嵌入式系统
?
关于Bootloader一些常用参数的使用以及在NAND FLASH里面固化整个嵌入式系统
工作这段时间以来,常常有许多学员为用H-JTAG向FLASH中烧写文件而苦恼。难道我们每次都要用这种方法去烧写文件?呵呵,答案必须不是。 我建议大家在做系统移植时要保证自己的板子NOR FLASH有一个好的Bootloader,这样当NAND FLASH里面的Bootloader要更换或者崩溃时就可以使用NOR FLASH里面的Bootloader向NAND FLASH烧写Bootloader,从而避免使用H-JTAG进行烧写的一连串的复杂动作,最给力的是它有效的避免了H-JTAG硬件自身的缺陷,“有时好使,有时不好使”的问题,呵呵,用过H-JTAG的人,大多数应该遇到过这种情况。 下面以FS2410板子像NAND FLASH 烧写Bootloader为例子: 1. 从NOR FLASH启动Bootloader,准备好要向NAND FLASH烧写的文件 2.设置好Bootloader的一些参数,确保Bootloader和主机之间能ping的通. 3.下载烧写文件到内存中 Tftp 30008000 u-boot.bin(自己要烧写Bootloader文件); 4.把内存中的数据拷贝到NAND FLASH里面 (1)nand erase擦除NAND FLASH. (2)nand write 0x30008000 0x00000000 0x00040000 把内存地址的0x30008000中的数据写到NAND FALSH存储空间的0x000地址,大小 0x00040000(确保这个大小比要烧写的文件u-boot.bin大一点). 5.重新打开电源,从NAND FLASH启动,这个时候你可以看到NAND FLASH里面的Bootloader正常启动了 下面在给出将内核,根文件系统镜像固化在NAND FLASH中的操作流程 1.给nandflash分区(修改arch/arm/plat-s3c24xx/common-smdk.c) static struct mtd_partition smdk_default_nand_part[] = { }; 分好区以后,重新编译内核(以上分区,指示参考,可以根据自己的需要进行分区) 2.烧制内核和文件系统 下载内核到内存地址为30008000上 擦除flash 从内存拷贝到flash上 下载文件系统镜像到内存地址为30008000上 从内存拷贝到flash上 3.设置u-boot参数 setenv bootcmd nand read 0x33000000 0x00040000 0x00400000; go 0x33000000 4.重新启动开发板 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |