【Keil】基于AC6的FreeRTOS部署

简单说说这篇文章的背景

最近在学习RTOS,找了FreeRTOS来练手。开发环境是Keil5.37版本,用的是ARM Compiler 6。根据FreeRTOS的移植文档操作,无法通过编译。因此写下这份笔记。

简单说说ARM Compiler 6

相信大家对keil5中部署FreeRTOS都不陌生。但随着社区的发展,keil5的默认编译器已经从AC5(ARM Compiler 5)迭代到了AC6(ARM Compiler 6)。我们直接根据FreeRTOS里portable/keil(RVDS)里的文件移植,已无法通过AC6的编译,原因我将会在下文中回答。

AC5的编译器为ARMCC,而AC6的编译器为ARMCLANG。AC6带来的升级有很多,例如编译速度有质的提升。但同时许多AC5的编译指令,也不再适用于AC6。
具体变动可以查看文档:https://www.keil.com/appnotes/files/apnt_298.pdf

因此,如果想要在AC6中编译FreeRTOS,则需移植支持ARMCLANG编译指令格式的文件,该文件在portable/gcc中。

只需要将portable/RVDS中的文件,替换为portable/gcc中的文件,就可以从AC5切换至AC6。

结语

目前许多老工程都是使用AC5编译,其中不乏许多汇编写的功能函数。而keil从5.37之后的版本将不再预装AC5,AC6将会渐渐成为主流。因此对汇编的学习对于裸机嵌入式软件工程师来说将会是必要的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值