娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

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

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

1.簡介

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


2.硬件資源對比

wKgaombXtnCASg_qAACdz3XP_Wg500.png

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

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

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

3.系統資源對比

wKgZombXtouAdSz2AABmKt9kl2Q222.png

4.外設地址對比

wKgaombXtpeADZplAABfWGPTaZ0379.png

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

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

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

4. GD32E230 系列新增了 1K 的 OTP 區域;

5.開發工具版本對比

wKgaombXtqeAMomCAAApgMs_9F8784.png

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

wKgaombXtrmAKY83AAAry3g_6Zc261.png

Segger 對 GD32E230 系列支持情況:

1. Segger 的 6.12 及以上版本才支持 Cortex M23 內核;

2. Segger 當前版本沒有 GD32E230 型號,若使用 Segger 下載 E230 系列,可以選擇 GD32F130 系列或者

GD32F103 系列對應 Flash 容量產品;

3. Segger 6.20 及以上版本才有添加 GD 相關型號,但不支持軟件設置讀保護,需通過程序自行設定。

6. GD32F1x0_Firmware_Library_V2.0.0 移植步驟

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

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

wKgZombXtsyAeGSVAABsube-Nf0540.png

3. 根據實際情況修改使用的芯片型號以及 C 語言語法為 C99;

wKgZombXttSAAwQtAAB7u83DRW4859.pngwKgaombXttSAWtsPAACogb8E3o0442.png


4. 拷貝 Cortex M23 內核支持文件至 x: GD32F1x0_Firmware_Library_V2.0.0FirmwareCMSIS

wKgZombXtu2AJPxVAACws8mhpb8249.png

5. 修改“gd32f1x0.h”頭文件內容

wKgZombXtvuAchKhAAB7I2mJps0682.png

gd32f1x0.h頭文件修改內容

wKgaombXtwGACyioAACKgnOYS0A527.png

6. gd32f1x0_misc.c 文件調整內容

wKgZombXtw6AZD5vAAEs0YKvSy0574.pngwKgZombXtyqAfqXfAAFzMUwmByo663.png

特別注意事項

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

7. “system_gd32f1x0.c”文件修改內容

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

0-24M: 插入 0 個等待周期

24-48M: 插入 1 個等待周期

48-72M: 插入 2 個等待周期

因此配置代碼時需要根據主頻來調整等待周期,相關做法如下:

wKgZombXt0OAcFUbAAHHmhSIXrs568.png

8. ”gd32f1x0_fmc.c”文件修改內容

GD32E230 因為 Flash 只支持 32 位和 64 位編程,所以原有固件庫中的選項字節操作需要調整,原有的

半字編程不支持,考慮到實用性,只修改和驗證如下有提及的 FMC,其他選項字節函數不做支持;

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

7. GD32F1x0_Firmware_Library_V3.0.0 移植步驟

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

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

wKgZombXtsyAeGSVAABsube-Nf0540.png

3 根據實際情況修改使用的芯片型號以及 C 語言語法為 C99;

wKgZombXttSAAwQtAAB7u83DRW4859.pngwKgaombXttSAWtsPAACogb8E3o0442.png

4 拷貝 Cortex M23 內核支持文件至 x: GD32F1x0_Firmware_Library_V2.0.0FirmwareCMSIS

wKgZombXtu2AJPxVAACws8mhpb8249.png

5 修改“gd32f1x0.h”頭文件內容

wKgZombXtvuAchKhAAB7I2mJps0682.png


wKgZombXt7WAEAljAACKhY51wEQ729.png

6 gd32f1x0_misc.c 文件調整內容

wKgaombXuFyAZQnuAADKOAtVYvk686.pngwKgZombXuG6Acht9AADV1X5ErPQ313.png

特別注意事項

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

7 “system_gd32f1x0.c”文件修改內容

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

0-24M: 插入 0 個等待周期

24-48M: 插入 1 個等待周期

48-72M: 插入 2 個等待周期

因此配置代碼時需要根據主頻來調整等待周期,相關做法如下:

wKgZombXuJqAIcn0AAEPxUdkerM154.png

8.”gd32f1x0_fmc.c”文件修改內容

GD32E230 因為 Flash 只支持 32 位和 64 位編程,所以原有固件庫中的選項字節操作需要調整,原有的半字編程不支持,考慮到實用性,只修改和驗證如下有提及的 FMC,其他選項字節函數不做支持;

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

8. GD32F3x0_Firmware_Library 移植步驟

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

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

wKgZombXtsyAeGSVAABsube-Nf0540.png

