Questions:闪存零等待区(ZW)和非零等待区(NZW)有何区别?请说明。
Answer:
1. 零等待(ZW)是指MCU内核,以零等待周期从FLASH内取指令(取指无等待周期);
非零等待(NZW)是指MCU内核,以非零等待周期从FLASH内取指令(取指要等待周期)。
2. 零等待(ZW)和非零等待(NZW)的区域位置不同:
零等待(ZW)在FLASH前部分区域,非零等待(NZW)在FLASH后部分区域。
以AT32F403AVGT7为例:
零等待(ZW)大小区域为256 KB, 是从0X0800 0000 - 0X0803 FFFF;
非零等待(NZW)大小区域为768 KB,是从0X0804 0000 - 0X080F FFFF。
3. 零等待(ZW)和非零等待(NZW)的区域大小会随着SRAM 区域大小的调整而改变。
以AT32F403AVGT7为例:
SRAM: 96 KB, ZW: 256 KB, NZW: 768 KB (默认配置)
SRAM: 224 KB, ZW: 128 KB, NZW: 896 KB。
4. 零等待(ZW)和非零等待(NZW)的运行速度有差别,非零等待(NZW)的执行速率约为零等待(ZW)的0.4倍。
以AT32F403AVGT7为例:
当系统时钟240MHz,SRAM 默认为96KB , 零等待(ZW) 默认为256KB ,FW大小为 512KB bin文件,前部分零等待(ZW)区域的256KB以 240MHz速率执行,后部分256KB bin文件存放在非零等待(NZW)