当NK.BIN文件升级后,原来创建的用户数据分区不会被擦除掉。即使更新NK.BIN后,原来用户数据仍然还存在。这个怎么实现?我用的平台是:wince6.0+arm(S5PV210).
升级NK的时候,只格式化,NK对应的大小就行了,不要格式化整个区
EBOOT 下创建分区 可以使用BP_OpenPartition函数
你是不是 升级NK的时候 把整个flash的数据擦掉,然后再分区呢?
么操作呀?我看代码是格式化整个剩余的(除了坏块和保留空间外)空间。代码如下:
if(BP_LowLevelFormat(0, g_FlashInfo.dwNumBlocks, FORMAT_SKIP_RESERVED | FORMAT_SKIP_BLOCK_CHECK) != TRUE)
{
OALMSG(OAL_ERROR, (TEXT("ERROR: Low-level boot media format failed.\r\n")));
return FALSE;
}
在eboot目录下的nand.cpp文件里的WriteFlashNK()函数里。而且他MBR扇区是系统自动分配在前面0-5块后面(也就是RESERVED_BOOT_BLOCK后面)第6块的第一个扇区里。好像没办法给他改变。且nk.bin也是存在第6块开始的后面空间里的。