以下是已经用VIVI下载NBoot和EBoot后,输入W,用usb端口下载NK.bin的调试输出消息:
##### FriendlyARM BIOS for 2440 #####
[x] bon part 0 320k 2368k
[v] Download vivi
[k] Download linux kernel
[y] Download root_yaffs image
[c] Download root_cramfs image
[a] Absolute User Application
[n] Download Nboot
[e] Download Eboot Download WinCE NK.nb0
[w] Download WinCE NK.bin
[d] Download & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the nand flash
[p] Partition for Linux Boot the system Set the boot parameters
[t] Print the TOC struct of wince Backup NAND Flash to HOST through USB(upload)
[r] Restore NAND Flash from HOST through USB
[q] Goto shell of vivi
Enter your selection: w
Clear the free memory .............................................................
Read eboot image from flash ......
ReadImageFromNand: TOC is invalidate: 0x1, use default toc to load eboot
Sector addr on NAND: 0x100
TotalSector: 0x100
LoadAddress: 0x30038000
JumpAddr: 0x30038000
Now, to download the wince image(nk.bin) ......
USB host is connected. Waiting a download.
Now, Downloading [ADDRESS:30058000h,TOTAL:28481921]
Downloaded file at 0x30000000, size = 28481911 bytes
Mark bad blocks as unused ......
Extract wince image throught USB ......
OEMMultiBINNotify: Download BIN file information:
-----------------------------------------------------
[0]: Base Address=0x8c200000 Length=0x1b90310
-----------------------------------------------------
OEMVerifyMemory: StartAddr: 0x8c200000, Length:0x1b90310
*** Downloading UNKNOWN image type ***
...........................
dwImageStart : 0x8c200000
dwImageLength: 0x1b90310
LaunchAddr : 0x8c201000
rom_offset=0x0.
Run eboot, JumpAddr = 0x30038000
..
从这里开始是EBoot启动了,这里出现了NK.bin镜像起始地址(dwImageStart)和大小(dwImageLength)以及启动地址(dwLaunchAddr),但是再eboot中能直接使用这个数据么?一边下载的NK.bin是先暂存在ram中的,那这个暂存的RAM地址是怎样确定的?如果知道这个暂存的RAM地址,那就可以去读取NK.bin的参数了!