日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

【GD32 MCU 移植教程】6、從GD32F1x0和GD32F3x0移植到GD32E230

發(fā)布者:快樂陽光最新更新時(shí)間:2024-11-08 來源: elecfans關(guān)鍵字:GD32  MCU  移植  GD32F1x0  GD32E230 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

1.簡介

GD32E230 系列是 GD 最新推出的 Cortex_M23 系列產(chǎn)品,該系列資源上與既有的 GD32F1x0以及 GD32F3x0 兼容度非常高。由于 GD32E230 系列主打低功耗和低成本,所以在存量客戶中可能會(huì)有越來越多的客戶會(huì)有從 GD32F1x0 和 GD32F3x0 移植到 GD32E230 系列的需求,本文檔專門針對(duì)既有的 GD32F1x0 和 GD32F3x0 代碼如何移植到 GD32E230 做一個(gè)詳細(xì)的介紹;


2.硬件資源對(duì)比

wKgaombXtnCASg_qAACdz3XP_Wg500.png

1. TSSOP20 和 QFN28PIN 的封裝兼容,但 E230 系列 PA9、PA10 可以映射為 PA11、PA12;

2. LQFP32、QFN32 封裝不能完全兼容,QFN32 比 LQFP32 多兩個(gè) Pin;

3. LQFP48 在 E230 上面是 VDD,在 GD32F330/130 上是 VBAT,也就是說 E230 不支持掉電運(yùn)行 RTC;

3.系統(tǒng)資源對(duì)比

wKgZombXtouAdSz2AABmKt9kl2Q222.png

4.外設(shè)地址對(duì)比

wKgaombXtpeADZplAABfWGPTaZ0379.png

1. GD32E230 系列最大封裝為 LQFP48,因此 GPIOC 端口不少 GPIO 未 PIN OUT;

2. GD32E230 將 32 位的 TIMER1 裁剪掉,移植時(shí)需要特別注意;

3. GD32E230 系列有一路比較器,GD32F130/330 沒有該資源;

4. GD32E230 系列新增了 1K 的 OTP 區(qū)域;

5.開發(fā)工具版本對(duì)比

wKgaombXtqeAMomCAAApgMs_9F8784.png

注意:使用 Keil 5.25 有可能會(huì)出現(xiàn)在 Debug 下拉選項(xiàng)中找不到 J-LINK/J-TRACE Cortex 的情況。遇到這種情況可以手動(dòng)打開 keil5 安裝目錄x:Keil_v5TOOLS.INI 文件,首先查看[ARM]下”CPUDLL3=SARMV8M.DLL(TDRV2,TDRV4,TDRV13,TDRV14,TDRV15,TDRV16)”選項(xiàng),然后查看[ARMADS]下面“CPUDLL3=SARMV8M.DLL(TDRV2 ,TDRV13,TDRV14,TDRV15,TDRV16)”,兩者內(nèi)容是否一致,如果不一致手動(dòng)添加相應(yīng)內(nèi)容。

wKgaombXtrmAKY83AAAry3g_6Zc261.png

Segger 對(duì) GD32E230 系列支持情況:

1. Segger 的 6.12 及以上版本才支持 Cortex M23 內(nèi)核;

2. Segger 當(dāng)前版本沒有 GD32E230 型號(hào),若使用 Segger 下載 E230 系列,可以選擇 GD32F130 系列或者

GD32F103 系列對(duì)應(yīng) Flash 容量產(chǎn)品;

3. Segger 6.20 及以上版本才有添加 GD 相關(guān)型號(hào),但不支持軟件設(shè)置讀保護(hù),需通過程序自行設(shè)定。

6. GD32F1x0_Firmware_Library_V2.0.0 移植步驟

1. 電腦安裝 keil 5.25 及以上版本 MDK、GD32E230 插件

2. 原有工程項(xiàng)目可能是 keil 4 建立的,直接在 keil 4 工程后綴名添加 x,即變成 keil 5 項(xiàng)目;

wKgZombXtsyAeGSVAABsube-Nf0540.png

3. 根據(jù)實(shí)際情況修改使用的芯片型號(hào)以及 C 語言語法為 C99;

wKgZombXttSAAwQtAAB7u83DRW4859.pngwKgaombXttSAWtsPAACogb8E3o0442.png


4. 拷貝 Cortex M23 內(nèi)核支持文件至 x: GD32F1x0_Firmware_Library_V2.0.0FirmwareCMSIS

wKgZombXtu2AJPxVAACws8mhpb8249.png

5. 修改“gd32f1x0.h”頭文件內(nèi)容

