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

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

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

在GD32F103移植STM32F103代碼

ARM與嵌入式 ? 來源:ARM與嵌入式 ? 2023-12-15 13:37 ? 次閱讀

使用相同F(xiàn)LASH和管腳數(shù)量相同的芯片,例如GDF103C8T6移植STM32F103C8T6程序。雖然兩個款芯片的寄存器地址以及架構(gòu)基本相同。但是需要注意的是GD32F10x主頻是108兆,但是STM32F10x主頻是72兆。所以需要針對以RCC時鐘進(jìn)行修改。

例如打開原子哥的ALIENTEK MINISTM32 實(shí)驗(yàn)8 PWM輸出實(shí)驗(yàn)例程

先將芯片的選項(xiàng)進(jìn)行修改

wKgZomV75wiAFetjAACyvatd3q0780.png
然后將STM32的啟動文件替換成GD的啟動文件,關(guān)于STM32啟動,點(diǎn)擊:詳解STM32啟動文件。

wKgZomV75wiAchmJAAAJ-0RPkVE025.png

當(dāng)然也可以不替換,我這里選擇替換掉。

wKgaomV75wiAaeamAAAQa8lifn0067.png
然后就想修改時鐘相關(guān)配置

①打開stm32f10x.h文件,找到定義

//#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up/

修改為

#define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF) /!< Time out for HSE start up */

這是因?yàn)镚D頻率高,并且穩(wěn)定內(nèi)部8兆的時鐘HSE需要更多的時間,這里給滿。

wKgZomV75wiAS3pnAAANS4Hznww719.png

②修改system_stm32f10x.c文件

按照72MHz方式,添加108兆代碼

1)

wKgaomV75wiAZWABAAANRmnSWLc425.png

改為

wKgZomV75wiAVrMnAAAMDeojOEc638.png

2)將

wKgaomV75wiAQ-orAACMq7o6aIM458.png

改為

wKgaomV75wiAQ-Y_AACecop0W-s195.png

3)將

wKgaomV75wmAMMr5AAAu6puY0Gs454.png

改為

wKgZomV75wiAY7IyAAAIPC-L0fs803.png

wKgZomV75wmAV9WIAADoFbohoRs367.png

STM32的27位28位是保留的,但是GD的是用來配合PLL倍頻的

wKgZomV75wiAaP5fAAB8_LT1Caw047.png

在最后添加108兆的時鐘配置程序

wKgZomV75wiAD9IDAABOvGgpz20692.png

全局時鐘配置寄存器在GD中命名時RCC_GCFGR,在STM32中命名為RCC_CFGR,關(guān)于PLL倍頻系數(shù)配置PLLMF不同,紅框內(nèi)是先將HSE(8兆)分頻為2得到4兆,然后27倍頻得到108兆。

wKgaomV75wiAZdKAAAJH2griYig386.png

這時就得到了108兆的主頻時鐘

然后修改讀取時鐘的函數(shù)void RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)

wKgaomV75wiAdgqwAABmIMFgYXI897.png

當(dāng)發(fā)現(xiàn)時RCC_CFGR第27位置位了,就將倍頻數(shù)從12+15 = 27.

至此,GD32F103移植ST32F103的工程就修改完成了,就可以盡情的使用ST的庫代碼了。有問題可以聯(lián)系我,拉你入技術(shù)群交流學(xué)習(xí)。

審核編輯:湯梓紅

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

    關(guān)注

    452

    文章

    49921

    瀏覽量

    419587
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5268

    瀏覽量

    119640
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    375

    瀏覽量

    28072
  • STM32F103
    +關(guān)注

    關(guān)注

    33

    文章

    475

    瀏覽量

    63342
  • GD32F103
    +關(guān)注

    關(guān)注

    5

    文章

    18

    瀏覽量

    9407

原文標(biāo)題:在GD32F103移植STM32F103代碼

