[FAQ06986]系统空间配额不足
0赞[Description]
系统空间配额不足的处理方法
[Keyword]
系统空间配额不足
[Solution]
有时候客户会遇到在开机时弹出“系统空间配额不足”提示框的情形,遇到这样的问题一般处理流
程如下例所示(具体数据以所用版本为准):
芯片Step1:
打开build\project\log\cksysDrv.log。查看这个文件最后面会有“XXX clusters are
left”的标记。(要求剩余的空间要大于10KB)
但是有时候通过工具会往系统盘写入文件,这样会导致cksysDrv.log计算的剩余空间不准确。
所以会发现剩余大于10KB,但是还是开机提示配额不足。
Step2:
打开custom\system\project\custom_MemoryDevice.h,找到如下语句:
#define NOR_BOOTING_NOR_FS_BASE_ADDRESS 0x3CF000 //FS区域的起始地
址,可能被默认注销
#define NOR_BOOTING_NOR_FS_SIZE 0x004000 //FS区域
的大小
#define NOR_BOOTING_NOR_FS_FIRST_DRIVE_SECTORS 30 //FS区域的用户区
大小,单位为sector(512Byte)
Step3:
通过减小NOR_BOOTING_NOR_FS_BASE_ADDRESS的值,可以让整个FAT往前挪,即:增加了FAT区域整
体的Size。
调整NOR_BOOTING_NOR_FS_BASE_ADDRESS,要同时修改FAT区域的Size值
NOR_BOOTING_NOR_FS_SIZE。
Step4:
NOR_BOOTING_NOR_FS_FIRST_DRIVE_SECTORS表示的是用户盘的大小,可以适当减少这个值(1
SECTORS大小为512 BYTE),从而增加系统盘的区域。
半导体调整过程的注意事项:
1. 通过把整个FAT区域往前挪,增加FAT区域Size时。切忌不能让FAT区域踩到Code区。
打开build\project\log\ckImgSize.log可以找到如下段落:
[Check VIVA bin size]
The Boundary of VIVA bin = 3932160 bytes;
Actual VIVA End Address = 3619156 bytes。
其中,Actual VIVA End Address的值表示的是,目前Code区域实际的大小; The Boundary
of VIVA bin是表示预留给Code的区域大小。实际值与预留值之间的差值,就是FAT区域可以调整的
大小。(即:FAT能调整的最大范围就是实际值与预留值之间的差值。)
2. 在调整FAT区域的时候,要保证block对齐。即:NOR_BOOTING_NOR_FS_BASE_ADDRESS等值不
能随意写,必须保证block对齐。打开tools\MemoryDeviceList\对应的表格,可以找到“Last
Bank/Region”栏:如{0x1000,16}。其中0x1000就是block的大小(4KB)。