<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          月黑風(fēng)高夜!把室友的STM32換成了GD32

          共 1968字,需瀏覽 4分鐘

           ·

          2021-10-13 00:37

          關(guān)注、星標(biāo)公眾號,直達精彩內(nèi)容

          來源:果果小師弟


          大家好,我是肖遙,今天中午同事給我一塊板子-GD32f303C-EVAL,連線都沒有,開始玩到成功debug花了一下午,真的是坑,蛋疼的很,先分享學(xué)習(xí)一下吧~

          摘要:月黑風(fēng)高夜!一雙黑手伸向了室友的STM32開發(fā)板!一日逛淘寶,推送STM32F103ZET6原裝芯片,驚!STM32F103ZET6居然漲價到388一片

          一、什么是GD32

          GD32是由北京兆易創(chuàng)新開發(fā)的國產(chǎn)32位MCU,基于Arm Cortex- M3/M23/M4內(nèi)核以及RISC-V內(nèi)核的32位通用微控制器,與STM32相比,CPU主頻更高,內(nèi)存更多,外設(shè)更豐富。其眾多產(chǎn)品是以STM32芯片為模板,基于STM32的底層寄存器地址進行正向研發(fā),部分產(chǎn)品可以直接PIN TO PIN替代STM32的芯片,部分型號可以直接以STM32的程序做部分修改后直接燒入進GD32中運行,例如GD32E103、GD32F10x、GD32F30x都是和STM32F10x系列是完全PIN TO PIN兼容的,內(nèi)部地址寄存器完全兼容,唯一區(qū)別只是內(nèi)核不同,但在使用外設(shè)時影響不會很大。

          一個大膽的想法從我腦海中誕生,我要貍貓換太子,GD32F103ZET6替換掉STM32F103ZET6

          入夜,趁著室友入睡后,悄悄的拿走室友的STM32開發(fā)板,點起我的小臺燈。

          掏出了我沉寂許久的GD32F103ZET6芯片。

          開足風(fēng)槍馬力,把STM32F103ZET6淦下來,再把GD32F103ZET6淦上去,一番辛苦下,大功告成。

          保險起見,下面使用正點原子STM32庫函數(shù)例程一一測試,絕不給室友發(fā)現(xiàn)的機會

          流水燈測試

          直接下載流水燈程序到GD32,因為使用到主頻按照STM32的來配置(72M)無需修改啟動超時,程序下載使用J-Link(ST-Link不行),因為都是基于M3內(nèi)核,所以直接使用Keil下載!下載完成,復(fù)位啟動!

          啪!翻車!LED反轉(zhuǎn)時間約為設(shè)定時間的10倍,多年經(jīng)驗告訴我,我晶振引腳虛焊了,補焊,復(fù)位,啟動!

          啪!成了,燈閃了!

          但是這一切還不夠,萬一室友學(xué)會的點燈,后面咋辦?我還要測!

          串口測試,替換文字,下載例程。

          程序啟動,測試完美!

          仿真測試,斷點測試,完美

          外部中斷測試,按下按鍵,LED切換,測試通過

          定時器閃燈,測試完美!定時器PWM比較輸出,測試完美!現(xiàn)象呼吸燈。

          TFT測試,完美到爆

          ADC檢測,完美極了

          模擬IIC測試,穩(wěn)如老狗

          不測了,就先到這,下次等室友睡覺在繼續(xù)測,今天美滋滋,STM32芯片反手一賣就是幾倍差價,同志們學(xué)會了沒!

          二、GD32與STM32

          GD32和STM32資源對比

          GD32與STM32軟硬件設(shè)計對比

          相同點

          1. 芯片的型號命名方式相同,而且相同信號的引腳定義基本相同,具體命名規(guī)范如下
          1. 函數(shù)庫文件基本相同:因為GD32正向研發(fā),對于PIN TO PIN的芯片,內(nèi)部寄存器地址和STM32完全相同,所以STM32的庫文件編譯后的文件可以直接下載。

          2. 編譯工具相同如keil、IAR都相同

          不同點

          1. 工作電壓有所不同,STM32的工作電壓在2.0~ 3.6V或1.65~3.6V,GD32的工作電壓在 2.6~3.6V,工作范圍相對要窄。

          2. GD32F303/F103主頻比STM32F103主頻要高,適合一些更快的計算中

          3. GD32提高了相同工作頻率下的代碼執(zhí)行速度,所以GD32的_NOP()時間比STM32更加短,所以不使用定時器做延時時要注意修改

          4. GD32的flash擦除時間要比STM32更長

          5. 功耗上GD32的功耗要相對高一點

          6. GD32的BOOT0必須接10K下拉或接GND,ST可懸空,這點很重要。

          7. RC復(fù)位電路必須要有,否則MCU可能不能正常工作,ST的有時候可以不要。

          8. GD的swd接口驅(qū)動能力比ST弱,可以有如下幾種方式解決:

            a、線盡可能短一些;

            b、降低SWD通訊速率;

            c、SWDIO接10k上拉,SWCLK接10k下拉。

          9. GD對時序要求嚴格,配置外設(shè)需要先打開時鐘,在進行外設(shè)配置,否則可能導(dǎo)致外設(shè)無法配置成功;ST的可以先配置在開時鐘。

          10. 修改外部晶振起振超時時間,不用外部晶振可跳過這步。原因:GD與ST的啟動時間存在差異,為了讓GD MCU更準(zhǔn)確復(fù)位(不修改可能無法復(fù)位)。

          ???????????????? ?END ?????????????????

          關(guān)注我的微信公眾號,回復(fù)“加群”按規(guī)則加入技術(shù)交流群。

          歡迎關(guān)注我的視頻號:


          點擊“閱讀原文”查看更多分享,歡迎點分享、收藏、點贊、在看。

          瀏覽 48
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美日韩狂操爆乳人妻 | 在线观看艹艹色 | www.日B| 香蕉网-大香蕉网 | 蜜桃久久久久久久 |