关于从NAND FLASH启动

来源:互联网 发布:虚拟机多网络通信 编辑:程序博客网 时间:2024/04/28 08:54
今天将NAND 全部FORMAT以后,重新用NOR中的UBOOT向NAND中烧写UBOOT,按道理应该是和NOR 中的UBOOT界面一样才对。烧写进去以后发现根本不是,一直提示如下信息:
##### EmbedSky BIOS for SKY2440/TQ2440 #####
Press Space key to Download Mode !
Booting Linux ...
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00200000 ... Copy Kern
el to SDRAM done,Warning: this binary is not compressed linux kernel image
zImage magic = 0xffffffff
NOW, Booting Linux......
undefined instruction
pc : [<30f0c550>]    lr : [<33d81760>]
sp : 33d3ded4  ip : c000107e  fp : bfefdfdd
r10: ffffffff  r9 : fbfcb3dc  r8 : 33d3ffdc
r7 : fbfbf725  r6 : 00000000  r5 : 000000a8  r4 : 30008000
r3 : c000107c  r2 : 30008000  r1 : 000000a8  r0 : 00000000
Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...
*** Warning - bad CRC or NAND, using default environment
 
##### EmbedSky BIOS for SKY2440/TQ2440 #####
Press Space key to Download Mode !
Booting Linux ...
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00200000 ... Copy Kern
el to SDRAM done,Warning: this binary is not compressed linux kernel image
zImage magic = 0xffffffff
NOW, Booting Linux......
undefined instruction
pc : [<30f0c550>]    lr : [<33d81760>]
sp : 33d3ded4  ip : c000107e  fp : bfefdfdd
r10: ffffffff  r9 : fbfcb3dc  r8 : 33d3ffdc
r7 : fbfbf725  r6 : 00000000  r5 : 000000a8  r4 : 30008000
r3 : c000107c  r2 : 30008000  r1 : 000000a8  r0 : 00000000
Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...
*** Warning - bad CRC or NAND, using default environment
怎么会这样呢,同样烧写的是UBOOT,为什么会不不同呢,后来一问群主,他说是因为没有烧写内核。我说我是没有烧写内核啊,我刚才把NAND全格了,然后烧写了UBOOT,为什么不一样。楼主说开机按SPACE键,就一样了,因为NAND FLASH开机默认的是8:boot system,提示的信息就说找不到内核。这下我明白了。我又做了一个实验,从NOR启动,按后选8:boots system 结果个刚才的现象一样。再看看启动时的提示信息:
Enter your selection: 8
Start Linux ...
Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00200000 ... Copy Kern
el to SDRAM done,NOW, Booting Linux......
Uncompressing Linux.............................................................
............................................................. done, booting the
kernel.
无论从哪种方式启动,都是从ox00200000这个地方把kernel(内核)复制到SDRAM的0x30008000中去,(SDRAM的其实地址是0x30000000)然后开始启动内核。
原创粉丝点击