Keil-V6版本加装V5编译器破解失效问题简析

描述

配环境什么的最想死了,真的很想死。

因为最近给NRF的蓝牙芯片写东西,用了Keil,开发板是以前朋友的。遇到了不少问题。

先解决第一个,现在Keil版本默认的编译器都是V6的。

蓝牙芯片

这样就叫V6

OK,一般你现在配好环境编译以前的版本的文件,都是报错:

ADuCM355电化学模拟前端-Keli编译版,可以看这个文章下载安装。

但是注意这个就编译器的位置你要和V6的编译器平行安装:

蓝牙芯片

就是在这个目录先建立一个文件夹,我名字叫ARMCC

蓝牙芯片

在这里启用,就是给项目启用

蓝牙芯片

最新的是这样的版本

蓝牙芯片

然后在默认编译器的版本选择里面都是选带版本号的

蓝牙芯片

如果没有错,应该是这样的,或是就多一个V6版本的名字

蓝牙芯片

因为我这个开发板的demo以前是用这个CMSIS4.5写的,所以你就得下载这个。

蓝牙芯片

先安装NRF家族的器件包

蓝牙芯片

然后安装CMSIS的版本包

然后怎么启用呢?

蓝牙芯片

这里,fixed的版本,都选中(我不知道有没有用,但是你最好和我一样)

蓝牙芯片

然后编译,看见3个错误

蓝牙芯片

指向这里

蓝牙芯片是一个管编译控制的文件

我就在想,应该是版本跨太多了,一些标记变化了。

蓝牙芯片

事实上3个版本的CMSIS都是在这里的

蓝牙芯片

虽然看上去上面启用了4.5的CMSIS,但是还是不生效,这里也没有被启用的选项。

就在写的功夫,发现这个CMSIS的版本可以选择了:

蓝牙芯片

选择4.3,成功编译

蓝牙芯片

事实上我刚刚不是这样成功的

蓝牙芯片

我是把这个目录加到了编译头文件的位置

蓝牙芯片

就是这样

蓝牙芯片

现在是这样

蓝牙芯片

这里写了一个STM32的小程序也是可以正常编译的

蓝牙芯片

所有的编译显示在这里

蓝牙芯片

这里就是显示了这个,但是我没有找到

一定编译器是找到了这个地址的头文件,编译成功。

蓝牙芯片

看链接的头文件

蓝牙芯片

看,4.5

蓝牙芯片

剩下是这里

蓝牙芯片

蓝牙芯片

*.dep和*.d文件(Dependency file)记录的是工程或其它文件的依赖,主要记录了引用的头文件路径,其中*.dep是整个工程的依赖,它以工程名命名,而*.d是单个源文件的依赖,它们以对应的源文件名命名。

 

F (.main.c)(0x66236C9D)(-c --cpu Cortex-M0 -D__MICROLIB -g -O3 --apcs=interwork --split_sections ...)

 

这个是编译项目的命令,也就是rebuild之后发生了什么。

蓝牙芯片

也是这样的命令

蓝牙芯片

原来NRF51是M0内核

蓝牙芯片

链接文件

为啥要下这么大辛苦搞这个呢?因为keil被ARM买了,编译器也相比于ARM GUN有着更好的编译性能。

蓝牙芯片

可以这里切换

最重要的是,基于M3,M0的单片机太多了。51的内核太老了,不像样子。

搞这个也是熟悉别的单片机的开发,百利而无一害,毕竟嵌入式第一课永远是搭建环境。

 

蓝牙芯片

感谢这个

蓝牙芯片


 

审核编辑:刘清
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分