1. 引言
在嵌入式開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到更換單片機(jī)芯片的事情,若芯片是同一廠家的還好說(shuō),若是不同廠家的則需要重新寫(xiě),重新調(diào),重新去學(xué)習(xí)其底層驅(qū)動(dòng)程序,比較費(fèi)時(shí)費(fèi)力。如:ST32轉(zhuǎn)AT32、ST32轉(zhuǎn)GD32等等。本文主要介紹一款ST32轉(zhuǎn)AT32的工具AT32 Smart Code Transfer.exe,可以快速實(shí)現(xiàn)芯片的更換,提高開(kāi)發(fā)效率。
1.1.軟件功能
本軟件可查詢(xún)與 STM32F10x BSP 標(biāo)準(zhǔn)庫(kù)中各種名稱(chēng)相對(duì)應(yīng)的 AT32F4xx BSP 標(biāo)準(zhǔn)庫(kù)中的各種名稱(chēng)。包括 ST 與 AT 的 BSP 標(biāo)準(zhǔn)庫(kù)中的宏定義、函數(shù)名稱(chēng)以及參數(shù)、結(jié)構(gòu)體名稱(chēng)、結(jié)構(gòu)體參數(shù)等內(nèi)容。可將基于 STM32F10x BSP 標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)的應(yīng)用程序轉(zhuǎn)化為基于 AT32F4xx BSP 標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)的應(yīng)用程序。
1.2.環(huán)境要求
軟件要求
- 需要 Windows XP、Windows 7 及以上操作系統(tǒng)支持。
- 需要.net framework 4.0 的支持。對(duì)于部分未支持.net framework 4.0 的操作系統(tǒng),需安裝.net
framework4.0。
硬件要求
2. 功能介紹
在這個(gè)章節(jié),將介紹工具的基本操作,主界面如下圖所示:
請(qǐng)選擇語(yǔ)言: 支持簡(jiǎn)體中文和 English。
請(qǐng)選擇目標(biāo) MCU: 選擇支持的 AT32 系列 MCU。 支持 AT32 MCU 如下:
- AT32F403 系列
- AT32F413 系列
- AT32F415 系列
- AT32F403A 系列
- AT32F407 系列
2.1.“查詢(xún)”功能
查詢(xún)功能提供“ST 名稱(chēng)”與“AT 名稱(chēng)”之間的互相查詢(xún)。包括 ST 與 AT 的 BSP 標(biāo)準(zhǔn)庫(kù)中的宏定義、函數(shù)名稱(chēng)以及參數(shù)、結(jié)構(gòu)體名稱(chēng)、結(jié)構(gòu)體參數(shù)等等內(nèi)容。如圖所示:
ST 名稱(chēng):
即在 STM32F10x BSP 標(biāo)準(zhǔn)庫(kù)中的名稱(chēng)。包括宏定義、函數(shù)名稱(chēng)以及參數(shù)、結(jié)構(gòu)體名稱(chēng)、結(jié)構(gòu)體參數(shù)等內(nèi)容。提供輸入時(shí)自動(dòng)檢索功能,用戶(hù)可從檢索列表中選擇需要查詢(xún)的內(nèi)容,如圖所示:
- : 預(yù)先輸入 ST 的名稱(chēng),查詢(xún) AT 的名稱(chēng)。
AT 名稱(chēng):
即在 AT32F4xx BSP 標(biāo)準(zhǔn)庫(kù)中的名稱(chēng)。包括宏定義、函數(shù)名稱(chēng)以及參數(shù)、結(jié)構(gòu)體名稱(chēng)、結(jié)構(gòu)體參數(shù)等內(nèi)容。提供輸入時(shí)自動(dòng)檢索功能,用戶(hù)可從檢索列表中選擇需要查詢(xún)的內(nèi)容,如圖所示:
- :預(yù)先輸入 AT 的名稱(chēng),查詢(xún) ST 的名稱(chēng)
2.2. “轉(zhuǎn)換”功能
提供將基于 STM32F10x BSP 標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)的應(yīng)用程序轉(zhuǎn)化為基于 AT32F4xx BSP 標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)的應(yīng)用程序,如圖所示:
轉(zhuǎn)換前文件目錄:
即基于STM32F10x BSP標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)的應(yīng)用程序工程所在目錄。
轉(zhuǎn)換后文件目錄:
即轉(zhuǎn)換后基于AT32F4xx BSP標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)的應(yīng)用程序工程所在目錄。
(此目錄需新建一空目錄,避免與目錄下其他文件混淆)
- 開(kāi)始轉(zhuǎn)換:
點(diǎn)此按鈕即開(kāi)始轉(zhuǎn)換過(guò)程。
- 取消:
取消轉(zhuǎn)換過(guò)程。
2.2.1 轉(zhuǎn)換過(guò)程
轉(zhuǎn)換過(guò)程主要分為四個(gè)步驟:
- 文件拷貝
將“轉(zhuǎn)換前文件目錄”下的所有文件拷貝到“轉(zhuǎn)換后文件目錄”中。
- 將ST BSP標(biāo)準(zhǔn)庫(kù)文件替換為AT32 BSP標(biāo)準(zhǔn)庫(kù)文件。
在這個(gè)過(guò)程中,會(huì)將“轉(zhuǎn)換后文件目錄”下所有ST BSP標(biāo)準(zhǔn)庫(kù)文件替換為AT32 BSP標(biāo)準(zhǔn)庫(kù)文件。
例如將" stm32f10x_adc.h" 替換為 " at32f4xx_adc.h"
- 應(yīng)用程序文件的解析
軟件將會(huì)對(duì)“轉(zhuǎn)換后文件目錄”下所有文件的*.c、*.h文件進(jìn)行解析(非標(biāo)準(zhǔn)庫(kù)文件)。
- 應(yīng)用程序文件的轉(zhuǎn)換
即將基于 STM32F10x BSP 標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)的應(yīng)用程序轉(zhuǎn)化為基于 AT32F4xx BSP 標(biāo)準(zhǔn)庫(kù)開(kāi)發(fā)的應(yīng)用程序。
2.2.2 信息提示
轉(zhuǎn)換過(guò)程中,會(huì)將具體的轉(zhuǎn)換信息進(jìn)行提示,包括錯(cuò)誤信息、轉(zhuǎn)換成功信息等。如圖所示:
轉(zhuǎn)換提示的錯(cuò)誤信息,需用戶(hù)進(jìn)行手動(dòng)查找,并根據(jù)提示手動(dòng)修改應(yīng)用程序代碼。
2.3.轉(zhuǎn)換注意事項(xiàng)
1. 本軟件涉及到對(duì)文件到拷貝、替換、修改,請(qǐng)用戶(hù)確保具有對(duì)文件進(jìn)行操作的權(quán)限。例如:確保具有管理員權(quán)限;確保能對(duì)文件讀取、修改、寫(xiě)入;確保文件是為非只讀文件。
2. 本軟件解析和轉(zhuǎn)換最大支持5 層數(shù)據(jù)結(jié)構(gòu)嵌套。
3. 本軟件解析和轉(zhuǎn)換最大支持10個(gè)參數(shù)的函數(shù)。
4. 本軟件解析和轉(zhuǎn)換最大支持3維數(shù)組。
5. 不建議多個(gè)項(xiàng)目工程同時(shí)轉(zhuǎn)化,有可能在解析時(shí)引用關(guān)系錯(cuò)誤。
6. 對(duì)項(xiàng)目文件的轉(zhuǎn)換不完全。整個(gè)轉(zhuǎn)換流程完成后,可能需對(duì)項(xiàng)目文件進(jìn)行手動(dòng)的修改,才能正常執(zhí)行編譯等。
3.總結(jié)
該軟件能夠大大提高STM32和AT32之間代碼轉(zhuǎn)換的效率,但是在轉(zhuǎn)換時(shí)需要注意內(nèi)核是否相同,不能盲目轉(zhuǎn)換,且不同代碼可能在用戶(hù)代碼的部分有需要調(diào)整的內(nèi)容,需要自己手動(dòng)調(diào)整。轉(zhuǎn)換完的工程需要在keil工程中重新選擇目標(biāo)芯片,并在keil配置中添加對(duì)應(yīng)宏定義。
-
STM32
+關(guān)注
關(guān)注
2264文章
10857瀏覽量
354381 -
代碼轉(zhuǎn)換
+關(guān)注
關(guān)注
1文章
3瀏覽量
6756 -
AT32
+關(guān)注
關(guān)注
1文章
111瀏覽量
2058
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論