硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4979|回复: 5
收起左侧

[技术讨论] AT32F403A替代STM32F103之移植CMSIS RTOS V1封装层-CMSIS RTX

[复制链接]

22

主题

16

回帖

82

积分

初级会员

积分
82
发表于 2020-11-8 13:16:48 | 显示全部楼层 |阅读模式
最近意外的发现一款优秀的国产芯片——雅特力的AT32F403A

以下是摘自雅特力官网:
雅特力科技AT32F403A系列高效能微控制器,搭载32位ARM Cortex-M4内核,配合先进制程有效提升整体效能达240MHz的运算速度。内建的单精度浮点运算单元(FPU)及数字信号处理器(DSP),搭配丰富的外设及灵活的时钟控制机制,能满足多种领域应用。完善的内存设计,最高可支持1MB闪存存储器(Flash)及224KB随机存取存储器(SRAM),其闪存存储器执行零等待的优异表现,超越业界同级芯片水平。


240MHz主频,单精度浮点运算单元(FPU)  224KB SRAM一看到这些参数感觉就被种草了,没想到国产的MCU也能做的这么好,不管是性能还是价格上基本上是完全吊锤STM32F103。于是迫不及待的整了一块AT32F403A的板子回来,长下图这样
1.png '

进入正题
因为以前一直使用的是STM32F103,所以这次先把环境搭好,再进行下一步操作,于是先移植个CMSIS RTOS V1封装层来试试水,这次使用的是之CMSIS RTX,freeRTOS版本后面有时间再搞

首先去官网下载雅特力的BSP,类似于STM32 的标准库

下载好了我们可以看到以下的文件结构
image.png

然后我们进project\at_start_f403a\examples\gpio\led_toggle\mdk_v5这个工程来作为模板工程,越简单越好,所以我这里选择的是LED的工程

RTX源文件的位置C:\Users\sonnytu\AppData\Local\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS,每个人可能安装的位置可能不一样用evetything 搜索一下就能找到,目录如下,然后我们后面说的都用相对于这个文件夹下的目录了,这样比较省事
6.png

我们在middlewares新建一个文件夹rtx,然后我们将RTOS\RTX里的文件复制到middlewares\rtx下
7.png

然后在KEIL工程中添加文件如下
8.png
因为AT32F403A是M4内核,所以这里选择的是HAL_CM4.c ,而STM32F103是M3内核选的是HAL_CM3.c

然后在KEIL工程中添加头文件路径如下
9.png

然后在C/C++ Define中添加__CORTEX_M4F,__CMSIS_RTOS,__FPU_PRESENT,意思是使用CMSIS封装层,使用浮点
image.png

然后在at32f4xx_it.c中屏蔽以下几个中断,因为这几个中断被系统占用了

void SVC_Handler(void)
void PendSV_Handler(void)
void SysTick_Handler(void)
11.png
12.png

开始编译,编译通过,说明RTOS源文件和路径都正确添加了
13.png

接下来配置RTX运行参数在RTC_Conf_CM.c中配置,参数配置成和下面一样即可,主要是要配置正确的主频,我这里使用默认的240Mhz
14.png

一切准备就绪后,接下来写个任务运行看看效果
image.png

在Debug模式下观看cnt的值,看到cnt[0]每隔1S增加1,cnt[1]每隔500ms增加1,说明移植成功
16.png

至此CMSIS RTX 移植结束,其实AT32F403A移植RTOS还是比较简单的,和STM32F4系列的是一模一样,因为内核是一样的,后面开始使用各个外设,看了一下AT32F403A和STM32F103的寄存器,外设的寄存器基本都一样,只要之前用过STM32F103那么上手是很容易的


CMSIS_RTX_2.0.zip

488.57 KB, 下载次数: 40

回复

使用道具 举报

73

主题

1193

回帖

1412

积分

至尊会员

积分
1412
发表于 2020-11-8 16:16:43 | 显示全部楼层
多谢分享,,请问开发板哪里弄,??淘宝还是官网申请??
回复

使用道具 举报

73

主题

1193

回帖

1412

积分

至尊会员

积分
1412
发表于 2020-11-8 16:16:57 | 显示全部楼层
开发板哪里弄的??
回复

使用道具 举报

22

主题

16

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2020-11-8 19:31:42 | 显示全部楼层
wdliming 发表于 2020-11-8 16:16
多谢分享,,请问开发板哪里弄,??淘宝还是官网申请??

淘宝上买的,官网貌似没得申请板子的
回复

使用道具 举报

22

主题

16

回帖

82

积分

初级会员

积分
82
 楼主| 发表于 2020-11-8 19:38:29 | 显示全部楼层
wdliming 发表于 2020-11-8 16:16
多谢分享,,请问开发板哪里弄,??淘宝还是官网申请??

世强商城也有
回复

使用道具 举报

73

主题

1193

回帖

1412

积分

至尊会员

积分
1412
发表于 2020-11-8 22:02:17 | 显示全部楼层

多谢~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-30 01:00 , Processed in 0.181584 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表