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配置中添加对应宏定义。
软件下载请关注掌芯元器官方博客下载。