关于应用航顺芯片HK32F030延时效率问题
客户在应用程序中可能存在死等延时的处理函数(用for或者do…while)。 对比ST同样的函数HK的芯片出现延时比ST慢,是因为HK的芯片在cpu和flash之间有一个4个word大小(编号为00,04,08,0c)的指令缓存,工程编译之后,如果函数被存放到flash的地址的尾地址没有从0开始的话,(比如函数的入口地址为0x08000004,会被放到编号04的字中,而不是编号0中),就会出现执行效率低的问题。如何避免这种问题呢?
我们在HK030/031/04A的应用笔记中有指导说明,今天在这里用一个例子详细说明修改方法:
比如用户使用uint32_tGItimer=1000000;voidDelayTimer(void){uint32_t i;for(i=0;i
修改如下:voidDelayTimer(void){ uint32_t i; FLASH->ACR&= ~(0x00000010); for(i=0;i
如需要了解更多航顺MCU产品,请联系航顺核心代理商,颖特新科技,或者扫码联系我们!
在之前的介绍中,我们也为大家介绍了《航顺代理:HK32F103进空闲中断的解决方法》,也是目前我们主推的非常成熟的解决方案!
编辑:zzy 最后修改时间:2022-05-17