本帖最后由 Thermit 于 2020-6-20 14:21 编辑
之前参加了论坛主办的RT-Thread应用竞赛,但是之前一直都没空,这两天终于完成了教学任务,把之前一直吃灰的板子发个开箱。
可以看到,这个开发板整体结构类似STM-Discovery系列,自带了名为AT-Link-EZ的仿真器。开发板烧录了流水灯程序,上电即能工作。
板载的MCU为AT32F403AVGT7,M4内核,最高主频200M,224K SRAM,1MB Flash。
接下来进入正题,在这个贴子中,我们首先编译运行了雅特力官方流水灯例程,然后使用RT-Thread的线程功能实现了LED Blink。
我们首先前往雅特力官网的下载页面 http://www.arterytek.com/html/product/AT32F403A.jsp?t=1592576758292#Resource
我使用的开发环境为Keil,所以我下载了这三个文件,Keil的Pack、AT-Link的驱动、以及STD lib。
首先安装Keil的Pack和AT-Link的驱动,解压STD lib,解压后内容如图所示。
我们选择例程中的流水灯,即下图中的LED_Toggle进行测试。
编译烧录后,工作正常。
下一步是把RT-Thread跑起来
首先前往RTT的下载页面 https://www.rt-thread.org/page/download.html
下载env工具以及RTT的源码包,由于目前的Release版本中并没有AT32的BSP,所以我们使用的是最新的6bcf52b版本
在env工具中定位到AT32的BSP,执行scons命令,生成工程文件
进入工程目录编译,即得到了流水灯项目,下一步我们使用RTT的线程功能实现LED Blink
首先定义参数
加入线程结构,栈空间及入口函数
在main函数中初始化并启动线程
类似地,加入另外两个LED的处理函数
最后,在main函数中加入return,释放CPU
编译,将下载器改为CMSIS-DAP
下载后RESET即可见三盏LED同时闪烁。
|