68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> HK32/航順 >> 關(guān)于應(yīng)用航順芯片HK32F030延時效率問題

關(guān)于應(yīng)用航順芯片HK32F030延時效率問題

關(guān)鍵字:航順芯片 HK32F030 延時效率問題 航順代理 作者: 來源: 發(fā)布時間:2022-05-17  瀏覽:10
客戶在應(yīng)用程序中可能存在死等延時的處理函數(shù)(用for或者do…while)。 對比ST同樣的函數(shù)HK的芯片出現(xiàn)延時比ST慢,是因?yàn)镠K的芯片在cpu和flash之間有一個4個word大小(編號為00,04,08,0c)的指令緩存,工程編譯之后,如果函數(shù)被存放到flash的地址的尾地址沒有從0開始的話,(比如函數(shù)的入口地址為0x08000004,會被放到編號04的字中,而不是編號0中),就會出現(xiàn)執(zhí)行效率低的問題。

如何避免這種問題呢?

我們在HK030/031/04A的應(yīng)用筆記中有指導(dǎo)說明,今天在這里用一個例子詳細(xì)說明修改方法:

比如用戶使用uint32_tGItimer=1000000;voidDelayTimer(void){uint32_t i;for(i=0;i<GItimer;i++){  i=i;}}這樣工程編譯后放在flash ROM空間不同位置,尤其是超過32K后容易表現(xiàn)出來延時不同。為了解決這種因程序尾地址不同造成命令預(yù)取指不同而影響指令執(zhí)行效率問題,把延時程序修改成如下方式可以避免上述現(xiàn)象。

修改如下:voidDelayTimer(void){  uint32_t i;  FLASH->ACR&= ~(0x00000010);  for(i=0;i<GItimer;i++)  {   __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  __nop();  } FLASH->ACR |= 0x00000010;  }這樣修改后,就可以使調(diào)用函數(shù)延時指令執(zhí)行效率與ST一樣。因此用戶在使用030/031/04A做開發(fā)時如果程序中存在這樣死等待的延時函數(shù),如果在時效上想與ST接近,建議采用這種方式修改。

如需要了解更多航順MCU產(chǎn)品,請聯(lián)系航順核心代理商,穎特新科技,或者掃碼聯(lián)系我們!

  航順代理聯(lián)系方式

在之前的介紹中,我們也為大家介紹了航順代理:HK32F103進(jìn)空閑中斷的解決方法,也是目前我們主推的非常成熟的解決方案!

編輯:zzy  最后修改時間:2022-05-17

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

兴业县| 侯马市| 南开区| 滦平县| 曲阜市| 彰化县| 格尔木市| 金坛市| 天全县| 武胜县| 东兰县| 绍兴县| 常州市| 于田县| 八宿县| 登封市| 乐清市| 苏尼特右旗| 西和县| 金乡县| 大姚县| 陈巴尔虎旗| 富顺县| 台中县| 大庆市| 古蔺县| 惠水县| 司法| 榆树市| 衢州市| 岳西县| 随州市| 简阳市| 封开县| 肇庆市| 梁平县| 宜都市| 确山县| 松溪县| 鹤壁市| 晋州市|