FL2440--2--自己写boot之nor和nand代码重定向
本次代码是在上面代码的基础上,进行了添加,支持Nand和norflash搬运代码到内存,然后在内存中执行;
其实Uboot也是这样实现的,进行了一系列的初始化后代码重定向到了内存;
下面开始分析代码:
1:start.s文件:在1的基础上,只添加了支持nand的函数~~
objs := start.o init.o nand.o main.oboot.bin : $(objs)arm-linux-ld -Tboot.lds-o boot_elf $^arm-linux-objcopy -O binary -S boot_elf $@arm-linux-objdump -D -m arm boot_elf > boot.dis%.o:%.carm-linux-gcc -Wall -c -O2 -o $@ $<%.o:%.Sarm-linux-gcc -Wall -c -O2 -o $@ $<clean:rm -f boot.dis boot.bin boot_elf *.omain.c和boot.lds链接文件不变~~~~
编译吧,把板子调成nand启动模式,就能实现从nand读出代码到内存中,并在内存中执行了;其他不变
这个boot可能很简单,但是对理解Uboot的执行流程很有帮助;
最后代码实现参照了JZ2440的部分代码~~~~