Nucleo-L476运行FreeRTOS学习4 - Keil Compiler V6使用方法

 

在使用cubemx学习FreeRTOS时,生成的工程使用的时hal库,编译速度巨慢,本文采用Keil编译器由V5到V6的迁移

本文使用的keil版本为V5.25

 

        Compiler V6发布已经好几年了,Arm Compiler 6是一个基于LLVM的工具链,那LLVM是什么呢?简单来说LLVM是把语法分析机器码生成分开成两个独立部分。这样移植编译器到新构架就很容易了,你只要修改机器码生成部分,语法分析不用改。GCC的编译器这两部分是混在一起的。LLVM与GCC比较优点很多。比如错误信息详细,编译快等等。感兴趣的可以自行查一下。

       一般来讲LLVM的语法分析部分是从GCC继承过来的。所以吗,语法规则和GCC是差不多的。说了这么多其实就像告诉你一件事,Arm Compiler 6的C和汇编的语法和GCC是差不多的。

 

下面开始设置:


1. 设置keil

选择使用V6.9

这块配置如下:

 

2. FreeRTOS配置

主要由于CUBE生成的port.c、 portmacro.h不支持GNU,内部有大量的内联汇编,需更换为GCC版本。

将FreeRTOS源码中的GCC/ARM_CM4F内的port.c portmacro.h替换到项目目录

① 源码库文件路径见下图:(我用的是FreeRTOS的V10.3.0的源代码库替换,项目中用的是V10.0.1,替换之后可以正常编译和运行,有没有区别可以自行查一下)  我使用的文件见可下载: https://download.csdn.net/download/Paul_Yu_Zhang/12154191

② 项目工程的文件路径为:(我这是已经替换过了,压缩包时我原文件的备份)

 

3. 替换之后编译运行

尝试编译一下,没有错误,速度比之前用V5时速度提升好多倍;

 

至此,替换完成。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值