GD32F103是GD早期的產(chǎn)品,GD32E103和GD32F303是對(duì)GD32F103的升級(jí)和優(yōu)化,所以4者是兼容的,雖然內(nèi)核不同,但是通用外設(shè)幾乎很少涉及到內(nèi)核部分,在時(shí)間急迫的情況下可以使用ST的庫(kù)開(kāi)發(fā)。
一、相同點(diǎn)
1)外圍引腳PIN TO PIN兼容,每個(gè)引腳上的復(fù)用功能也完全相同。
2)芯片內(nèi)部寄存器、外部IP寄存器地址和邏輯地址完全相同,但是有些寄存器默認(rèn)值不同,有些外設(shè)模塊的設(shè)計(jì)時(shí)序上和STM32有差異,這點(diǎn)差異主要體現(xiàn)在軟件上修改,詳情見(jiàn)下文。
3)編譯工具:完全相同例如:KEIL 、IAR
4)型號(hào)命名方式完全相同,所以替代只需找尾綴相同的型號(hào)即可,例如:STM32F103C8T6 與 GD32E103C8T6。
5)仿真工具:JLINK GDLINK
二、外圍硬件區(qū)別
三、硬件替換需要注意的地方
從上面的介紹中,我們可以看出,GD32F30/E103系列和STM32F103系列是兼容的,但也需要一些注意的地方。
1)BOOT0必須接10K下拉或接GND,ST可懸空,這點(diǎn)很重要。
2)RC復(fù)位電路必須要有,否則
mcu
可能不能正常工作,ST的有時(shí)候可以不要。
3)有時(shí)候發(fā)現(xiàn)用仿真器連接不上。因?yàn)镚D的swd接口驅(qū)動(dòng)能力比ST弱,可以有如下幾種方式解決:
a、線盡可能短一些;
b、降低SWD通訊速率;
c、SWDIO接10k上拉,SWCLK接10k下拉。
4)使用電池供電等,注意GD的工作電壓,例如跌落到2.0V~2.6V區(qū)間,ST還能工作,GD可能無(wú)法啟動(dòng)或工作異常。
四、使用ST標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)需要修改的地方
1)GD對(duì)時(shí)序要求嚴(yán)格,
配置外設(shè)需要先打開(kāi)時(shí)鐘,在進(jìn)行外設(shè)配置,否則可能導(dǎo)致外設(shè)無(wú)法配置成功;ST的可以先配置在開(kāi)時(shí)鐘。
2)修改外部晶振起振超時(shí)時(shí)間,
不用外部晶振可跳過(guò)這步。
原因:GD與ST的啟動(dòng)時(shí)間存在差異,為了讓GD MCU更準(zhǔn)確復(fù)位。
修改:
將宏定義:#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)修改為:#define HSE_STARTUP_TIMEOUT ((uint16_t)0xFFFF)
3)GD32F10X flash取值零等待,而ST需要2個(gè)等待周期,因此,一些精確延時(shí)或者模擬IIC或SPI的代碼可能需要修改。
原因:GD32采用專利技術(shù)提高了相同工作頻率下的代碼執(zhí)行速度。
修改:如果使用for或while循環(huán)做精確定時(shí)的,定時(shí)會(huì)由于代碼執(zhí)行速度加快而使循環(huán)的時(shí)間變短,因此需要仿真重新計(jì)算設(shè)計(jì)延時(shí)。使用Timer定時(shí)器無(wú)影響。
4)在代碼中設(shè)置讀保護(hù),如果使用外部工具讀保護(hù)比如JFLASH或脫機(jī)燒錄器設(shè)置,可跳過(guò)此步驟。
在寫完KEY序列后,需要讀該位確認(rèn)key已生效,修改如下:
總共需要修改如下四個(gè)函數(shù):
FLASH_Status FLASH_EraseOptionBytes(void);FLASH_Status FLASH_ProgramOptionByteData(uint32_t Address, uint8_t Data);uint32_t FLASH_GetWriteProtectionOptionByte(void);FlagStatus FLASH_GetReadOutProtectionStatus(void);
5)GD與ST在flash的Erase和Program時(shí)間上有差異,修改如下:
6)需求flash大于256K注意,小于256K可以忽略這項(xiàng)。
與ST不同,GD的flash存在分區(qū)的概念,前256K,CPU執(zhí)行指令零等待,稱code區(qū),此范圍外稱為dataZ區(qū)。兩者在擦寫操作上沒(méi)有區(qū)別,但在讀操作時(shí)間上存在較大差別,code區(qū)代碼取值零等待,data區(qū)執(zhí)行代碼有較大延遲,代碼執(zhí)行效率比code區(qū)慢一個(gè)數(shù)量級(jí),因此data區(qū)通常不建議運(yùn)行對(duì)實(shí)時(shí)性要求高的代碼,為解決這個(gè)問(wèn)題,可以使用分散加載的方法,比如把初始化代碼,圖片代碼等放到data區(qū)。
總結(jié):至此,經(jīng)過(guò)以上修改,在不使用USB和網(wǎng)絡(luò)能復(fù)雜協(xié)議的代碼,就可以使用ST的代碼操作了。
『本文轉(zhuǎn)載自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系刪除』 _ _ _ _
GD32如何替換STM32?
2021-8-27 10:44:00
-
GD32F103是GD早期的產(chǎn)品,GD32E103和GD32F303是對(duì)GD32F103的升級(jí)和優(yōu)化,所以4者是兼容的,雖然內(nèi)核不同,但是通用外設(shè)幾乎很少涉及到內(nèi)核部分,在時(shí)間急迫的情況下可以使用ST的庫(kù)開(kāi)發(fā)。
企業(yè)新聞
更多- 全新CSTNE8M00GH5C000R08MHz陶瓷諧振器內(nèi)置電容33pF±0.13%40Ohms-40°C~125°C表面貼裝型
- 全新BLM15AX102SN1D1kOhms@100MHz1鐵氧體磁珠和芯片0402(1005公制)350mA490毫歐
- GaN場(chǎng)效應(yīng)晶體管BSP125L6433HTMA1Infineon(英飛凌)SOT-223-420k咨詢了解
- MB85RS256BPNF-G-JNERE1
- AQAA-20原裝原裝只做原裝
- AT89S51-24AU原裝正品放心詢
- LM3578AMX開(kāi)關(guān)穩(wěn)壓器
- LT8612EUDE#TRPBF開(kāi)關(guān)穩(wěn)壓器
行業(yè)新聞
更多- 谷歌跨越量子糾錯(cuò)難題,中美量子科技競(jìng)爭(zhēng)焦灼
- 長(zhǎng)安董事長(zhǎng)朱華榮:2030年新能源滲透率超80%,中國(guó)品牌大有可為
- 長(zhǎng)安汽車發(fā)布“2345”戰(zhàn)略,描繪未來(lái)汽車產(chǎn)業(yè)新藍(lán)圖 近日,以“同行40年一路長(zhǎng)安”為主題的2025長(zhǎng)安汽車全球伙伴大會(huì)在重慶隆重召開(kāi)。長(zhǎng)安汽車董事長(zhǎng)朱華榮在大會(huì)上發(fā)表了主題演講,深入分析了當(dāng)前汽車產(chǎn)業(yè)的發(fā)展趨勢(shì),并正式發(fā)布了長(zhǎng)安汽車的“2345”戰(zhàn)略。這一戰(zhàn)略為長(zhǎng)安
- 2025年爆款科技產(chǎn)品預(yù)測(cè)
- AppGallery編輯推薦:帶來(lái)應(yīng)用探索新風(fēng)尚
- 新起點(diǎn),新征程!越南全成信開(kāi)業(yè)大吉
- 超級(jí)電容器正在成為儲(chǔ)能領(lǐng)域新的藍(lán)海市場(chǎng)
- 人形機(jī)器人“造車”,車企扎堆布局