wKgZombXtvuAchKhAAB7I2mJps0682.png

gd32f1x0.h頭文件修改內(nèi)容

wKgaombXtwGACyioAACKgnOYS0A527.png

6. gd32f1x0_misc.c 文件調(diào)整內(nèi)容

wKgZombXtw6AZD5vAAEs0YKvSy0574.pngwKgZombXtyqAfqXfAAFzMUwmByo663.png

特別注意事項(xiàng)

E230不支持中斷分組,所以固件庫中的void NVIC_PRIGroup_Enable(uint32_t NVIC_PRIGroup)不能調(diào)用,而且E230僅支持4級(jí)搶占優(yōu)先級(jí),不支持子優(yōu)先級(jí)

7. “system_gd32f1x0.c”文件修改內(nèi)容

GD32F130/330 的 Flash 是零等待的,GD32E230 系列需要配置 Flash 插入等待周期

0-24M: 插入 0 個(gè)等待周期

24-48M: 插入 1 個(gè)等待周期

48-72M: 插入 2 個(gè)等待周期

因此配置代碼時(shí)需要根據(jù)主頻來調(diào)整等待周期,相關(guān)做法如下:

wKgZombXt0OAcFUbAAHHmhSIXrs568.png

8. ”gd32f1x0_fmc.c”文件修改內(nèi)容

GD32E230 因?yàn)?Flash 只支持 32 位和 64 位編程,所以原有固件庫中的選項(xiàng)字節(jié)操作需要調(diào)整,原有的

半字編程不支持,考慮到實(shí)用性,只修改和驗(yàn)證如下有提及的 FMC,其他選項(xiàng)字節(jié)函數(shù)不做支持;

wKgZombXt1mARXtmAAEhejdfh3M299.pngwKgaombXt1mAf9AZAADlN3KYmao425.pngwKgZombXt1mAK44wAAEaF-WB-HA749.pngwKgaombXt1mAdbdqAADPThou43M268.pngwKgZombXt1mACjMOAACjQzaumYc413.png

7. GD32F1x0_Firmware_Library_V3.0.0 移植步驟

1. 電腦安裝 keil 5.25 及以上版本 MDK 及 GD32E230 插件

2. 原有工程項(xiàng)目可能是 keil 4 建立的,直接在 keil 4 工程后綴名添加 x,即變成 keil 5 項(xiàng)目;

wKgZombXtsyAeGSVAABsube-Nf0540.png

3 根據(jù)實(shí)際情況修改使用的芯片型號(hào)以及 C 語言語法為 C99;

wKgZombXttSAAwQtAAB7u83DRW4859.pngwKgaombXttSAWtsPAACogb8E3o0442.png

4 拷貝 Cortex M23 內(nèi)核支持文件至 x: GD32F1x0_Firmware_Library_V2.0.0FirmwareCMSIS

wKgZombXtu2AJPxVAACws8mhpb8249.png

5 修改“gd32f1x0.h”頭文件內(nèi)容

wKgZombXtvuAchKhAAB7I2mJps0682.png


wKgZombXt7WAEAljAACKhY51wEQ729.png

6 gd32f1x0_misc.c 文件調(diào)整內(nèi)容

wKgaombXuFyAZQnuAADKOAtVYvk686.pngwKgZombXuG6Acht9AADV1X5ErPQ313.png

特別注意事項(xiàng)

E230不支持中斷分組,所以固件庫中的void nvic_priority_group_set(uint32_t nvic_prigroup)不能調(diào)用,而且E230僅支持4級(jí)搶占優(yōu)先級(jí),不支持子優(yōu)先級(jí)

7 “system_gd32f1x0.c”文件修改內(nèi)容

GD32F130/330 的 Flash 是零等待的,GD32E230 系列需要配置 Flash 插入等待周期

0-24M: 插入 0 個(gè)等待周期

24-48M: 插入 1 個(gè)等待周期

48-72M: 插入 2 個(gè)等待周期

因此配置代碼時(shí)需要根據(jù)主頻來調(diào)整等待周期,相關(guān)做法如下:

wKgZombXuJqAIcn0AAEPxUdkerM154.png

8.”gd32f1x0_fmc.c”文件修改內(nèi)容

GD32E230 因?yàn)?Flash 只支持 32 位和 64 位編程,所以原有固件庫中的選項(xiàng)字節(jié)操作需要調(diào)整,原有的半字編程不支持,考慮到實(shí)用性,只修改和驗(yàn)證如下有提及的 FMC,其他選項(xiàng)字節(jié)函數(shù)不做支持;

