为了提高代码在FLASH中的执行效率,需要进行合理的配置和优化,包括以下几个方面:
2.1 FLASH等待状态配置
N32G45x芯片的FLASH存储器支持多种等待状态(Wait State),以适应不同的系统主频。等待状态的配置直接影响FLASH的访问速度。
配置方法:
根据系统主频选择合适的等待状态,确保在不同主频下FLASH的访问能够稳定进行。以下是一个基于C语言的配置示例:
c
void FLASH_WaitStateConfig(uint32_t systemClock) {
if(systemClock <= 24MHz) {
// 设置为0等待状态
FLASH->ACR &= ~FLASH_ACR_LATENCY;
} else if(systemClock <= 48MHz) {
// 设置为1等待状态
FLASH->ACR = (FLASH->ACR & ~FLASH_ACR_LATENCY) | FLASH_ACR_LATENCY_1;
} else if(systemClock <= 72MHz) {
// 设置为2等待状态
FLASH->ACR = (FLASH->ACR & ~FLASH_ACR_LATENCY) | FLASH_ACR_LATENCY_2;
} else {
// 设置为3等待状态
FLASH->ACR = (FLASH->ACR & ~FLASH_ACR_LATENCY) | FLASH_ACR_LATENCY_3;
}
}
|