0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32转AT32代码转换

掌芯元器 2024-09-28 08:09 次阅读

1. 引言

嵌入式开发中,我们经常会遇到更换单片机芯片的事情,若芯片是同一厂家的还好说,若是不同厂家的则需要重新写,重新调,重新去学习其底层驱动程序,比较费时费力。如:ST32转AT32、ST32转GD32等等。本文主要介绍一款ST32转AT32的工具AT32 Smart Code Transfer.exe,可以快速实现芯片的更换,提高开发效率。

1.1.软件功能

本软件可查询与 STM32F10x BSP 标准库中各种名称相对应的 AT32F4xx BSP 标准库中的各种名称。包括 ST 与 AT 的 BSP 标准库中的宏定义、函数名称以及参数、结构体名称、结构体参数等内容。可将基于 STM32F10x BSP 标准库开发的应用程序转化为基于 AT32F4xx BSP 标准库开发的应用程序。

1.2.环境要求

软件要求

  • 需要 Windows XP、Windows 7 及以上操作系统支持。
  • 需要.net framework 4.0 的支持。对于部分未支持.net framework 4.0 的操作系统,需安装.net

framework4.0。

硬件要求

  • PC/AT 兼容机,Pentium 或更高 CPU
  • XVGA(1024*768)颜色显示器。
  • 至少 512M RAM
  • 至少 20M 磁盘空间

2. 功能介绍

在这个章节,将介绍工具的基本操作,主界面如下图所示:

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

请选择语言: 支持简体中文和 English。

请选择目标 MCU选择支持的 AT32 系列 MCU。 支持 AT32 MCU 如下:

  • AT32F403 系列
  • AT32F413 系列
  • AT32F415 系列
  • AT32F403A 系列
  • AT32F407 系列

2.1.“查询”功能

查询功能提供“ST 名称”与“AT 名称”之间的互相查询。包括 ST 与 AT 的 BSP 标准库中的宏定义、函数名称以及参数、结构体名称、结构体参数等等内容。如图所示:

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

ST 名称:

即在 STM32F10x BSP 标准库中的名称。包括宏定义、函数名称以及参数、结构体名称、结构体参数等内容。提供输入时自动检索功能,用户可从检索列表中选择需要查询的内容,如图所示:

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

  • 预先输入 ST 的名称,查询 AT 的名称。

AT 名称:

即在 AT32F4xx BSP 标准库中的名称。包括宏定义、函数名称以及参数、结构体名称、结构体参数等内容。提供输入时自动检索功能,用户可从检索列表中选择需要查询的内容,如图所示:

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

  • 预先输入 AT 的名称,查询 ST 的名称

2.2. “转换”功能

提供将基于 STM32F10x BSP 标准库开发的应用程序转化为基于 AT32F4xx BSP 标准库开发的应用程序,如图所示:

e830c6c0-7d2d-11ef-bb4b-92fbcf53809c.jpg转换前文件目录:

即基于STM32F10x BSP标准库开发的应用程序工程所在目录。

转换后文件目录:

即转换后基于AT32F4xx BSP标准库开发的应用程序工程所在目录。

(此目录需新建一空目录,避免与目录下其他文件混淆)

  • 开始转换:

点此按钮即开始转换过程。

  • 取消:

取消转换过程。

2.2.1 转换过程

转换过程主要分为四个步骤:

  • 文件拷贝

将“转换前文件目录”下的所有文件拷贝到“转换后文件目录”中。

  • 将ST BSP标准库文件替换为AT32 BSP标准库文件。

在这个过程中,会将“转换后文件目录”下所有ST BSP标准库文件替换为AT32 BSP标准库文件。

例如将" stm32f10x_adc.h" 替换为 " at32f4xx_adc.h"

  • 应用程序文件的解析

软件将会对“转换后文件目录”下所有文件的*.c、*.h文件进行解析(非标准库文件)。

  • 应用程序文件的转换

即将基于 STM32F10x BSP 标准库开发的应用程序转化为基于 AT32F4xx BSP 标准库开发的应用程序。

2.2.2 信息提示

转换过程中,会将具体的转换信息进行提示,包括错误信息、转换成功信息等。如图所示:

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

转换提示的错误信息,需用户进行手动查找,并根据提示手动修改应用程序代码

2.3.转换注意事项

1. 本软件涉及到对文件到拷贝、替换、修改,请用户确保具有对文件进行操作的权限。例如:确保具有管理员权限;确保能对文件读取、修改、写入;确保文件是为非只读文件。

2. 本软件解析和转换最大支持5 层数据结构嵌套。

3. 本软件解析和转换最大支持10个参数的函数。

4. 本软件解析和转换最大支持3维数组。