wKgZombXt1mARXtmAAEhejdfh3M299.pngwKgaombXt1mAf9AZAADlN3KYmao425.pngwKgZombXt1mAK44wAAEaF-WB-HA749.pngwKgaombXt1mAdbdqAADPThou43M268.pngwKgZombXt1mACjMOAACjQzaumYc413.png

8. GD32F3x0_Firmware_Library 移植步驟

1. 電腦安裝 keil 5.25 及以上版本 MDK 及 GD32E230 插件

2. 原有工程項(xiàng)目可能是 keil 4 建立的,直接在 keil 4 工程后綴名添加 x,即變成 keil 5 項(xiàng)目;

wKgZombXtsyAeGSVAABsube-Nf0540.png

8 根據(jù)實(shí)際情況修改使用的芯片型號(hào)以及 C 語言語法為 C99;

wKgZombXttSAAwQtAAB7u83DRW4859.pngwKgaombXttSAWtsPAACogb8E3o0442.png

9 拷貝 Cortex M23 內(nèi)核支持文件至 x: GD32F3x0_Firmware_LibraryFirmwareCMSIS

wKgZombXtu2AJPxVAACws8mhpb8249.png

10 修改“gd32f3x0.h”頭文件內(nèi)容

wKgaombXuViAbI0AAACU7_OoPn8468.png

11 gd32f3x0_misc.c 文件調(diào)整內(nèi)容

wKgaombXuWWATeBNAADKwaXxVNo535.pngwKgaombXuWyAa6pQAADWM_r9UFM667.png

特別注意事項(xiàng)

E230不支持中斷分組,所以固件庫中的void nvic_priority_group_set(uint32_t nvic_prigroup)不能調(diào)用,而且E230僅支持4級(jí)搶占優(yōu)先級(jí),不支持子優(yōu)先級(jí)

12 “system_gd32f3x0.c”文件修改內(nèi)容

GD32F130/330 的 Flash 是零等待的,GD32E230 系列需要配置 Flash 插入等待周期

0-24M: 插入 0 個(gè)等待周期

24-48M: 插入 1 個(gè)等待周期

48-72M: 插入 2 個(gè)等待周期

因此配置代碼時(shí)需要根據(jù)主頻來調(diào)整等待周期,相關(guān)做法如下:

wKgaombXuXqAHSqBAAEOhqvUrnc897.png

8.”gd32f3x0_fmc.c”文件修改內(nèi)容

GD32E230 因?yàn)?Flash 只支持 32 位和 64 位編程,所以原有固件庫中的選項(xiàng)字節(jié)操作需要調(diào)整,原有的

半字編程不支持。Flash 讀取需要對(duì)齊,考慮到實(shí)用性,只修改和驗(yàn)證如下有提及的 FMC,其他選項(xiàng)字

節(jié)函數(shù)不做支持;

wKgZombXuYyAQnBbAADycEsvUDM524.pngwKgaombXuZKAd-8bAADB42Ujaz8536.pngwKgZombXuZiAAzi7AAISWrjndsU585.pngwKgaombXuZyAL4GCAAEdePzTJYI068.pngwKgaombXuaGAb7uNAACbPMHG4_E281.png

關(guān)鍵字:GD32  MCU  移植  GD32F1x0  GD32E230 引用地址:【GD32 MCU 移植教程】6、從GD32F1x0和GD32F3x0移植到GD32E230

上一篇:GD32固件庫里時(shí)鐘配置時(shí)的神秘代碼?高頻切低頻時(shí)芯片會(huì)發(fā)生什么
下一篇:GD32 MCU如何使用雙ADC內(nèi)核提高ADC采樣率?

推薦閱讀最新更新時(shí)間:2025-07-19 14:25

