MTK之Flash篇二------如何调整Flash中FAT的配置
来源:互联网 发布:简述域名系统的作用 编辑:程序博客网 时间:2024/06/08 16:21
文章来源:
www.rd518.com/bbs/dv_rss.asp?s=xhtml&boardid=30&id=421&page=1&star=1&count=1
下面以SPANSION S71GL的Combo Flash
(ROM+RAM:128Mbits+32Mbits,16MBytes+4Mbytes)为例说明如何调整FAT
(从0x00200000到0x00180000):
1. 文件custom_MemoryDevice.h中找到Flash的型号S71GL128NB0BFW9Z:
#define CS0_PART_NUMBER S71GL128NB0BFW9Z
#define CS1_PART_NUMBER S71GL128NB0BFW9Z
2. 文件custom_MemoryDevice.h中找到以下三行
!NOR_RAM_MCP PROJECT EXPECTED CODESIZE 0x00E00000
!NOR_RAM_MCP PROJECT EXPECTED RAMSIZE 0x00400000
!NOR_RAM_MCP PROJECT EXPECTED FATSIZE 0x00200000
分别表示:
a. 最大的ROM区域大小。这里是0x00E00000(14Mbytes)。
说明:build后的MAP文件(*.lis)中的“Total ROM Size(Code + RO Data + RW Data)”部分放置到此区域。
b. 最大的RAM区域大小。这里是0x00400000(4Mbytes)。
说明:build后的MAP文件(*.lis)中的“Total RW Size(RW Data + ZI Data)”部分放置到此区域。
c. 最大的FAT区域大小。这里是0x00200000(2Mbytes),与ROM区域的0x00E00000(14Mbytes)共为0x00100000(16Mbytes)。
说明:FAT由NVRAM部分和提供给用户使用的手机文件系统(即U盘)组成。
3. 文件custom_MemoryDevice.h中找到:
#define PARTITION_SECTORS 1024
此配置为留给用户使用的手机文件系统(“文件管理”菜单中的“手机”,即U盘)的SECTOR数目,每个SECTOR默认为512Bytes。
注意:当此配置为0时,手机没有文件系统。这里的1024表示U盘大小约为512K。
4. 文件MemoryDeviceList_Since07AW0736.xls(注意不同平台的文件名可能不同)中找到相应的Flash型号S71GL128NB0BFW9Z。如下表所示。
Vendor
Part Number
CS
ADMUX
Size(Mb)
Page Size
Comm.Series
Bank
Spansion
S71GL128NBOBFW9Z
S71GL128NBOBFW9U
0
1
NO
NO
128
32
16
16
SPANSION_GL_N
*
S
*
Last bank
F/C
C.Adress
C.Data
Region
F
*
*
*
*
*
{0x20000, 16},
*
其中
a. Size(Mb)表示Flash的大小为为128+32Mbits。
b. Last Bank为Flash的最后一个Bank的配置,一般指的是划分给FAT的区域。
c. Region表示划分给FAT的大小。这里是“{0x20000, 16},”,为16个Block,每个Block的大小为0x20000Bytes,共0x00200000(2Mbytes)。有的Flash最后一个Bank的Block大小不同,如S71GL064NB0BFW0Z 的为“{0x10000, 9},{0x2000, 8},”。
5.修改文件MemoryDeviceList_Since07AW0736.xls中S71GL128NB0BFW9Z的Region为“{0x20000, 12},”,即FAT为0x00180000(1.5Mbytes)。
6. 文件custom_MemoryDevice.h中修改ROM+RAM+FAT的配置为:
!NOR_RAM_MCP PROJECT EXPECTED CODESIZE 0x00E80000
!NOR_RAM_MCP PROJECT EXPECTED RAMSIZE 0x00400000
!NOR_RAM_MCP PROJECT EXPECTED FATSIZE 0x00180000
其中,FAT从0x00200000(2Mbytes)减少到0x00180000(1.5Mbytes),ROM从0x00E00000(14Mbytes)增加到0x00E80000(14.5Mbytes)。
7. 文件custom_MemoryDevice.h中修改用户文件系统(U盘)的大小为:
#define PARTITION_SECTORS 512 //1024
8. 修改项目的Scatter文件。
修改之前的Scatter文件中,ROM的大小为0x00e00000。
ROM 0x08000000 0x00e00000
{
ROM 0x08000000 0x00400000
{
...
}
...
}
调整FAT后,ROM的大小相应地增加到0x00e800000:
ROM 0x08000000 0x00e80000
{
ROM 0x08000000 0x00400000
{
...
}
...
}
9. 在new的过程中,会自动检查FAT的配置是否正确,特别是PARTITION_SECTORS的配置是否满足要求。检查的结果生成在ckSysDrv.log文件中。
Byte Cluster
Allocated FAT Space 1572864 //FAT大小(0x00180000)
Partition Sectors 262144 //PARTITION_SECTORS*512(512*512)Drive Overhead 663552 //
================================================
Free Space for Folders and Applications 638976 1248 //除U盘外的FAT
Cluster Size 512 1
FAT Overhead 4608 9
NVRAM_EF_SYS_LID 34 1 //每个NVRAM占用的字节数
...
NVRAM_EF_SETTING_TTS_LID 10 1
TOTAL 252320 561 //所有NVRAM占用的字节数
-----------------------------------------------------------
Z:/@FACTORY/ 0 0
Z:/@wap/ 163840 320
Z:/@wcache/ 51200 100
Z:/@USER/ 0 0
Z:/@ftp/ 61440 120
Z:/@Video/ 1024 2
TOTAL 277504 542 //WAP等第三方软件占用的字节数
================================================
Free Space 1248 clusters are enough for Folders and Applications 1112 clusters.
136 clusters are left.
10 型号为M36L0T7050T2ZAQ的Flash为FAT做同样的调整时,只有文件MemoryDeviceList_Since07AW0736.xls中的Region配置不一样。
调整前:
ST
M36L0T7050T2ZAQ
M36L0T7050T2ZAQ
NO
NO
0
1
128
32
8
16
INTEL_SERIES
*
M
*
Last bank
F/C
C.Adress
C.Data
Region
F
*
*
*
*
*
{0x20000,15},
{0x8000, 4}
调整后:
ST
M36L0T7050T2ZAQ
M36L0T7050T2ZAQ
NO
NO
0
1
128
32
8
16
INTEL_SERIES
*
M
*
Last bank
F/C
C.Adress
C.Data
Region
F
*
*
*
*
*
{0x20000, 11},
{0x8000, 4}
- MTK之Flash篇二------如何调整Flash中FAT的配置
- MTK之Flash篇一
- mtk flash配置
- MTK flash配置方法
- MTK android flash 配置
- MTK android flash 配置
- MTK android flash 配置
- MTK android flash 配置
- MTK android flash 配置
- MTK android flash配置
- MTK android flash配置
- MTK android flash 配置
- MTK Android flash 配置
- mtk配置flash
- MTK android flash 配置
- (转)MTK之Flash篇一
- mtk nand flash配置支持
- mtk nand flash配置支持
- C++命名空间的使用
- freescale LTIB使用总结
- 《为什么要导师?》 之《选题》
- 女程序员自我成就三步曲
- SuSE mail server configure
- MTK之Flash篇二------如何调整Flash中FAT的配置
- 整合OGRE的地形和PSSM+LiSPSM阴影算法
- 启用Internet口令锁定
- js + css实现左侧悬浮导航栏
- 女性技术管理者更能精准把握人际关系
- Workflow(IBatis)
- 将 Flex 3 应用程序迁移到 Flex 4
- ubuntu10.10下vim的解决方法
- SilverLight4:在MVVM架构下实现模式窗口