muyichuan2012 发表于 2025-7-25 17:51

AN0254 AT32 MCU On TinyUSB

本帖最后由 muyichuan2012 于 2025-7-28 15:07 编辑

AN0254 AT32 MCU On TinyUSB


前言
本使用指南描述了如何在AT32 MCU上面使用TinyUSB进行开发

支持型号列表:
AT32F413 系列
AT32F415 系列
AT32F423 系列
AT32F425 系列
AT32F403A 系列
AT32F407 系列
AT32F402 系列
AT32F405 系列
AT32F435 系列
AT32F437 系列


目录
概述 ................................. 5
环境安装 ............................6
VSCode 安装 ...................... 6
Python 安装 ........................ 6
GCC 编译器安装 ..................7
Make 安装 ..........................7
Example 使用 ..................... 9
硬件环境 ............................9
TinyUSB 源码目录简介 ......... 9
Example 使用 ......................10
Github 源码使用 .................... 13


AN0254 源码下载链接
https://www.arterytek.com/file/download/2606


1 概述
TinyUSB 是一个用于嵌入式系统的开源跨平台 USB 主机/设备堆栈, 设计为内存安全,没有动态分配,线程安全,所有中断事件都被延迟,然后在非 ISR 任务函数中处理。
其官网网址为:https://docs.tinyusb.org/en/latest/index.html
AT32适配TinyUSB清单:



注意:AT32 Github源码链接:https://github.com/ArteryTek/tinyusb,本文档已附带源码,基于tinyusb.0.18.0版本,其路径为:SourceCode\AN0254_SourceCode_v2.x.x\tinyusb-developer,可直接编译下载运行。


2 环境安装
2.1 VSCode 安装
VSCode 是微软开发的代码编辑器软件,可免费下载和使用,登录VSCode 官网即可下载安装文件,
注意在windows 环境下需要下载对应的版本。
图1. VSCode 官方下载



下载安装后打开VSCode 界面如下图所示:
图2. VSCode 界面



注意:安装完成后需要将VSCode 安装路径加入到环境变量中,后续使用会更加方便。上图中的红色框内为安装的插件,C/C++和Cortex-debug 必须安装,其他可选择性安装即可。


2.2 Python 安装
Python 安装包路径为SourceCode\AN0254_SourceCode_v2.x.x\software_tool,也可访问python 官网获取,安装完成后需要添加到环境变量。

图3. python 添加环境变量


2.3 GCC 编译器安装
GCC(GNU Compiler Collection,GNU 编译器套件)是由GNU 开发的编程语言编译器,其安装包
路径为SourceCode\AN0254_SourceCode_v2.x.x\software_tool,也可访问其官网获取。
双击安装包进行安装即可,安装完成后需要将路径添加到环境变量:
图4. gcc 添加环境变量



2.4 Make 安装
GNU Make 是一个用来控制可执行文件和其他一些从源文件来的非源代码文件版本的软件,Make 可以从一个名为makefile 的文件中获得如何构建程序的依赖关系。其安装包路径为SourceCode\AN0254_SourceCode_v2.x.x\software_tool,也可访问其官网获取。

双击安装包进行安装即可,安装完成后需要将路径添加环境变量。
可打开windows 高级系统设置查看上述工具是否成功添加环境变量,若没有,可以手动添加:
图5. 手动添加环境变量



3 Example 使用
3.1 硬件环境
对应 AT-START-BOARD 搭配 USB 数据线,比如下图AT-START-F437开发板。
图6. AT-START-F437 开发板



注意:AT-START-F437 板配备资源的详细说明,请参考《UM_AT_START_F43x_Vx.x》,其链接为:
https://www.arterytek.com/file/download/2154。


3.2 TinyUSB 源码目录简介
TinyUSB源码路径为SourceCode\AN0254_SourceCode_v2.x.x\tinyusb-developer,其目录结构如下图所示,此tinyusb源码可在支持的AT32 MCU上运行。
图7. TinyUSB 源码目录结构


Example:示例代码,可直接编译下载到对应板子上运行。
Hw:MCU和BOARD所需的依赖,需要通过get_deps.py脚本下载或手动下载。
Lib:第三方库依赖,如FreeRTOS,需要通过get_deps.py脚本下载或手动下载。
Src:USB底层和中间层。


3.3 Example 使用
使用vscode打开tinyusb源码,example文件夹内的device文件夹是MCU作为USB设备身份的示例代码,以device文件夹内的cdc_msc_freertos示例代码为例,参照如下步骤运行:
1. 在终端中跳转到想要编译的工程目录下,如图所示:
图8. 跳转到待编译的工程目录



2 输入指令“make BOARD=对应的板子”进行编译:
图9. 使用make+gcc 进行编译


若之前编译过,需要输入指令“make BOARD=对应的板子 clean”清除上次编译产生的文件,再输
入“make BOARD=对应的板子”进行编译,编译成功后会生成bin文件:
图10. 编译成功后生成bin 文件



3. 烧录到MCU即可,可以使用雅特力官方的烧录工具ICP进行烧录:
图11. 使用ICP 烧录



4. 烧录完成后,用数据线将AT_START_BOARD的OTG1接口与主机(PC)进行连接,可观察到
AT_START板LED2闪烁,PC识别到U盘和虚拟串口。
图12. 电脑识别U 盘




图13. 串口助手测试虚拟串口


4 Github 源码使用
若使用github链接下载源码,会缺少必要依赖,需要先下载依赖方可编译。使用vscode打开github下载的tinyusb源码,example文件夹内的device文件夹是MCU作为USB设备身份的示例代码,以device文件夹内的cdc_msc_freertos示例代码为例,参照如下步骤运行:
1. 在根目录下,在终端中输入指令“python tools/get_deps.py at32f435_437”,等待python自动下载完成此mcu所需依赖:
图14. 运行脚本下载依赖



若因网络问题下载不成功,表现为下述编译过程不成功,提示缺少文件,可参考路径
SourceCode\AN0254_SourceCode_v2.x.x\tinyusb-developer 内的源码对其补齐所缺依赖即可。
2. 后续步骤与“3.3 Example使用”章节一致





页: [1]
查看完整版本: AN0254 AT32 MCU On TinyUSB