金牌会员
 
- 积分
- 1769
- 金钱
- 1769
- 注册时间
- 2015-6-11
- 在线时间
- 313 小时
|
发表于 2015-11-13 15:31:49
|
显示全部楼层
回复【4楼】路边沾点油:
---------------------------------
将本来存储的数组变成 地址+长度
需要用到这些数组时候,从外部flash读取(要提前写入的)存储到RAM中,就可以进行后续处理了,不过如果RAM修改该数组的话就要重新写回去(很消耗时间),所以不经常处理的数据但是占空间大的数据可以这么做,还有一些需要定义初值的数组也可以这样,先不初始化,启动读取外部flash再初始化,可以节省很多时间。程序分开放不建议,因为程序执行需要频繁的擦除跳转(如果内部flash不够只能这样,如果够就不需要采用这种方式)。
例如: const char test[1600] = {1, 2,....1600};
转换为 #define TestAddress 00000000
#define TestLength 1600
char test[1600];
用RAM换取ROM, 需要用到test的话就
SPI_Read(test, TestAddress, TestLength); 这样就节省很多空间 |
|