衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用Keil打開GD32 FPU及使用ARM DSP庫 ?

聚沃科技 ? 2024-01-13 09:42 ? 次閱讀

GD32目前支持ARM Cortex-M和RISC-V兩種內核系列芯片,其中Cortex-M內核已經支持的有M3、M4、M23、M33、M7,這里面除了M3和M23以外,其他的都帶FPU單元。我們知道,FPU在浮點運算速度上有很大的提升,并且只有帶FPU才可以使用ARM的DSP庫。

現在就以GD32F303為例來教大家在keil中如何打開GD32 FPU以及使用ARM DSP庫的方法。

第一步:在keil-Options-Target中設置Floating Point Hardware為Single Precision(小編用的是Keil5,用Keil4的小伙伴這里應該選為Use FPU)

wKgaomWh6dyAObq2AAGNfkmnj2w223.png

第二步:工程中定義 __TARGET_FPU_VFP

wKgZomWh6eGAQBhiAALObuBqrRA242.png

第三步:打開gd32f30x.h文件,設置 __FPU_PRESENT為1

wKgZomWh6eaANicrAAKQllSxQJM238.png

做完以上三步,可以看到SystemInit函數中的SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));語句從無效變為有效了(實際上這句就是打開FPU單元)。

wKgaomWh6e2ANkqLAAD31X3yCFI880.pngwKgZomWh6fKAGCsqAAD7NE-3bRE920.png

好了,我們來驗證下FPU是不是被打開了,我們編譯工程并下載MCU中,在Memory窗口看下0xE000ED88地址的數,如果為0x00F00000,就說明FPU被正確打開了。

wKgaomWh6fiAfLPZAAB9O0RqHOw455.png

下面我們來介紹下如何使用ARM的DSP庫,首先,我們需要兩個文件:arm_cortexM4lf_math.lib 和arm_math.h,GD官方庫是不帶這兩個文件的,小伙伴們可以自行網上下載或者聯系我們提供哦。

第一步:將arm_cortexM4lf_math.lib 加入到工程中

wKgZomWh6gCAWX8aAACt588UcXs007.png

第二步:工程中定義ARM_MATH_CM4

wKgZomWh6gSAXHLMAAH_AzNTd4w205.png

做好這兩步后,就可以使用ARM DSP庫了。調用的方法也很簡單,在需要調用DSP庫的文件中包含頭文件:arm_math.h

wKgaomWh6gmAWribAACFnZ9Sr74382.png

然后就可以使用DSP庫中的函數了,比如arm_sin_f32函數,下面分別用math標準庫函數和ARM DSP math庫來計算sin(π/6),小伙伴們可以自行測試運算速度差別哦。

wKgZomWh6hGAH2lYAADuZgTm3Cs424.png

好了,今天的內容就這些,如果還沒有學廢,那就評論區聊聊吧~記得點贊收藏加關注

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6043

    文章

    44622

    瀏覽量

    638518
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9165

    瀏覽量

    369170
  • keil
    +關注

    關注

    69

    文章

    1214

    瀏覽量

    167271
  • GD32
    +關注

    關注

    7

    文章

    413

    瀏覽量

    24467
