|
T5L提供了320KB的内部NOR FLASH,可存储掉电不丢失数据。
该flash为GUI核驱动,51核通过访问DGUS接口变量实现对数据的读写操作。
该flash访问涉及到的FLASH地址,DGUS缓存变量地址,读写字长度(双字节),均应为偶数,说明
本质上属于32位存储器。
实测了一下该flash的读写周期,以单次读写200字节为例:
读:20ms;
写:80ms;
合计:100ms;
因为DGUS变量本身读写速度很快,时间开销主要为51核等待GUI核读写完成上。这个时间会比较长尤其是flash写操作。
考虑到此时51核只需要耐心等待即可,不会影响其它任务执行。
// 3.等待操作完成
while(1)
{
read_dgus(0x08,d,2);
if(d[0]==0) break;
os_wait2 (K_TMO, 2);
}
当读写字节数减小时,时间开销并没有明显的变化,依然会在100ms左右。
ps:该指令中,DGUS缓存地址为16位。
D3:2:数据变量空间首地址,必须是偶数。
以双字节地址计算的话,说明该地址只能是前128K地址,而不能是留给用户使用的后128K地址。
因为后128K地址>16位。
|
|