5. 不建议多个项目工程同时转化,有可能在解析时引用关系错误。

6. 对项目文件的转换不完全。整个转换流程完成后,可能需对项目文件进行手动的修改,才能正常执行编译等。

3.总结

该软件能够大大提高STM32和AT32之间代码转换的效率,但是在转换时需要注意内核是否相同,不能盲目转换,且不同代码可能在用户代码的部分有需要调整的内容,需要自己手动调整。转换完的工程需要在keil工程中重新选择目标芯片,并在keil配置中添加对应宏定义。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2276

    文章

    10947

    浏览量

    359167
  • 代码转换
    +关注

    关注

    1

    文章

    3

    浏览量

    6811
  • AT32
    +关注

    关注

    1

    文章

    118

    浏览量

    2276
收藏 人收藏

    评论

    相关推荐

    stm32代码生成器v1.2

    stm32代码生成器
    发表于 08-15 19:49

    STM32代码自动生成器(已和谐)

    STM32代码自动生成器(已和谐)[img][/img]懒人福音,望略有作用
    发表于 07-26 10:18

    懒人福音,STM32代码自动生成器

    新版的STM32代码自动生成器,分享给大家使用
    发表于 09-06 17:35

    基于模型的开发与直接用HAL生成STM32代码

    前言基于模型的开发与直接用HAL, C撸STM32代码并不冲突, 各有各的优势, 互补才是王道.官方简介参考 Code generation for STM32 MCUs using MATLAB
    发表于 08-17 06:16

    VSCode写stm32代码的过程分享

    ,调试、看外设寄存器等功能肯定没有原生的Keil好用,于是整理单纯利用VS Code写stm32代码的过程如下。安装VS Code(直接去官网)和C/C++插件在工程目录中建立.vscode文件夹,...
    发表于 08-23 09:24

    使用Visual Studio Code编写STM32代码详细步骤

    使用Visual Studio Code编写STM32代码详细步骤介绍。
    发表于 08-24 07:35

    有什么方法可以使simulinkstm32代码

    有什么方法可以使simulinkstm32代码呢?有哪些操作流程呢?
    发表于 11-18 06:10

    STM32代码使用说明以及程序下载设置

    STM32代码使用说明以及程序下载设置由于使用HAL库占用空间太大,所以把工程里面的HAL库删除了,还有MDK工程相关的文件也删除了,只保留了CubeMX的IOC文件和一些源代码,使用的时候只需要
    发表于 12-17 06:40

    MDK Keil在编译STM32代码时出错怎么解决?

    MDK Keil在编译STM32代码时出错怎么解决?
    发表于 02-09 07:32

    MSP430代码集锦

    MSP430代码集锦
    发表于 11-23 09:28 24次下载

    XPT2046触摸屏实验过程详解与STM32代码解析

    本文主要介绍了XPT2046触摸屏实验过程详解与STM32代码解析,XPT2046完成一个完整的转换需要24个串行时钟,也就是需要3个字节的SPI时钟。介绍了触摸物理坐标值转换成LCD
    发表于 12-23 12:04 2.5w次阅读
    XPT2046触摸屏实验过程详解与<b class='flag-5'>STM32</b><b class='flag-5'>代码</b>解析

    基于AT32(STM32)单片机的模块化代码之——按键代码模块化

    基于AT32(STM32)单片机的模块化代码之按键模块化1.环境介绍平台:AT32F415单片机,雅特力公司的AT32系列单片机其实跟STM32
    发表于 11-19 10:06 37次下载
    基于<b class='flag-5'>AT32</b>(<b class='flag-5'>STM32</b>)单片机的模块化<b class='flag-5'>代码</b>之——按键<b class='flag-5'>代码</b>模块化

    基于AT32(STM32)单片机的模块化代码之——ADC代码模块化

    基于AT32(STM32)单片机的模块化代码之——ADC代码模块化1.环境介绍平台:AT32F415单片机,雅特力公司的AT32系列单片机其
    发表于 11-19 10:36 17次下载
    基于<b class='flag-5'>AT32</b>(<b class='flag-5'>STM32</b>)单片机的模块化<b class='flag-5'>代码</b>之——ADC<b class='flag-5'>代码</b>模块化

    舵机控制那些事(附STM32代码!!!)

    舵机控制那些事(附STM32代码!!!)
    发表于 12-08 18:51 49次下载
    舵机控制那些事(附<b class='flag-5'>STM32</b><b class='flag-5'>代码</b>!!!)

    三菱PMW文件51代码V2.2绿色版

    三菱PMW文件51代码 V2.2 绿色版软件下载
    发表于 08-29 10:10 0次下载