引用 4 楼 sunrain_hjb 的回复:
估计是你写LOGO的时候,把BOOT给冲掉了,再烧BOOT又把LOGO给冲掉。
建议再检查一下烧写BOOT和LOGO的相关代码。
我的LOADER.H中
// On disk structures for NAND bootloaders...
//
//
// OEM Reserved (Nand) Blocks for TOC and various bootloaders
//
// NAND Boot (loads into SteppingStone) @ Block 0
#define NBOOT_BLOCK 0
#define NBOOT_BLOCK_SIZE 1
#define NBOOT_SECTOR BLOCK_TO_SECTOR(NBOOT_BLOCK)
// TOC @ Block 1
#define TOC_BLOCK 1
#define TOC_BLOCK_SIZE 1
#define TOC_SECTOR BLOCK_TO_SECTOR(TOC_BLOCK)
// Eboot @ Block 2
#define EBOOT_BLOCK 2
#define EBOOT_SECTOR_SIZE FILE_TO_SECTOR_SIZE(EBOOT_RAM_IMAGE_SIZE)
#define EBOOT_BLOCK_SIZE 8//SECTOR_TO_BLOCK(EBOOT_SECTOR_SIZE)
#define EBOOT_SECTOR BLOCK_TO_SECTOR(EBOOT_BLOCK)
//logo @ Block 8~ added for logo
#define LOGO_BLOCK 9
#define LOGO_BLOCK_SIZE 20 //16K*10=160k
#define LOGO_SECTOR BLOCK_TO_SECTOR(LOGO_BLOCK)
#define RESERVED_BOOT_BLOCKS (NBOOT_BLOCK_SIZE +TOC_BLOCK_SIZE +EBOOT_BLOCK_SIZE+LOGO_BLOCK_SIZE)
// Images start after OEM Reserved Blocks
#define IMAGE_START_BLOCK RESERVED_BOOT_BLOCKS
#define IMAGE_START_SECTOR BLOCK_TO_SECTOR(IMAGE_START_BLOCK)
但是有个问题,我没有对预留的#define LOGO_BLOCK_SIZE 20 //16K*10=160k BLOCK做reserved|readonly
是不是这个原因?呵呵~