8 根據實際情況修改使用的芯片型號以及 C 語言語法為 C99;

wKgZombXttSAAwQtAAB7u83DRW4859.pngwKgaombXttSAWtsPAACogb8E3o0442.png

9 拷貝 Cortex M23 內核支持文件至 x: GD32F3x0_Firmware_LibraryFirmwareCMSIS

wKgZombXtu2AJPxVAACws8mhpb8249.png

10 修改“gd32f3x0.h”頭文件內容

wKgaombXuViAbI0AAACU7_OoPn8468.png

11 gd32f3x0_misc.c 文件調整內容

wKgaombXuWWATeBNAADKwaXxVNo535.pngwKgaombXuWyAa6pQAADWM_r9UFM667.png

特別注意事項

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

12 “system_gd32f3x0.c”文件修改內容

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

0-24M: 插入 0 個等待周期

24-48M: 插入 1 個等待周期

48-72M: 插入 2 個等待周期

因此配置代碼時需要根據主頻來調整等待周期,相關做法如下:

wKgaombXuXqAHSqBAAEOhqvUrnc897.png

8.”gd32f3x0_fmc.c”文件修改內容

GD32E230 因為 Flash 只支持 32 位和 64 位編程,所以原有固件庫中的選項字節操作需要調整,原有的

半字編程不支持。Flash 讀取需要對齊,考慮到實用性,只修改和驗證如下有提及的 FMC,其他選項字

節函數不做支持;

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

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

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

推薦閱讀最新更新時間:2025-04-04 10:59