文章出處:【微信號:ARM與嵌入式,微信公眾號:ARM與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32F103系列能用GD32F103完全替代嗎?

    STM32F103系列能用GD32F103完全替代嗎?
    發(fā)表于 04-10 11:20

    GD32F103芯片解密GD32F103單片機(jī)解密GD32F103抄板

    GD32F103芯片解密GD32F103單片機(jī)解密GD32F103抄板GD32F103T4U6,GD32F103T6U6,
    發(fā)表于 06-06 16:53

    GD32F103STM32F103的硬件是怎樣進(jìn)行替換的

    GD32F103STM32F103的硬件有什么區(qū)別?GD32F103STM32F103的硬件是怎樣進(jìn)行替換的?有哪些需要注意的地方?
    發(fā)表于 10-15 07:25

    如何利用GDF103C8T6去移植STM32F103C8T6程序呢

    GD32F103移植STM32F103代碼使用相同F(xiàn)LASH和管腳數(shù)量相同的芯片,例如GDF103
    發(fā)表于 01-26 07:18

    GD32F103STM32F103的區(qū)別進(jìn)行介紹

    GD32F103STM32F103區(qū)別介紹關(guān)鍵詞Key words:GD32F103、STM32F103摘要Abstract:本文主要是GD32F
    發(fā)表于 02-11 06:28

    stm32f103移植

    stm32f103移植
    發(fā)表于 10-27 09:03 ?43次下載
    <b class='flag-5'>stm32f103</b><b class='flag-5'>移植</b>

    LMT70代碼基于stm32f103

    LMT70測溫代碼基于stm32f103免費(fèi)下載。
    發(fā)表于 05-06 11:16 ?29次下載

    GD32F103移植STM32F103代碼

    GD32F103移植STM32F103代碼使用相同F(xiàn)LASH和管腳數(shù)量相同的芯片,例如GDF103
    發(fā)表于 12-02 15:21 ?23次下載
    <b class='flag-5'>在</b><b class='flag-5'>GD32F103</b><b class='flag-5'>移植</b><b class='flag-5'>STM32F103</b><b class='flag-5'>代碼</b>

    GD32F103STM32F103的區(qū)別 2021.6.2

    GD32F103STM32F103區(qū)別介紹關(guān)鍵詞Key words:GD32F103、STM32F103摘要Abstract:本文主要是GD32F
    發(fā)表于 12-08 11:06 ?82次下載
    <b class='flag-5'>GD32F103</b>與<b class='flag-5'>STM32F103</b>的區(qū)別 2021.6.2

    RT-Thread系統(tǒng)移植STM32f103

    RT-Thread系統(tǒng)移植STM32f103
    發(fā)表于 12-09 12:51 ?26次下載
    RT-Thread系統(tǒng)<b class='flag-5'>移植</b>到<b class='flag-5'>STM32f103</b>

    GD32F103配置SPI+DMA收發(fā)數(shù)據(jù)

    本文介紹如何配置GD32F103系列的SPI和DMA,并貼出相關(guān)代碼。
    發(fā)表于 12-22 19:15 ?107次下載
    <b class='flag-5'>GD32F103</b>配置SPI+DMA收發(fā)數(shù)據(jù)

    如何進(jìn)行GD32F103系列的BSP制作

    系列,但從2020年下半年開始,國內(nèi)出現(xiàn)史無前例的芯片缺貨潮,我們參考STM32F103系列進(jìn)行GD32F103系列的BSP制作。
    的頭像 發(fā)表于 05-12 11:00 ?2882次閱讀

    AN019 基于GD32F103的Lua解釋器的移植

    AN019 基于GD32F103的Lua解釋器的移植
    發(fā)表于 02-27 18:22 ?1次下載
    AN019 基于<b class='flag-5'>GD32F103</b>的Lua解釋器的<b class='flag-5'>移植</b>

    AN029 GD32F103程序GD32F303和GD32F403芯片上運(yùn)行DSP

    AN029 GD32F103程序GD32F303和GD32F403芯片上運(yùn)行DSP
    發(fā)表于 02-27 18:33 ?0次下載
    AN029 <b class='flag-5'>GD32F103</b>程序<b class='flag-5'>在</b><b class='flag-5'>GD32F</b>303和<b class='flag-5'>GD32F</b>403芯片上運(yùn)行DSP

    gd32f103可以完全替代stm32f103

    的市場份額。兩個系列都基于ARM Cortex-M3內(nèi)核,因此功能和性能上有一些相似之處。 一、技術(shù)特點(diǎn)比較: 1.1 處理器核心: GD32F103STM32F103都采用了ARM
    的頭像 發(fā)表于 12-07 11:26 ?4434次閱讀