引用 2 楼 veabol 的回复:
看EBOOT下载烧录NK的时候都擦除了哪些BLOCK,估计是对OS的BLOCK地址设置出错,导致一同擦除了NBOOT
韦伯大哥,我的调试信息是+IMAGE_TYPE_RAMIMAGE+++++++baggio.
+WriteOSImageToBootMedia
+WriteOSImageToBootMedia: g_dwTocEntry =1, ImageStart: 0x80200000, ImageLength: 0x1880834, LaunchAddr:0x8021e4f0
INFO: OEMLaunch: Found chain extenstion: '' @ 0x80200000
Writing single region/multi-region update, dwBINFSPartLength: 25692212
IsValidMBR: MBR sector = 0x0
ecc error f00cfcc3 ffffffff
OpenPartition: Invalid MBR. Formatting flash.
Enter LowLevelFormat [0x0, 0xfff].
Erasing flash block(s) [0x0, 0xfff] (please wait): EraseBlocks: found a bad block (0x1) - skipping...
Done.
WriteMBR: MBR block = 0x0.
Done.
OpenPartition: Partition Exists=0x0 for part 0x21.
CreatePartition: Enter CreatePartition for 0x21.
LastLogSector: Last log sector is: 0x1ffdf.
CreatePartition: Start = 0x260, Num = 0xc420.
Log2Phys: Logical 0x260 -> Physical 0x280
WriteMBR: MBR block = 0x0.
BP_SetDataPointer at 0x0
WriteData: Start = 0x0, Length = 0x1880834.
Log2Phys: Logical 0x260 -> Physical 0x280
Updateded TOC!
IsValidMBR: MBR sector = 0x0
OpenPartition: Partition Exists=0x0 for part 0xb.
CreatePartition: Enter CreatePartition for 0xb.
FindFreeSector: FreeSector is: 0xc680 after processing part 0x21.
CreatePartition: Num sectors set to 0x13820 to allow for compaction blocks.
CreatePartition: Start = 0xc680, Num = 0x13820.
WriteMBR: MBR block = 0x0.
-WriteOSImageToBootMedia
+TOC_Write
-TOC_Write 您看下?我看了源码 BP_LowLevelFormat (0, g_FlashInfo.dwNumBlocks, dwFlags);
调用这个函数里有擦除的!都是从0开始的。我发现个问题 昨天我可以复位启动时下载nkIsValidMBR: MBR sector = 0x0这里是0x024,不知道现在为什么是0x0了。