WinCE MMC空间分配

本来三星的MMC是这么做的:

//SDMMC BSP Definition
#define IMAGE_NK_SIZE  (0x040E0000)

#define FATFS_FOR_IMAGE		(0x1000000)
#define SECTOROFFATFS		(FATFS_FOR_IMAGE / SDMMC_SECTOR_SIZE)


#define IMAGESTARTSECTOR (MBRSTARTSECTOR+SECTOROFMBR) 
#define IMAGESIZE           (IMAGE_NK_SIZE)
//#define IMAGESIZE (0x10000000) // this value must be the same as Flash size in the memory.cfg.xml
#define SECTOROFIMAGE (IMAGESIZE/(SDMMC_SECTOR_SIZE))



#define MBRSTARTSECTOR (TOCSTARTSECTOR+SECTOROFTOC+7) // 7 sector means tocsector+7, to align 8KB
#define SECTOROFMBR         (0x100)

#define SECTOROFTOC (8)
#define TOCSTARTSECTOR (AISSTARTSECTOR+SECTOROFAIS) // to align 8KB

#define SECTOROFAIS (1) // Address Information Sector
#define AISSTARTSECTOR (BOOTIMAGESTARTSECTOR+SECTOROFBOOTIMAGE+15) // to align 8KB

#define SECTOROFBOOTIMAGE (0xA10) // bootimage means STEPLDR+IPL+EBOOT
#define BOOTIMAGESTARTSECTOR (1)

//#define STEPLDRBUFFER 0x50200000
//#define STEPLDRSTARTADDRESS	0x50000000
#define SECTOROFSTEPLDR (0x20) //16K
#define STEPLDRSTARTSECTOR (1)

#define SECTOROFEBOOT (0x600)
#define EBOOTSTARTSECTOR (STEPLDRSTARTSECTOR+SECTOROFSTEPLDR)

#define SECTOROFIPL (0x400)
#define IPLSTARTSECTOR (EBOOTSTARTSECTOR+SECTOROFEBOOT)


然后我改成这样子:

//SDMMC BSP Definition
#define IMAGE_NK_SIZE  (0x040E0000)

#define FATFS_FOR_IMAGE		(0x1000000)
#define SECTOROFFATFS		(FATFS_FOR_IMAGE / SDMMC_SECTOR_SIZE)

#define IMAGESTARTSECTOR (MBRSTARTSECTOR+SECTOROFMBR) 
#define IMAGESIZE           (IMAGE_NK_SIZE)
//#define IMAGESIZE (0x10000000) // this value must be the same as Flash size in the memory.cfg.xml
#define SECTOROFIMAGE (IMAGESIZE/(SDMMC_SECTOR_SIZE))

#define MBRSTARTSECTOR (LOGOSTARTSECTOR+SECTOROFLOGO) // 7 sector means tocsector+7, to align 8KB
#define SECTOROFMBR         (0x100)

#define SECTOROFTOC (8)
#define TOCSTARTSECTOR (AISSTARTSECTOR+SECTOROFAIS) // to align 8KB

#define SECTOROFAIS (1) // Address Information Sector
#define AISSTARTSECTOR (BOOTIMAGESTARTSECTOR+SECTOROFBOOTIMAGE+6) // to align 8KB

#define SECTOROFBOOTIMAGE (0x421) // bootimage means STEPLDR+EBOOT
#define BOOTIMAGESTARTSECTOR (1)

//TOCSTARTSECTOR = 0x429 
//AISSTARTSECTOR = 0x428 
//SECTOROFBOOTIMAGE = 0x421 
//LOGOSTARTSECTOR = 0x431 
//BOOTIMAGESTARTSECTOR+SECTOROFBOOTIMAGE = 0x422 

//#define STEPLDRBUFFER 0x50200000
//#define STEPLDRSTARTADDRESS	0x50000000
#define SECTOROFSTEPLDR (0x20) //16K
#define STEPLDRSTARTSECTOR (1)

#define SECTOROFEBOOT (0x400)
#define EBOOTSTARTSECTOR (STEPLDRSTARTSECTOR+SECTOROFSTEPLDR)

#define SECTOROFLOGO (0x3000)
#define LOGOSTARTSECTOR (TOCSTARTSECTOR+SECTOROFTOC)

  保留 Bootimage 对齐 AISS TOC MBR NK FAT 
  stepldr eboot ipl 
起始扇区 0x0 0x1 0x21 0x621 0xA19 0xA20 0xA21 A30   
长度 0x1 0x20 0x600 0x400 0xf 0x1 0x8 0x100   
            
  保留 Bootimage 对齐 AISS TOC LOGO MBR NK FAT
  stepldr eboot
起始扇区 0x0 0x1 0x21 0x421 0x428 0x429 0x431 0x3431  
长度 0x1 0x20 0x400 0x6 0x1 0x8 0x3000 0x100  

三星的表格可能没处理详细,会有数字错误,这么做的原因是加上LOGO的分区,使得跟其他操作系统可以公用Logo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值