找回密码
 注册
搜索
查看: 1343|回复: 4

[讨论] 10A 53 空间划分 编译遇到一个问题

[复制链接]
发表于 2011-4-6 23:38:03 | 显示全部楼层 |阅读模式
53 10A代码 128+32的配置

配置空间如下
#define NOR_BOOTING_NOR_FS_BASE_ADDRESS           0x0c00000  //12m
#define NOR_BOOTING_NOR_FS_SIZE                   0x3c0000   //3.75M
#define NOR_BOOTING_NOR_FS_FIRST_DRIVE_SECTORS    4096     //2m



//下面两行语言为MTK默认
#define PROJECT_EXPECTED_RAM_LIMIT    0x400000     //4m
#define PROJECT_EXPECTED_CODE_LIMIT   0x1000000   //16M


编译到emigen

报错
Cannot configure expected CODESIZE larger than (physical NOR flash size - FAT space)

报错部分代码:
if (defined $PROJECT_EXPECTED_CODE_LIMIT)
{
    #ensure practical
    &error_handler("$CUSTOM_MEMORY_DEVICE_HDR: Cannot configure expected CODESIZE larger than (physical NOR flash size - FAT space)!", __FILE__, __LINE__)      
if ( hex($PROJECT_EXPECTED_CODE_LIMIT) > $NOR_FLASH_BASE_ADDRESS_VAL );
}


对于这个报错 ,个人不是很理解

physical NOR flash size - FAT space
16M-3.75M=12.25m

codesize  12M


怎么会 CODESIZE larger than (physical NOR flash size - FAT space呢

期待高人指点 谢谢
 楼主| 发表于 2011-4-7 21:27:22 | 显示全部楼层
以下是引用yangjianchao在2011-4-7 16:40:18的发言:
1.为什么配置12+3。75,还有0。25M为什么不用?
2。flash空间分为code区和FAT区,你目前设置的code区为12M,CODE_LIMIT应该不超过code区,而你CODE_LIMIT现在为16M,应该改为12M:
#define PROJECT_EXPECTED_CODE_LIMIT                 0x0C00000                 //12M



谢谢,
第一点:
0.25M不用,这个是保持系统的稳定性。
MTK原文:
         2. Please assign the exact integer value in terms of sectors (one sector equal
            to 512 Bytes) in NOR_BOOTING_NOR_FS_FIRST_DRIVE_SECTORS.
            MUST NOT assign as
            (TOTAL_FS_SIZE - SIZE_OF_SYSTEM_DRIVE), because system will keep
            some spaces for disk management.

第二点,谢谢你的解释。我也已经找到这个原因。
点评回复

使用道具 举报

发表于 2011-4-7 16:40:18 | 显示全部楼层
1.为什么配置12+3。75,还有0。25M为什么不用?
2。flash空间分为code区和FAT区,你目前设置的code区为12M,CODE_LIMIT应该不超过code区,而你CODE_LIMIT现在为16M,应该改为12M:
#define PROJECT_EXPECTED_CODE_LIMIT   0x0C00000   //12M
点评回复

使用道具 举报

 楼主| 发表于 2011-4-7 16:22:07 | 显示全部楼层
自己顶下
点评回复

使用道具 举报

发表于 2011-4-8 08:15:47 | 显示全部楼层
对于楼主的第一点理解有些不同看法。
我认为这里的TOTAL_FS_SIZE指的是NOR_BOOTING_NOR_FS_SIZE,SIZE_OF_SYSTEM_DRIVE是指NOR_BOOTING_NOR_FS_FIRST_DRIVE_SECTORS。也就是说如果NOR_BOOTING_NOR_FS_SIZE 0x200000的话,NOR_BOOTING_NOR_FS_FIRST_DRIVE_SECTORS必须小于4096。这个系统保留磁盘管理空间也是在文件系统之内的。
具体信息可以参考编译产生的ckSysDrv.log。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-27 15:13 , Processed in 0.044223 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表