99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Keil打開(kāi)GD32 FPU及使用ARM DSP庫(kù) ?

聚沃科技 ? 2024-01-13 09:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

現(xiàn)在就以GD32F303為例來(lái)教大家在keil中如何打開(kāi)GD32 FPU以及使用ARM DSP庫(kù)的方法。

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

wKgaomWh6dyAObq2AAGNfkmnj2w223.png

第二步:工程中定義 __TARGET_FPU_VFP

wKgZomWh6eGAQBhiAALObuBqrRA242.png

第三步:打開(kāi)gd32f30x.h文件,設(shè)置 __FPU_PRESENT為1

wKgZomWh6eaANicrAAKQllSxQJM238.png

做完以上三步,可以看到SystemInit函數(shù)中的SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));語(yǔ)句從無(wú)效變?yōu)橛行Я耍▽?shí)際上這句就是打開(kāi)FPU單元)。

wKgaomWh6e2ANkqLAAD31X3yCFI880.pngwKgZomWh6fKAGCsqAAD7NE-3bRE920.png

好了,我們來(lái)驗(yàn)證下FPU是不是被打開(kāi)了,我們編譯工程并下載到MCU中,在Memory窗口看下0xE000ED88地址的數(shù),如果為0x00F00000,就說(shuō)明FPU被正確打開(kāi)了。

wKgaomWh6fiAfLPZAAB9O0RqHOw455.png

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

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

wKgZomWh6gCAWX8aAACt588UcXs007.png

第二步:工程中定義ARM_MATH_CM4

wKgZomWh6gSAXHLMAAH_AzNTd4w205.png

做好這兩步后,就可以使用ARM DSP庫(kù)了。調(diào)用的方法也很簡(jiǎn)單,在需要調(diào)用DSP庫(kù)的文件中包含頭文件:arm_math.h

wKgaomWh6gmAWribAACFnZ9Sr74382.png

然后就可以使用DSP庫(kù)中的函數(shù)了,比如arm_sin_f32函數(shù),下面分別用math標(biāo)準(zhǔn)庫(kù)函數(shù)和ARM DSP math庫(kù)來(lái)計(jì)算sin(π/6),小伙伴們可以自行測(cè)試運(yùn)算速度差別哦。

wKgZomWh6hGAH2lYAADuZgTm3Cs424.png

好了,今天的內(nèi)容就這些,如果還沒(méi)有學(xué)廢,那就評(píng)論區(qū)聊聊吧~記得點(diǎn)贊收藏加關(guān)注

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44976

    瀏覽量

    650235
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9349

    瀏覽量

    377311
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1223

    瀏覽量

    169552
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    421

    瀏覽量

    25468
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何使用Keil打開(kāi)GD32 FPU及使用ARM DSP庫(kù)?#GD32 #KEIL #單片機(jī) #嵌入式

    單片機(jī)mcu
    聚沃科技
    發(fā)布于 :2024年01月15日 10:08:48

    什么是GD32

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

    GD32芯片包添加步驟有哪些

    **GD32芯片包添加步驟**GD32開(kāi)發(fā)環(huán)境可以有多個(gè)選擇,常見(jiàn)的開(kāi)發(fā)編譯環(huán)境有:Keil4,keil5,IAR。本教程針對(duì)keil5如何
    發(fā)表于 11-22 08:30

    請(qǐng)問(wèn)GD32啟動(dòng)文件使用的ARM匯編指令有哪些呢

    請(qǐng)問(wèn)GD32啟動(dòng)文件使用的ARM匯編指令有哪些呢?
    發(fā)表于 11-29 07:06

    GD32系列總結(jié)

    LSI時(shí)鐘片內(nèi)時(shí)鐘關(guān)系CubeMX配置LL庫(kù)集成CubeMX關(guān)鍵配置Port配置時(shí)鐘樹(shù)Debug其他配置CubeMX的整體感受寫(xiě)在前面由于手里暫時(shí)沒(méi)有GD32的板子,只有一個(gè)同系列的STM32,但是封裝
    發(fā)表于 02-11 07:11

    如何使用keil5/MDK對(duì)GD32進(jìn)行軟件仿真?

    如何使用keil5/MDK對(duì)GD32進(jìn)行軟件仿真?
    發(fā)表于 02-22 06:32

    學(xué)習(xí)一下GD32官方庫(kù)的使用

    GD32和STM32相比有哪些優(yōu)勢(shì)呢?學(xué)習(xí)一下GD32官方庫(kù)的使用
    發(fā)表于 02-28 06:55

    GD32單片機(jī)開(kāi)發(fā)環(huán)境搭建(Keil5安裝)

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

    GD32F系列單片機(jī)開(kāi)發(fā)總結(jié)(二):GD32芯片包添加步驟

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

    GD32和AT32哪個(gè)好?

    功能和強(qiáng)大的性能的微控制器。它主要用于智能家居、智能電機(jī)控制、醫(yī)療設(shè)備等領(lǐng)域。 GD32系列芯片采用了3種不同的內(nèi)核:ARM Cortex-M0+、
    的頭像 發(fā)表于 08-16 11:32 ?3413次閱讀

    GD32與STM32兼容嗎?

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

    hc32和gd32的區(qū)別

    hc32和gd32的區(qū)別 HC32和GD32都是中國(guó)的MCU品牌,它們都是標(biāo)準(zhǔn)的ARM Cortex-M內(nèi)核芯片。HC32的品牌是華大集成電路,而GD32的品牌是吉祥航空電子。這兩個(gè)品
    的頭像 發(fā)表于 08-16 11:33 ?4052次閱讀

    KEIL5如何打開(kāi)KEIL4的GD工程

    GD官方提供的很多KEIL例程為KIEL4的版本,讀者使用的時(shí)候可能會(huì)碰到使用KEIL5打開(kāi)KEIL4的工程會(huì)報(bào)錯(cuò)以及無(wú)法找到芯片選型的問(wèn)題
    的頭像 發(fā)表于 01-11 09:43 ?1437次閱讀
    <b class='flag-5'>KEIL</b>5如何<b class='flag-5'>打開(kāi)</b><b class='flag-5'>KEIL</b>4的<b class='flag-5'>GD</b>工程

    GD32 MCU 入門教程】一、GD32 MCU 開(kāi)發(fā)環(huán)境搭建(1)使用Keil開(kāi)發(fā)GD32

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

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

    GD32 MCU FPU 使用方法
    的頭像 發(fā)表于 08-25 09:24 ?1356次閱讀
    【<b class='flag-5'>GD32</b> MCU 入門教程】<b class='flag-5'>GD32</b> MCU <b class='flag-5'>FPU</b> 使用方法