打印
[uCOS/RTOS]

【RTOS】雅特力AT32F403A开箱及第一个RT-Thread程序

[复制链接]
796|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Thermit|  楼主 | 2020-6-20 13:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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同时闪烁。




main.zip

948 Bytes

修改后的main文件

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

8

帖子

0

粉丝