另外f460只有32k内存是高速内存SRAMH,单周期访问的,可以跑到200MHz的,其它的内存要插入等待周期,最快只能跑100MHz。对速度要求高的变量和堆栈要放到高速内存中,这样才能达到最高性能。可参考下边的设置。
stc_sram_config_t stcSramConfig;
// sram init include read/write wait cycle setting
//sramH最快200MHz
stcSramConfig.u8SramIdx = SramHsIdx;
stcSramConfig.enSramRC = SramCycle1;
stcSramConfig.enSramWC = SramCycle1;
SRAM_Init(&stcSramConfig);
//其它sram最快100MHz
stcSramConfig.u8SramIdx = Sram12Idx | Sram3Idx | SramRetIdx;
stcSramConfig.enSramRC = SramCycle2;
stcSramConfig.enSramWC = SramCycle2;
SRAM_Init(&stcSramConfig);
|