微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > GNU ARM汇编--(十八)u-boot-采用nand_spl方式的启动方法

GNU ARM汇编--(十八)u-boot-采用nand_spl方式的启动方法

时间:11-26 来源:互联网 点击:

2.在nand_spl/board/samsung下新建文件夹TQ2440,可以将smdk6400目录下的三个文件复制过来再慢慢修改,最大的修改就是makefile的改动:

start.S用的是arch/arm/cpu/arm920t/start.S

lowlevel_init.S用的是board/samsung/smdk2410/lowlevel_init.S

nand_boot.c用的是nand_spl/nand_boot.c

s3c2440_nand.c用的是drivers/mtd/nand/s3c2440_nand.c

3.移植s3c2440_nand的代码

4.根据具体情况在start.S中将部分代码用#ifdef CONFIG_NAND_SPL或者#ifndef CONFIG_NAND_SPL包起来

5.最后的编译链接过程是链接出一个u-boot-spl文件,从u-boot-spl文件中剥离出二进制数据文件u-boot-spl.bin,实际上这个bin档才1.2k左右,将其填充到4K大小

如果对bootloader有一定理解,并且熟悉编译链接和makefile等脚本的话,单单这个工作量不大,忘记了还要熟悉nand flash的控制.

最后,说一下我在这个过程中遇到一个耽误了我好久的一个问题,忘记在跳nand_boot.c也要设置sp.因为只能通过led来调试,看到的现象让我错误的以为是我的nand flash驱动没调对.最后才恍然明了.当时看那几个led也是看的烦躁了....

just go on,戒躁

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top