bigbaicai

芯方式是以半导体人、电子工程师等电子行业相关领域从业人员为核心的知识经验学习、分享、交流社群。 凭借开放、合作、共赢的运营理念,聚集了来自国内外知名院校和顶尖科技公司的半导体人、电子工程师。 我们致力于营造专业、认真、有温度的分享交流环境,将高质量的内容和方案成规模地生产和分享,帮助个人和团队在芯方式找到有价值的Key。 http://www.icfans.com/

编译报错:"TOTAL_BLOCKS > 127

0
阅读(1316)

[DESCRIPTION]
有时候在对FS(文件系统)区域调整之后,重新编译的时候会出现如下报错:
#if !defined(_NAND_FLASH_BOOTING_) && !defined(__EMMC_BOOTING__)
#ifndef __NOR_FDM5__
#if (TOTAL_BLOCKS > 127)
#error "TOTAL_BLOCKS > 127 , recommend enable Pseudo Sized Block feature for serial flash
project. Enable FDM5.0 feature for NOR flash project."
#endif
#endif
#endif
[SOLUTION]来自半导体社区
出现上述报错的原因是:目前在6250或者6260平台上,FS最大能管理的size =127 block size。所以block的数目
不能超过127,否则就会报错。
解决方案(此处以6260为例):
Step1: 在tools\memoryDevicelist\ memoryDevicelist_MT6260_xxx.xls中找到本版本对应的Flash。
MTKSIP_6260_SF_32_01
MTKSIP_6260_SF_32_02
MTKSIP_6260_SF_32_03
Step2: 根据第一步中找到的Flash(共三颗),修改Flash的"Region" 栏目的值。
默认的"Region"如:{0x1000, 64}。表示的是FS区域由64个block组成,每个block size为
0x1000(4KB)。请增大block size的值,从而减少block的数据。 可以调整为:{0x8000, 8}。
Step3:"Region"栏目调整之后,"Block Info"栏位的值也要修改。
如: {0x0,0x1000} ----> {0x0,0x8000}
Step4: FS的起始地址,以及FS size都必须要满足block对齐。
打开custom\system\project\custom_MemoryDevice.h,找到:
NOR_BOOTING_NOR_FS_BASE_ADDRESS
NOR_BOOTING_NOR_FS_SIZE
要对上述这两个值进行调整,保证block(注意此时的block已经被调整过了,以上述为例,此时已调整为
0x8000)