你好,由于受到了DSP RAM和EEPROM空间的限制,我想将故障数据以2ms的写操作周期向FLASH中存储,我想问的是:
1、手册中提到FLASH只能写1000次,是这样少吗?那对于一个产品来说就寿命就不足啦!难道这个FLASH的设计初衷就是主要用于程序吗?
2、手册中提到FLASH的写周期是16bit-word 50us,我们的需求是一次写操作32word/2ms,这个FLASH的稳定性应该还是能保证的吧?我采用的是以>10S的不定周期一次性擦除数据sector,但是分周期写入大量数据的故障数据存储方式。
3、当前的FLASH空间分配也不能满足需求,所以我尽可能将FLASH中的用于程序的部分整合,这个有没有什么规则?
当前分配情况为:
SECTOR A 16K:.cinit;.pinit;.tableTri : L = 9.101K
SECTOR B 16K:.econst;.switch;ramfuncs(自定义区域,内部程序拷贝到RAM运行): L = 12.713K
SECTORC 16K、SECTORD 16K:.text : L = 23.932K
我想将SECTOR A空出来用于存储故障数据,请问目前的这些内容是不是可以随意混合存储在任何的FLASH空间中,比如,是否A中的内容可以全部存储到B中,或者部分存储到D中??
或者,由于他们的编程操作次数不同,所以必须这样分组分块存储???
虽然知道各段包含的内容的描述,但是在具体程序中,并不是很明白是什么规则使得编译器将哪个函数或变量确切地分配到哪个块中。比如,我们的两个通讯函数commsci.obj和comEcan.obj就分配到了.switch中,我不理解,麻烦您帮忙讲解一下。
0