0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32轉(zhuǎn)AT32代碼轉(zhuǎn)換

掌芯元器 ? 2024-09-28 08:09 ? 次閱讀

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。

硬件要求

  • PC/AT 兼容機(jī),Pentium 或更高 CPU。
  • XVGA(1024*768)顏色顯示器。
  • 至少 512M RAM。
  • 至少 20M 磁盤(pán)空間

2. 功能介紹

在這個(gè)章節(jié),將介紹工具的基本操作,主界面如下圖所示:

e7e3460c-7d2d-11ef-bb4b-92fbcf53809c.jpg

請(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)容。如圖所示:

e7ffb90e-7d2d-11ef-bb4b-92fbcf53809c.jpg

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)容,如圖所示:

e8098e52-7d2d-11ef-bb4b-92fbcf53809c.jpg

  • 預(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)容,如圖所示:

e81805c2-7d2d-11ef-bb4b-92fbcf53809c.jpg

  • 預(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)用程序,如圖所示:

e830c6c0-7d2d-11ef-bb4b-92fbcf53809c.jpg轉(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)換成功信息等。如圖所示:

e851fb7e-7d2d-11ef-bb4b-92fbcf53809c.jpg

轉(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)宏定義。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 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
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    stm32代碼生成器v1.2

    stm32代碼生成器
    發(fā)表于 08-15 19:49

    轉(zhuǎn)STM32代碼自動(dòng)生成器(已和諧)

    STM32代碼自動(dòng)生成器(已和諧)[img][/img]懶人福音,望略有作用
    發(fā)表于 07-26 10:18

    懶人福音,STM32代碼自動(dòng)生成器

    新版的STM32代碼自動(dòng)生成器,分享給大家使用
    發(fā)表于 09-06 17:35

    基于模型的開(kāi)發(fā)與直接用HAL生成STM32代碼

    前言基于模型的開(kāi)發(fā)與直接用HAL, C擼STM32代碼并不沖突, 各有各的優(yōu)勢(shì), 互補(bǔ)才是王道.官方簡(jiǎn)介參考 Code generation for STM32 MCUs using MATLAB
    發(fā)表于 08-17 06:16

    VSCode寫(xiě)stm32代碼的過(guò)程分享

    ,調(diào)試、看外設(shè)寄存器等功能肯定沒(méi)有原生的Keil好用,于是整理單純利用VS Code寫(xiě)stm32代碼的過(guò)程如下。安裝VS Code(直接去官網(wǎng))和C/C++插件在工程目錄中建立.vscode文件夾,...
    發(fā)表于 08-23 09:24

    使用Visual Studio Code編寫(xiě)STM32代碼詳細(xì)步驟

    使用Visual Studio Code編寫(xiě)STM32代碼詳細(xì)步驟介紹。
    發(fā)表于 08-24 07:35

    有什么方法可以使simulink轉(zhuǎn)stm32代碼

    有什么方法可以使simulink轉(zhuǎn)stm32代碼呢?有哪些操作流程呢?
    發(fā)表于 11-18 06:10

    STM32代碼使用說(shuō)明以及程序下載設(shè)置

    STM32代碼使用說(shuō)明以及程序下載設(shè)置由于使用HAL庫(kù)占用空間太大,所以把工程里面的HAL庫(kù)刪除了,還有MDK工程相關(guān)的文件也刪除了,只保留了CubeMX的IOC文件和一些源代碼,使用的時(shí)候只需要
    發(fā)表于 12-17 06:40

    MDK Keil在編譯STM32代碼時(shí)出錯(cuò)怎么解決?

    MDK Keil在編譯STM32代碼時(shí)出錯(cuò)怎么解決?
    發(fā)表于 02-09 07:32

    MSP430代碼集錦

    MSP430代碼集錦
    發(fā)表于 11-23 09:28 ?24次下載

    XPT2046觸摸屏實(shí)驗(yàn)過(guò)程詳解與STM32代碼解析

    本文主要介紹了XPT2046觸摸屏實(shí)驗(yàn)過(guò)程詳解與STM32代碼解析,XPT2046完成一個(gè)完整的轉(zhuǎn)換需要24個(gè)串行時(shí)鐘,也就是需要3個(gè)字節(jié)的SPI時(shí)鐘。介紹了觸摸物理坐標(biāo)值轉(zhuǎn)換成LCD
    發(fā)表于 12-23 12:04 ?2.5w次閱讀
    XPT2046觸摸屏實(shí)驗(yàn)過(guò)程詳解與<b class='flag-5'>STM32</b><b class='flag-5'>代碼</b>解析

    基于AT32(STM32)單片機(jī)的模塊化代碼之——按鍵代碼模塊化

    基于AT32(STM32)單片機(jī)的模塊化代碼之按鍵模塊化1.環(huán)境介紹平臺(tái):AT32F415單片機(jī),雅特力公司的AT32系列單片機(jī)其實(shí)跟STM32
    發(fā)表于 11-19 10:06 ?37次下載
    基于<b class='flag-5'>AT32</b>(<b class='flag-5'>STM32</b>)單片機(jī)的模塊化<b class='flag-5'>代碼</b>之——按鍵<b class='flag-5'>代碼</b>模塊化

    基于AT32(STM32)單片機(jī)的模塊化代碼之——ADC代碼模塊化

    基于AT32(STM32)單片機(jī)的模塊化代碼之——ADC代碼模塊化1.環(huán)境介紹平臺(tái):AT32F415單片機(jī),雅特力公司的AT32系列單片機(jī)其
    發(fā)表于 11-19 10:36 ?17次下載
    基于<b class='flag-5'>AT32</b>(<b class='flag-5'>STM32</b>)單片機(jī)的模塊化<b class='flag-5'>代碼</b>之——ADC<b class='flag-5'>代碼</b>模塊化

    舵機(jī)控制那些事(附STM32代碼!?。。?/a>