配色: 字号:
MTK平台ROM-RAM结构简析
2012-08-06 | 阅:  转:  |  分享 
  
目录NorFlashNandFlashNorFlash结构6225/6223/6253等平台一般采用NorFlash做为数据存
储介质特点是可以直接寻址,程序可以直接在Flash上运行一般读速度大于写速度16MROM最常用的128Mb+32Mb(1
6MB+4MB)举例相关文件及代码:custom_memorydevice.hScatfile.txtMemoryDevi
ceList_Since08AW0820.xlsXxx.lisckSysDrv.logNorFlash的FAT(文件系统)
組成FAT由系统盘和用户盘组成(由APP_STORAGE_IN_SYS_DRV决定:为TRUE时,合成一个盘,为FLASE时,分
成两个盘)系统盘主要放置系统文件,如NVRAM文件,wap,mms,Java等,用户不可见用户盘放置用户应用文件,如图片,
铃声等,用户可见,可以直接在文件管理中操作FAT区各盘的大小用户盘大小:一般没有固定大小,可以根据实际应用程序需要來設定,也
可以不设定大小(PARTITION_SECTORS=0;)在不支持TFlash卡的情况下,我们可以设置用户盘空间来作为U盘使用;
在支持TFlash卡的情况下,可以不用设置用户盘空间。对FAT进行格式化时,用户盘的数据跟U盘一样会被格式化。系统盘大小:
不同項目對系统盘的要求是不一樣的,可參考編譯過程中生成的Log(cksysdrv.log),這里會算出系統盤的最小需求。文件系
統的最小需求也即系统盘的最小需求FAT的用户盘、系统盘,剩余空间的计算不同flash型号FAT(文件系统)大小的分配NAND
Flash架构6235/6238/6228/6230等较高端平台用NANDFlash架构NANDFLASH无法直接寻址,
不能直接运行软件,要load到RAM中才能运行。实际上是NANDFLASH+SDRAM架构以512Mb+256Mb(64MB+
32MB)为例相关文件及代码:custom_memorydevice.hScatfile.txtMemoryDevice
List_Since08AW0820.xlsXxx.lisNANDFlashFAT组成分为系统盘(systemdriv
e)和用户盘(userdrive)(APP_STORAGE_IN_SYS_DRV必须为FLASE,不能为TRUE)System
+user=NAND_BOOTING_ALLOCATED_FAT_SPACEUser=NAND_FAT_PARTITION_SE
CTORS所需RAM大小的计算TotalROSize+TotalRWSize-DemandPagingRO
MSizeMTK平台ROM-RAM结构简析刘捷Code区
FAT区RAM14M4MRAM2M系统盘用户盘用户盘大小计算:
PARTITION_SECTORS=TOTAL_F
AT_SIZE-SIZE_OF_SYSTEM_DRIVE定义用户盘大小:(eg:)#definePARTIT
ION_SECTORS512//单位是sector1sector=512Bytes,也就是说PARTITION_S
ECTORS=512sectors=512x512Bytes=256KB系统盘最小值大小计算:

理论上讲DriveOverhead+FoldersandApplications是系统盘的最小
值剩余空间大小计算:
文件系统空间–用户盘空间–系统盘空间;理论上讲剩余空间用户是可以分
离出来作为code区用的,但MTK建议必须留一些剩余空间给文件系统,建议预留100Clusters=100KB注:详细的大
小计算请参考build文件下ckSysDrv.log文件Multibankflash:

对于Multibankflash的文件系统,通常是把lastbank作为文件系统,剩余
空间不建议再分离出来作为code区用。最常用的(128Mb+32Mb)Multibankflash的lastbank大小为
一般为2MB。Singlebankflash:
对于Singlebankflash的文
件系统,是用户根据需要自行进行配置的。常用的128Mb+32Mb)Singlebankflash,MTK默认的分配文件系统大
小为3.75MB,实际上这里面存在很大一部分剩余空间,这一部分可以分离出来作为code区用,可以根据不同的项目的自行进行调整,但建议建议预留100Clusters。64MCode区FAT区SDRAM32M32MRAM32M系统盘用户盘
献花(0)
+1
(本文系小云蔡首藏)