STM32转AT32代码转换

描述

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. 功能介绍

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

代码转换

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

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

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

2.1.“查询”功能

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

代码转换

ST 名称:

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

代码转换

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

AT 名称:

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

代码转换

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

2.2. “转换”功能

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

代码转换转换前文件目录:

即基于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 信息提示

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

代码转换

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

2.3.转换注意事项

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

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

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

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

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

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

3.总结

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

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分