资源描述
,MTK平台ROM-RAM结构简析刘捷,目录,NorFlashNandFlash,NorFlash结构,6225/6223/6253等平台一般采用NorFlash做为数据存储介质特点是可以直接寻址,程序可以直接在Flash上运行一般读速度大于写速度,16MROM,最常用的128Mb+32Mb(16MB+4MB)举例,Code区,FAT区,RAM,14M,4MRAM,2M,系统盘,用户盘,相关文件及代码:,custom_memorydevice.hScatfile.txtMemoryDeviceList_Since08AW0820.xlsXxx.lisckSysDrv.log,NorFlash的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的用户盘、系统盘,剩余空间的计算,用户盘大小计算:PARTITION_SECTORS=TOTAL_FAT_SIZE-SIZE_OF_SYSTEM_DRIVE定义用户盘大小:(eg:)#definePARTITION_SECTORS512/单位是sector1sector=512Bytes,也就是说PARTITION_SECTORS=512sectors=512x512Bytes=256KB系统盘最小值大小计算:理论上讲DriveOverhead+FoldersandApplications是系统盘的最小值剩余空间大小计算:文件系统空间用户盘空间系统盘空间;理论上讲剩余空间用户是可以分离出来作为code区用的,但MTK建议必须留一些剩余空间给文件系统,建议预留100Clusters=100KB注:详细的大小计算请参考build文件下ckSysDrv.log文件,不同flash型号FAT(文件系统)大小的分配,Multibankflash:对于Multibankflash的文件系统,通常是把lastbank作为文件系统,剩余空间不建议再分离出来作为code区用。最常用的(128Mb+32Mb)Multibankflash的lastbank大小为一般为2MB。Singlebankflash:对于Singlebankflash的文件系统,是用户根据需要自行进行配置的。常用的128Mb+32Mb)Singlebankflash,MTK默认的分配文件系统大小为3.75MB,实际上这里面存在很大一部分剩余空间,这一部分可以分离出来作为code区用,可以根据不同的项目的自行进行调整,但建议建议预留100Clusters。,NANDFlash架构,6235/6238/6228/6230等较高端平台用NANDFlash架构NANDFLASH无法直接寻址,不能直接运行软件,要load到RAM中才能运行。实际上是NANDFLASH+SDRAM架构,以512Mb+256Mb(64MB+32MB)为例,64M,Code区,FAT区,SDRAM,32M,32MRAM,32M,系统盘,用户盘,相关文件及代码:,custom_memorydevice.hScatfile.txtMemoryDeviceList_Since08AW0820.xlsXxx.lis,NANDFlashFAT组成,分为系统盘(systemdrive)和用户盘(userdrive)(APP_STORAGE_IN_SYS_DRV必须为FLASE,不能为TRUE)System+user=NAND_BOOTING_ALLOCATED_FAT_SPACEUser=NAND_FAT_PARTITION_SECTORS,所需RAM大小的计算,TotalROSize+TotalRWSize-DemandPagingROMSize,
展开阅读全文