收藏 人收藏

    評論

    相關推薦

    如何使用Keil打開GD32 FPU及使用ARM DSP?#GD32 #KEIL #單片機 #嵌入式

    單片機mcu
    聚沃科技
    發布于 :2024年01月15日 10:08:48

    什么是GD32

    是不同的產品,不可能所有東西都沿用STM32,有些自主開發的東西還是有區別的。相同的地方我們就不說了,下面我給大家講一下不同的地方。二、區別1、內核GD32采用二代的M3內核,STM32主要采用一代M3內核,下圖是ARM公司的M3內核勘誤表,
    發表于 08-12 07:46

    GD32芯片包添加步驟有哪些

    **GD32芯片包添加步驟**GD32開發環境可以有多個選擇,常見的開發編譯環境有:Keil4,keil5,IAR。本教程針對keil5如何
    發表于 11-22 08:30

    請問GD32啟動文件使用的ARM匯編指令有哪些呢

    請問GD32啟動文件使用的ARM匯編指令有哪些呢?
    發表于 11-29 07:06

    GD32系列總結

    LSI時鐘片內時鐘關系CubeMX配置LL集成CubeMX關鍵配置Port配置時鐘樹Debug其他配置CubeMX的整體感受寫在前面由于手里暫時沒有GD32的板子,只有一個同系列的STM32,但是封裝
    發表于 02-11 07:11

    如何使用keil5/MDK對GD32進行軟件仿真?

    如何使用keil5/MDK對GD32進行軟件仿真?
    發表于 02-22 06:32

    學習一下GD32官方的使用

    GD32和STM32相比有哪些優勢呢?學習一下GD32官方的使用
    發表于 02-28 06:55

    GD32單片機開發環境搭建(Keil5安裝)

    GD32單片機開發環境搭建(Keil5安裝)
    發表于 11-13 14:36 ?40次下載
    <b class='flag-5'>GD32</b>單片機開發環境搭建(<b class='flag-5'>Keil</b>5安裝)

    GD32F系列單片機開發總結(二):GD32芯片包添加步驟

    **GD32芯片包添加步驟**GD32開發環境可以有多個選擇,常見的開發編譯環境有:Keil4,keil5,IAR。本教程針對keil5如何
    發表于 11-13 17:21 ?37次下載
    <b class='flag-5'>GD</b>32F系列單片機開發總結(二):<b class='flag-5'>GD32</b>芯片包添加步驟

    GD32和AT32哪個好?

    功能和強大的性能的微控制器。它主要用于智能家居、智能電機控制、醫療設備等領域。 GD32系列芯片采用了3種不同的內核:ARM Cortex-M0+、
    的頭像 發表于 08-16 11:32 ?2634次閱讀

    GD32與STM32兼容嗎?

    的STMicroelectronics公司設計和生產的。 雖然GD32與STM32都是基于ARM Cortex-M內核的微控制器,但是它們并不完全兼容。由于兩個公司的設計和生產流程不同,GD32系列和STM32系列
    的頭像 發表于 08-16 11:32 ?3038次閱讀

    hc32和gd32的區別

    hc32和gd32的區別 HC32和GD32都是中國的MCU品牌,它們都是標準的ARM Cortex-M內核芯片。HC32的品牌是華大集成電路,而GD32的品牌是吉祥航空電子。這兩個品
    的頭像 發表于 08-16 11:33 ?3457次閱讀

    KEIL5如何打開KEIL4的GD工程

    GD官方提供的很多KEIL例程為KIEL4的版本,讀者使用的時候可能會碰到使用KEIL5打開KEIL4的工程會報錯以及無法找到芯片選型的問題
    的頭像 發表于 01-11 09:43 ?969次閱讀
    <b class='flag-5'>KEIL</b>5如何<b class='flag-5'>打開</b><b class='flag-5'>KEIL</b>4的<b class='flag-5'>GD</b>工程

    GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(1)使用Keil開發GD32

    GD32系列為通用型MCU,所以開發環境也可以使用通用型的IDE,目前使用較多的是KEIL、IAR、 GCC和Embedded Builder,客戶可以根據個人喜好來選擇相應的開發環境。
    的頭像 發表于 08-08 15:01 ?1432次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】一、<b class='flag-5'>GD32</b> MCU 開發環境搭建(1)使用<b class='flag-5'>Keil</b>開發<b class='flag-5'>GD32</b>

    GD32 MCU 入門教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的頭像 發表于 08-25 09:24 ?739次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】<b class='flag-5'>GD32</b> MCU <b class='flag-5'>FPU</b> 使用方法
    威尼斯人娱乐城是真的吗| 澳门百家乐出千吗| 百家乐官网游戏奥秘| 成人百家乐的玩法技巧和规则| 八大胜百家乐官网的玩法技巧和规则 | 百家乐最好的投注法| 百家乐官网娱乐城提款| 购物返现金网站| 百家乐送彩金网络| 百家乐官网押注方法| 百家乐官网斗牛稳赚| 大发888被查| 大发888娱乐场大发888娱乐场| 百家乐官网在线洗码| 立即博最新网址| 菲律宾太阳城娱乐| 百家乐六合彩| 免费百家乐官网分析工具| 百家乐官网返水1.2不限| 百家乐官网游戏规测| 网上赌博网址| 百家乐轮盘一体机厂家| 百家乐足球投注网哪个平台网址测速最好 | 博罗县| 博彩开户| 大西洋娱乐城开户地址| 大发888大发体育| 威尼斯人娱乐城导航网| 现金百家乐信誉| 澳门百家乐官网职业赌客| 真钱百家乐官网注册送| 百家乐官网破解辅助| 温州市| 汝南县| 百家乐官网节目视频| 万全县| 百家乐官网什么平台好| 百家乐官网出租平台| 津南区| 百家乐官网游戏怎样玩| 百家乐官网烫金筹码|