日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用GD32替代STM32,是什么体验?

發布時間:2023/12/19 编程问答 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用GD32替代STM32,是什么体验? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、?前言

大家好,我是張巧龍,最近ST漲價厲害,單位的物料成本也是頻頻告急。網上一直傳,什么完美替代,直接就能用。說不心動吧,那是假的。

看到嵌入式ARM這篇關于GD32替代STM32的文章,特此分享給大家。

相信完美替代么?我是做技術的,不是銷售,真的能無縫替代,那不就是一個東西么?

我是不信的,到底怎么樣,這次試試看。

先看看GD和ST枯燥的對比吧

這樣看來,貌似GD比ST的性能有所提升啊。

二、正式開始嘗試替代

當前所用芯片STM32F407ZGT6,聯系了GD的代理,要了樣片,居然給我的是GD32F450ZGT6,按照慣性思維不應該也是407么?

聯系技術支持,聊了很多,大概的意思是可能發錯芯片了,但是450引腳也是兼容的,可以先試試~~~

好吧,既來之則安之。

下面記錄下折騰的過程,因為一直使用干凈的STM32的底子,很少建立工程了,中間出了一些問題,后來想想,一并貼出來吧,分享了有個人能少采坑也是好的。

1.??更換芯片(GD32F450ZGT6替代STM32F407ZGT6)

這塊板子用的資源比較多,串口、AD、norflash、nandflash、FRam、io、顯示

2. 原st的程序直接下載。(我相信是不行的,但被完美替代的魔咒念了很久,必須嘗試下)

答案是:不可以。(直接下不行,要重新編譯下,后面小結會說)

3. ?這下心里踏實了,按部就班慢慢捋一捋。

決定先完善下開發環境并且看看官網有沒有例程,跑個簡單的試一試。

3.1把開發環境搭建好

先看看官網http://www.gd32mcu.com/cn/download/7?kw=GD32F4

然后找找官網的例程

3.2我用的是MDK5,首先安裝支持包

這是官網下載的支持包

一切就緒,發現有些問題,不能選擇芯片,這是什么鬼?難道是版本問題?

不確定是不是這里的問題,mdk從5.14升級到5.23試試。

然后還是有問題,這里不知道為什么有問題,自己添加一下。

然后,還是不對,不能選擇GD的芯片,怎么辦?

我要開始暴躁了,怎么哪都是事?

喝口水,去個廁所~~~

剛官網的壓縮包里,還有個文件

本來以為這個是要keil4才需要安裝的,安裝下試試吧。

(這個也許不需要,中間解決問題的時候,急躁了寫,總被完美替代的魔咒環繞,來回換了幾個工程,各位搭建環境時,耐心點~~~)

最終,可以了:

然后Debug選擇Jlink

加載好flash

至此,開發環境應該是可以了,繼續。

3.3 用官網的例程,先看看是不是程序能跑起來。

這里使用最簡單的GPIO控制led。

由于使用的我的板子硬件上和例程不一樣,需將對應的IO改一下

修改如下:

int main(void){/*?configure?systick?*/systick_config();/*?enable?the?LEDs?GPIO?clock?*/rcu_periph_clock_enable(RCU_GPIOB);/*?我的板子LED是PB8、PB9?需要修改如下*/?gpio_mode_set(GPIOB,?GPIO_MODE_OUTPUT,?GPIO_PUPD_NONE,?GPIO_PIN_8?|?GPIO_PIN_9);gpio_output_options_set(GPIOB,?GPIO_OTYPE_PP,?GPIO_OSPEED_50MHZ,?GPIO_PIN_8?|?GPIO_PIN_9);gpio_bit_reset(GPIOB,?GPIO_PIN_8?|?GPIO_PIN_9);while(1){/*?先隨便設置下,一個亮一個滅*/?gpio_bit_set(GPIOB,?GPIO_PIN_8);gpio_bit_reset(GPIOB,?GPIO_PIN_9);delay_1ms(400);/*?狀態翻轉*/?gpio_bit_set(GPIOB,?GPIO_PIN_9);gpio_bit_reset(GPIOB,?GPIO_PIN_8);delay_1ms(400);} }

其余的地方,不做修改,編譯通過,下載~

啊歐,這樣了

大意了,之前用ST的,我這里直接默認就是SW,更改一下就好了.

然后下載,ok。

兩個黃綠色的LED3,LED1就是程序里對應的PB8和PB9控制的。

LED3和LED1交替閃爍(我不知道能不能插入小視頻,這里拍了兩張照片示意下)

至此,程序是能跑起來了,也算是沒有白折騰。

如果想使用GD的庫的話,其他功能,后邊慢慢添加吧。

開發環境和GD的固件庫沒問題,一邊截屏寫文檔,一邊干活,還真不是容易的事。

用GD的固件庫,程序可以跑起來,說明引腳兼容不是事,后面又返回去試了試我之前的ST程序,發現竟然有意想不到的驚喜。

因為比較順利,就不截屏了,直接看小結。

小結:

1、一定要認真搭建開發環境,心里不要有抵觸,工欲善其事,必先利其器。

(由于ST開發的比較成熟,有干凈的底子程序,因此對于開發環境搭建、工程建立有所疏忽,遇到了一些小阻力,索性也都貼了出來。)

2、關于庫,還是建議使用GD的庫。

(雖然我當前用ST的庫也可以,但是心里上還是覺得,是誰的東西,用誰的庫比較好。這樣做起來,后期也踏實。如果使用資源不多的話,還是把庫更新過來吧。)

但對于之前的ST程序也做了嘗試。

? ? 2.1對于ST的程序HAL庫+uciii+emwin,程序重新編譯下載,正常運行,具體功能模塊功能初步測試正常。

(以為硬件是FSMC+8875的形式,當時技術支持說,顯示可能會有問題,但實測功能正常。并且開始支持說,使用HAL庫可能不行,但我這里卻可以,是我吃了什么藥了么?可別使用我抽家園幣的運氣啊~~~)

? ? 2.2對于ST的標準庫+ uciii試了一下,程序重新編譯下載,簡單測試串口和IO正常。

3、初步測試的話,還真可以說是完美替代。

開始程序有問題,是開發環境的事。安裝了GD的pack之后,MDK重新選擇芯片和片上FLASH,編譯下載程序就能跑起來。這一點,也確實驚到了我,看來是我目光短淺了,國產芯片崛起的曙光來了。

選擇替代芯片時,官網有個選型手冊,參考一下,也可以聯系下技術支持,他們應該有一些前人使用的經驗,可以少采坑。

-END-

大家好,我是張巧龍,一名教電子的大學老師,歡迎關注!

總結

以上是生活随笔為你收集整理的用GD32替代STM32,是什么体验?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。