節(jié)省IO的小技巧:GD32 MCU如何使用一個(gè)GPIO實(shí)現(xiàn)串口半雙工收發(fā)
一般情況串口的接受和發(fā)送分別需要使用TX和RX兩個(gè)引腳來實(shí)現(xiàn),但在一些UART的實(shí)際應(yīng)用中,通信雙方身份為主機(jī)和從機(jī),數(shù)據(jù)流是半雙工的,那么當(dāng)IO口資源緊張時(shí)可以使用半雙工模式通過一個(gè)引腳實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接受,同時(shí)又保證數(shù)據(jù)不出錯(cuò)。我們一起來看下紅楓派開發(fā)板例程中是如何實(shí)現(xiàn)的? 首先GD32F303的UART是支持半雙工模式的,但想要真正使用起來,軟硬件還需要特殊設(shè)計(jì)。 首先是硬件設(shè)計(jì),在紅楓派開發(fā)板中的RS485通信使用半雙工實(shí)現(xiàn),原理圖是這樣的: 其中很重要的兩個(gè)點(diǎn)是: 1、在MCU的TX引腳上一定要增加一個(gè)上拉電阻,保證MCU發(fā)送和接受模式切換時(shí)IO口電平可以保持高電平的空閑態(tài)。 2、485端實(shí)際還是發(fā)送和接受
[單片機(jī)]
節(jié)省IO的小技巧:<font color='red'>GD32</font> <font color='red'>MCU</font>如何使用一個(gè)GPIO實(shí)現(xiàn)串口半雙工收發(fā)
GD32 MCU 入門教程】六、GD32 MCU 選項(xiàng)字節(jié)設(shè)置及解除方法
您在使用GD32過程中是否遇到過芯片反復(fù)復(fù)位,代碼無法更新,代碼一直執(zhí)行在0x1fffxxxx區(qū)域,或代碼執(zhí)行在SRAM區(qū)域的情況?如果有遇到這類現(xiàn)象是否找到原因呢?如果沒找到是否檢查過選項(xiàng)字節(jié)是否正常呢?這一章節(jié)我們針對(duì)各系列的選項(xiàng)字節(jié)設(shè)置和解除做一個(gè)相關(guān)說明,后續(xù)遇到上述問題可以考慮一下是否是選項(xiàng)字節(jié)配置錯(cuò)誤導(dǎo)致。 1 .各系列選項(xiàng)字節(jié)說明 GD32L23x/GD32E50x系列選項(xiàng)字節(jié): GD32E103/GD32E11x/GD32VF103/GD32C103/GD32C113GD32F10x/GD32F20x/GD32F30x/GD32F403系列選項(xiàng)字節(jié)介紹: GD32F1x0/GD32F3x0/GD32E230
[單片機(jī)]
【<font color='red'>GD32</font> <font color='red'>MCU</font> 入門教程】六、<font color='red'>GD32</font> <font color='red'>MCU</font> 選項(xiàng)字節(jié)設(shè)置及解除方法
ESP32、GD32、STM32MCU的區(qū)別
01 前言 STM32:意法半導(dǎo)體在 2007 年 6 月 11 日發(fā)布的產(chǎn)品,32位單片機(jī)。 GD32:兆易創(chuàng)新 2013 年發(fā)布的產(chǎn)品,在芯片開發(fā)、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封裝不改焊上去直接用。有時(shí)候 STM32 的源碼不修改,重新編譯燒寫到 GD32 上就可以跑。當(dāng)然也有很多不同,比如串口驅(qū)動(dòng)、USB 、庫文件等。 ESP32:樂鑫公司 2017 年開發(fā)的產(chǎn)品,和 STM32、GD32 不同,ESP32 主要面向物聯(lián)網(wǎng)領(lǐng)域,支持功能很多,但引出 GPIO pin 腳很少,因此大多數(shù) GPIO 都有很多復(fù)用功能。出廠就集成藍(lán)牙、WiFi 等物聯(lián)網(wǎng)必備功
[單片機(jī)]
ESP32、<font color='red'>GD32</font>、STM32<font color='red'>MCU</font>的區(qū)別
ucos ii的51單片機(jī)移植
1. μC/OS-Ⅱ概述 μC/OS-Ⅱ在特定處理器上的移植大部分工作集中在多任務(wù)切換的實(shí)現(xiàn)上,這部分代碼主要用來保存和恢復(fù)處理器的現(xiàn)場。但許多操作如讀/寫寄存器不能用C語言而只能用匯編來實(shí)現(xiàn)。 將μC/OS-Ⅱ移植到ARM處理器上,只需要修改與處理器相關(guān)的3個(gè)文件:OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。 2. OS_CPU.H的移植 1) 數(shù)據(jù)類型的定義 typedef unsigned char BOOLEAN; typedef unsigned char INT8U; typedef signed char INT8S; typedef unsigned short INT16U;
[單片機(jī)]
基于GD32的段碼顯示器設(shè)計(jì)
說明一下:選用了IIC驅(qū)動(dòng)方式,硬件連接SCL、SDAIN和SDAOUT引腳, 也就是說有應(yīng)答檢測是從SDAOUT引腳返回給MCU的。 硬件平臺(tái):微控制器選擇GD32F103 PCA8538評(píng)估板 紅外遙控器 并使用紅外遙控器進(jìn)行控制 銳鑫同創(chuàng)提供的示例十分豐富,注釋清晰,移植太方便了。 IIC,RTC,DS18B20等驅(qū)動(dòng)完全都不用改,項(xiàng)目完成很順利。 核心代碼部分分析: 主循環(huán)里 if(now!=timer.sec){}中每秒進(jìn)行溫度和時(shí)間更新。 if(Remote_Rdy){}檢測遙控器發(fā)出的指令并執(zhí)行。 PCA8538_TIME();參數(shù)較多,大家可以詳細(xì)看一下,實(shí)現(xiàn)溫度和時(shí)間同時(shí)顯示,有點(diǎn)復(fù)雜 (相對(duì)于寄存器
[單片機(jī)]
μCOS-II在ATmega128單片機(jī)上的移植與開發(fā)
  引 言   本文介紹μC/OS-Ⅱ移植到ATMEL公司的8位微控制器ATmega128上的過程。所謂移植,就是使一個(gè)實(shí)時(shí)內(nèi)核可以在某個(gè)微處理器上運(yùn)行,并在此基礎(chǔ)上進(jìn)行驅(qū)動(dòng)程序開發(fā),使之成為一個(gè)實(shí)用的嵌入式系統(tǒng)。嵌入式系統(tǒng)包括了硬件和軟件兩部分,由于系統(tǒng)硬件資源的限制和實(shí)際應(yīng)用的要求,應(yīng)用系統(tǒng)對(duì)軟件的基本要求是體積小,執(zhí)行速度快,具有較好的裁減性和可移植性。   嵌入式系統(tǒng)的軟件一般由嵌入式操作系統(tǒng)和應(yīng)用軟件組成,通過在操作系統(tǒng)之上開發(fā)應(yīng)用軟件,可以屏蔽掉很多底層硬件細(xì)節(jié),使得應(yīng)用程序調(diào)試方便,移植簡單,易維護(hù),同時(shí)開發(fā)周期也短。多數(shù)實(shí)時(shí)操作系統(tǒng)為用戶提供一些標(biāo)準(zhǔn)的API函數(shù),程序開發(fā)人員可以利用這些API函數(shù)進(jìn)行應(yīng)用程序
[單片機(jī)]
實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ在單片機(jī)上的移植
Intel的80196KC系列單片機(jī)在中國國內(nèi)有很大一批用戶。支持 80196KC的C 編譯器生產(chǎn)廠商主要有Tasking和IAR。但國內(nèi)使用Tasking公司C編譯器的用戶較多。由于μC/OS-Ⅱ系統(tǒng)為源碼公開的實(shí)時(shí)操作系統(tǒng),因此是當(dāng)前嵌入式系統(tǒng)開發(fā)的主要方法。但是,在μC/OS-Ⅱ網(wǎng)站上沒有現(xiàn)成的移植實(shí)例。因此,有必要進(jìn)行一次移植以使操作系統(tǒng)成為μC/OS-Ⅱ,這種移植采用的處理器為80196KC,而其編譯器為Tasking c 196。 1μC/OS-Ⅱ的工作原理 μC/OS-Ⅱ是一個(gè)源碼公開的實(shí)時(shí)多任務(wù)操作系統(tǒng),其工作流程如圖1所示。圖中,任務(wù)切換的核心是利用出棧指令將各個(gè)任務(wù)的工作現(xiàn)場再現(xiàn),并利用子程序返回指
[單片機(jī)]
實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ在<font color='red'>單片機(jī)</font>上的<font color='red'>移植</font>
μC/OS-II在Cortex-M3系列單片機(jī)上的移植
引言   μC/OSII是一種簡單高效、源代碼公開的實(shí)時(shí)嵌入式操作系統(tǒng),具有良好的擴(kuò)展性和可移植性,被廣泛應(yīng)用到各種嵌入式處理器上;對(duì)于提高產(chǎn)品的質(zhì)量,減少開發(fā)周期和降低成本有著重要的意義。本文以μC/OSII為移植對(duì)象,以ARM CortexM3內(nèi)核微處理器為移植目標(biāo)來討論其移植過程及應(yīng)用。    1 μC/OSII及ARM CortexM3簡介   實(shí)時(shí)操作系統(tǒng)μC/OSII是一個(gè)基于優(yōu)先級(jí)的搶占式實(shí)時(shí)內(nèi)核,程序可讀性強(qiáng),移植性好,代碼固定,可裁剪,非常靈活。至今,從8位到64位,μC/OSII已在超過40種不同架構(gòu)的微處理器上運(yùn)行。μC/OSII的主要特點(diǎn)有:是優(yōu)先級(jí)可剝奪的實(shí)時(shí)多任務(wù)操作系統(tǒng);可處理和調(diào)度56個(gè)
[嵌入式]
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved