当进入Eboot后想格FLASH
在InitPartitionMgr()中
- BOOL InitPartitionMgr(void)
- {
- PCI_REG_INFO RegInfo; // No PCI here, just need registry structure...
- memset(&RegInfo, 0, sizeof(PCI_REG_INFO));
- RegInfo.MemBase.Num = 1;
- RegInfo.MemLen.Num = 1;
- RegInfo.MemBase.Reg[0] = FLASH_BIN_START; // Flash base address.
- RegInfo.MemLen.Reg[0] = BOOT_FLASH_SIZE - (FLASH_BIN_START - FLASH_START); // Total flash length.
- if (!BP_Init((LPBYTE)BLOCK_SAVE_START, BLOCK_SAVE_LENGTH, NULL, &RegInfo, NULL))
- {
- EdbgOutputDebugString("ERROR: InitPartitionMgr: failed to initialize partition manager.\r\n");
- return(FALSE);
- }
- return(TRUE);
- }
按上面的肯定会提示:ERROR: InitPartitionMgr: failed to initialize partition manager
我把它改成从物理地址0开始格,对应的虚拟地址是:FLASH_START,长度是BOOT_FLASH_SIZE
这时候能成功,不过把EBOOT及CFG的信息全格没了。
我只想格除EBOOT及CFG所在的其它空间?是哪里的问题呀?
各位英雄!