GD32 MCU產品榮膺十大創新成果獎
2013年度中關村十大系列榜單發布會在北京湖北大廈東湖廳隆重舉行,北京兆易創新科技股份有限公司參選的GD32 MCU 產品榮膺十大創新成果獎。 GD32 MCU是兆易創新于2013年推出的中國首款基于ARM Cortex-M3內核的32位通用微控制器系列產品,該產品填補了國內高端32位微控制器領域的空白,提升了國內IC企業的整體技術水準,是中國微控制器產業史上的一座里程碑,鑒于GD32 MCU顯著的產品創新性和技術先進性,以及對國內IC產業的巨大貢獻,在本次評選中脫穎而出一舉入選。 中國技術交易所總裁郭書貴頒發2013中關村十大創新成果獎項 目前GD32 MCU系列產品擁有4大系列106款產品,以更高性能與更優價格相結合
[單片機]
μC/OS-Ⅱ在ARM單片機S3C44B0x上的移植
目前,嵌入式系統在工業控制、家用電器、移動通信、PDA等各種領域得到了越來越廣泛的應用。由于用戶對嵌入式產品的性能要求越來越高,程序設計也變得越來越復雜,這就需要一個通用的嵌入式實時操作系統來對其進行管理和控制。對移植了操作系統的嵌入式系統進行設計和開發,可以大大減小程序員的負擔,對于不同的應用可以按照相同的步驟來完成系統的設計。 μC/OS-Ⅱ是一種簡單高效、源代碼公開的嵌入式實時操作系統,具有良好的可擴展性和可移植性,被廣泛的應用到各種嵌人式處理器上。μCOS-Ⅱ操作系統擁有可固化,可裁剪,可剝奪性的實時內核,可同時管理64個系統任務。利用移植μCOS-Ⅱ操作系統的嵌入式微處理器來設計和開發產品,對于提高產品的性能,減少產
[單片機]
μC/OS-Ⅱ在ARM<font color='red'>單片機</font>S3C44B0x上的<font color='red'>移植</font>
GD32開發實戰指南(基礎篇) 第18章 CRC校驗
開發環境: MDK:Keil 5.30 開發板:GD32F207I-EVAL MCU:GD32F207IK 1 CRC的校驗原理 __循環冗余校驗(CRC)計算單元是根據固定的生成多項式得到任一32位全字的CRC計算結果。__在其他的應用中, CRC技術主要應用于核實數據傳輸或者數據存儲的正確性和完整性。標準EN/IEC 60335-1即提供了一種核實閃存存儲器完整性的方法。 CRC計算單元可以在程序運行時計算出軟件的標識,之后與在連接時生成的參考標識比較,然后存放在指定的存儲器空間。那么首先來看看CRC校驗原理。 1.1基本原理 CRC檢驗原理實際上就是在一個p位二進制數據序列之后附加一個r位二進制檢驗碼(序列),從而構
[單片機]
如何通過Jlink查看GD32芯片跑飛后程序死在哪里?
相信小伙伴們都會遇到這樣的場景:芯片程序跑著跑著就異常了,這個時候又不能仿真,因為一旦仿真程序就會重新download,異常現象就消失了。現在就來教大家如何使用Jlink仿真器去查看GD32芯片跑飛后程序死在哪里。 首先,我們需要將目標板和Jlink進行連接,只需要接三根線:SWDIO(PA13)、SWCLK(PA14)和GND,切記,一定不能接NRST腳,否則連接的時候就可能把芯片復位了,當然,也一定要保證連接過程中芯片不要斷電。 然后在Jlink驅動安裝目錄中找到Jlink.exe,雙擊打開: 打開后是這個界面: 鍵盤輸入:usb,點擊回車: 提示連接到Jlink,然后輸入:s,并回車 這里會有
[單片機]
如何通過Jlink查看<font color='red'>GD32</font>芯片跑飛后程序死在哪里?
Ubuntu下移植內核到OK6410開發板
環境:Win7+virsualBox+ubuntu12.04+ok6410開發板 一,下載源碼:我這里下載的版本是--linux-3.12.7 http://www.kernel.org/ 二,解壓內核: tar -xvf linux-3.12.7-tar.xz 三,更改權限(最好賦予全部權限) sudo chmod -R 777 linux-3.12.7/* 四,修改源碼(針對基于smdk6410架構的ok6410開發板) 1,在arch/arm/mach-s3c64xx/目錄下的mach-smdk6410.c 復制一份在當前文件下命名為mach-ok6410.c wu@wu-VirtualBox:/opt
[單片機]
Ubuntu下<font color='red'>移植</font>內核到OK6410開發板
S3C6410移植apache和php
需要準備的東西: Apache-1.3.39 for linux Php-4.4.8 for linux Ubuntu amd64位 PC機 6410開發板,我用的是友善之臂 交叉編譯: 交叉編譯呢,簡單地說,就是在一個平臺上生成另一個平臺上的可執行代碼,即使用pc上的arm linuxgcc編譯器編譯好代碼,并安裝,然后把整個安裝包放到開發板的相應目錄。 理論上只需在PC上編譯安裝arm版的apache和php即可,實際上由于在編譯安裝過程中需要用到某些文件,而這些文件在x86或amd64平臺上無法運行的,所以在編譯arm版的apache和php之前,需要先使用gcc編譯x86版的apache和php。 Apache
[單片機]
U-Boot-2009-03移植筆記(第二階段:時鐘!)
根據U-Boot-2009-03移植筆記(第二階段移植準備)最后的總結,需要針對S3C2440來移植時鐘初始化的代碼。 在lib_arm/board.c中,個init_sequence數組,定義了所有的初始化函數指針。 時鐘的驅動,在函數board_init中,位于board/xinna2440/xinna2440.c,我們這里只支持S3C2440,刪除文件頭部的時鐘參數宏定義,直接改為 1 #define FCLK_SPEED 1 2 3 #define M_MDIV 0x7f 4 #define M_PDIV 0x2 5 #define M_SDIV 0x1 6 7 #define USB_CLO
[單片機]
U-Boot-2009-03<font color='red'>移植</font>筆記(第二階段:時鐘!)
Linux移植之內核啟動過程start_kernel函數簡析
在Linux移植之內核啟動過程引導階段分析中從arch/arm/kernel/head.S開始分析,最后分析到課start_kernel這個C函數,下面就簡單分析下這個函數,因為涉及到Linux的內容較多,這里只是簡單介紹下內核啟動流程。先看一下內核啟動的流程框圖,截圖來自《嵌入式Linux應用開發完全手冊》。內核引導階段已經分析過,接下來分析一下內核啟動的第二階段。 1、start_kernel函數全局概覽 2、start_kernel函數調用層次 1、start_kernel函數全局概覽,對start_kernel作一下粗略注釋。 打開initMain.c ,下面主要分析處理UBOOT傳入的參數,其中r1是傳入的第一個參
[單片機]
Linux<font color='red'>移植</font>之內核啟動過程start_kernel函數簡析
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 通江县| 仙游县| 浦县| 尚义县| 沛县| 海口市| 保亭| 晴隆县| 土默特左旗| 安福县| 兰考县| 武平县| 聊城市| 东港市| 营口市| 绥滨县| 土默特左旗| 石阡县| 牟定县| 台湾省| 江城| 收藏| 中西区| 霍邱县| 芜湖市| 木里| 延津县| 鄂尔多斯市| 象山县| 抚远县| 襄汾县| 广州市| 华坪县| 龙里县| 徐闻县| 汝南县| 沾化县| 密云县| 卓尼县| 肥乡县| 宣威市|