用戶在應(yīng)用程序中可能存在死等延時(shí)的處理函數(shù)(用for或者do…while)。 對(duì)比ST同樣的函數(shù)HK的芯片出現(xiàn)延時(shí)比ST慢,是因?yàn)镠K的芯片在cpu和flash之間有一個(gè)4個(gè)word大小(編號(hào)為00,04,08,0c)的指令緩存,工程編譯之后,如果函數(shù)被存放到flash的地址的尾地址沒(méi)有從0開(kāi)始的話,(比如函數(shù)的入口地址為0x08000004,會(huì)被放到編號(hào)04的字中,而不是編號(hào)0中),就會(huì)出現(xiàn)執(zhí)行效率低的問(wèn)題。
如何避免這種問(wèn)題呢?
我們的HK030/031/04A的應(yīng)用筆記中有指導(dǎo)說(shuō)明,今天在這里用一個(gè)例子詳細(xì)說(shuō)明修改方法:
比如用戶使用uint32_tGItimer=1000000;voidDelayTimer(void){uint32_t i;for(i=0;i
修改如下:voidDelayTimer(void){ uint32_t i; FLASH->ACR = ~(0x00000010); for(i=0;iACR |= 0x00000010; }這樣修改后,就可以使調(diào)用函數(shù)延時(shí)指令執(zhí)行效率與ST一樣。因此用戶在使用030/031/04A做開(kāi)發(fā)時(shí)如果程序中存在這樣死等待的延時(shí)函數(shù),如果在時(shí)效上想與ST接近,建議采用這種方式修改。
來(lái)源:航順芯片
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
17718瀏覽量
358353 -
航順芯片
+關(guān)注
關(guān)注
1文章
110瀏覽量
23069
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
HK32MCU應(yīng)用筆記(五)| 關(guān)于應(yīng)用HK32F030延時(shí)效率問(wèn)題 應(yīng)用筆記

HK32MCU應(yīng)用筆記(二十)| HK32F103xC/D/E USB枚舉情況分析(二)

HK32MCU應(yīng)用筆記(十八)| HK32F103xC/D/E-DAC的應(yīng)用及注意事項(xiàng)

HK32MCU應(yīng)用筆記(十七)| HK32F103xC/D/E-flash擦寫應(yīng)用及注意事項(xiàng)

HK32MCU應(yīng)用筆記(十六)| HK32F103xC/D/E-Timer的應(yīng)用及注意事項(xiàng)
HK32MCU應(yīng)用筆記(十四)| HK32F103x/C/D/E-TIM1的應(yīng)用及注意事項(xiàng)

HK32MCU應(yīng)用筆記(十三)| HK32F103xC/D/E-ADC的應(yīng)用及注意事項(xiàng)

HK32MCU應(yīng)用筆記(十二)| HK32F103xC/D/E的GPIO的應(yīng)用及注意事項(xiàng)

HK32MCU應(yīng)用筆記(十一)| HK32F103xC/D/E的flash讀保護(hù)應(yīng)用及注意事項(xiàng)

HK32MCU應(yīng)用筆記(九)| HK32F103x8xB系列CAN的應(yīng)用解決方案
HK32MCU應(yīng)用筆記(七)| 航順HK32MCU閂鎖效應(yīng)問(wèn)題研究及預(yù)防措施

HK32MCU應(yīng)用筆記(四)| 關(guān)于老版本HK32F103串口USART偶爾出現(xiàn)數(shù)據(jù)錯(cuò)誤
HK32MCU應(yīng)用筆記(一)| HK32F030X系列在PH測(cè)量筆的應(yīng)用

評(píng)論