找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3887|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

HC32F460 MCU開啟FPU 附工程模板源程序@YUJINQU

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
我們知道在HC32F460系列芯片當(dāng)中有FPU這個(gè)內(nèi)核模塊但應(yīng)用手冊當(dāng)中并沒有寫出如何打開這個(gè)功能。
可能很多初學(xué)者用不到FPU 但多學(xué)總沒有壞處。FPU是專門用于浮點(diǎn)計(jì)算的單元根據(jù)IEEE的浮點(diǎn)標(biāo)準(zhǔn)
原本通用CPU需要3~4個(gè)周期的計(jì)算時(shí)間現(xiàn)在只需要一個(gè)FPU指令就行。在觸摸屏,數(shù)學(xué)函數(shù)運(yùn)算時(shí)特別有用。

ok首先我們必須添加arm_math.h這個(gè)官方數(shù)學(xué)庫,如果系統(tǒng)提示沒有該文件那你必須安裝CMSIS這個(gè)PACK。
這個(gè)CMSIS PACK里面有非常多ARM庫,比如DSP這個(gè)庫就在其中。因?yàn)槿A大半導(dǎo)體并沒有為自己的芯片提供DSP庫
所以我們也只能用CMSIS(ST就自己優(yōu)化過的DSP庫)并且我們不用擔(dān)心法律問題Arm根據(jù)Apache 2.0許可免費(fèi)提供CMSIS 。
接下來是要添加幾個(gè)全局宏定義主要是為了打開預(yù)編譯

__TARGET_FPU_VFP,__FPU_PRESENT,ARM_MATH_CM4
前面的兩個(gè)宏是關(guān)于FPU開啟的后面是官方math庫開啟的,在打開編譯FPU開關(guān)其實(shí)沒有必要不過還是打開以防萬一。

之后再在 system_hc32f460kcta.c 的系統(tǒng)初始化函數(shù) SystemInit 添加這段代碼.
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 20) | (3UL << 22)); /* set CP10 and CP11 Full Access */
#endif

int32_t main(void)
{
    float D = 0.000001;
        float C = 0;
    while(1)
    {        
        C = D+C;                        
    };
}
接下來插上仿真器開始調(diào)試,這是反匯編的結(jié)果明顯調(diào)用了FPU指令

并且FPU模塊也被塞滿了數(shù)據(jù)。
下面是C的值。

ok實(shí)驗(yàn)已經(jīng)完成,細(xì)心的可能已經(jīng)發(fā)現(xiàn)了這和STM32的開啟過程一樣為什么你還要寫?其實(shí)內(nèi)核的東西差不了多少
只是在某平臺(tái)的作者也寫了關(guān)于HC32打開FPU的話題但竟然要你開VIP才能看我相信我們的壇友也不想花這個(gè)冤枉錢,
于是乎就有了這篇文章。大家可以加我的QQ群375029515一起討論關(guān)于嵌入式的話題。
下期我們使用HC32F460的ADC功能寫一個(gè)K型熱電偶的溫度采集,討論什么是冷端補(bǔ)償和放大電路設(shè)計(jì)。
謝謝大家看到這里!!!


下面是工程模板:
HC32F460工程模板.zip (536.35 KB, 下載次數(shù): 28)

評分

參與人數(shù) 1黑幣 +90 收起 理由
admin + 90 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:687759 發(fā)表于 2022-3-20 17:15 | 只看該作者
本帖最后由 余金渠 于 2022-3-20 17:17 編輯

也是很無奈文本編輯不能直接貼圖片必須上傳圖片但圖片反而會(huì)被壓縮大家將就看吧但看其他的貼子就是正常尺寸不知道為什么如果有人知道怎么弄麻煩回復(fù)一下。
回復(fù)

使用道具 舉報(bào)

板凳
ID:875095 發(fā)表于 2022-11-1 20:52 | 只看該作者
不錯(cuò)不錯(cuò),有用的很呀。
回復(fù)

使用道具 舉報(bào)

地板
ID:753145 發(fā)表于 2024-10-10 11:02 | 只看該作者

不錯(cuò)不錯(cuò),有用的很呀
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表