打印
[技术手册]

Keil-V6版本加装V5编译器**失效问题

[复制链接]
282|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
youtome|  楼主 | 2025-3-31 17:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在Keil版本默认的编译器都是V6的。



OK,一般你现在配好环境编译以前的版本的文件,都是报错:
但是注意这个就编译器的位置你要和V6的编译器平行安装:



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



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



最新的是这样的版本



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



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



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



然后怎么启用呢?



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



然后编译,看见3个错误



指向这里



是一个管编译控制的文件
就在写的功夫,发现这个CMSIS的版本可以选择了:



选择4.3,成功编译



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



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



现在是这样



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



所有的编译显示在这里



这里就是显示了这个,但是我没有找到
一定编译器是找到了这个地址的头文件,编译成功。



看链接的头文件



看,4.5



剩下是这里






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

运行
AI代码解释


(.c()-c ---g O3 =interwork ...这个是编译项目的命令,也就是rebuild之后发生了什么。


也是这样的命令



原来NRF51是M0内核



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



可以这里切换


使用特权

评论回复
沙发
nuan11nuan| | 2025-4-18 13:37 | 只看该作者
在Keil-V6版本中加装V5编译器出现失效问题时,通常是由于Keil-V6默认使用新的编译器架构,而V5编译器的配置或依赖项未正确集成到新版本中。

使用特权

评论回复
板凳
hight1light| | 2025-4-18 15:09 | 只看该作者
从Keil官网或历史版本存档中获取与项目兼容的V5编译器版本(如ARM Compiler 5)。安装路径:将V5编译器安装到Keil-V6安装目录下的独立文件夹中,例如C:\Keil_v6\ARM\ARMCCv5。

使用特权

评论回复
地板
suiziq| | 2025-4-18 16:13 | 只看该作者
可以尝试通过命令行编译项目,强制指定V5编译器路径

使用特权

评论回复
5
hhdhy| | 2025-4-18 18:29 | 只看该作者
确保PATH中包含V5编译器的路径,但优先级需低于V6编译器,避免冲突。

使用特权

评论回复
6
yuliangren| | 2025-4-18 20:18 | 只看该作者
检查Keil的TOOLS.INI文件,手动添加V5编译器的配置项。

使用特权

评论回复
7
teaccch| | 2025-4-19 08:23 | 只看该作者
如果项目依赖旧版CMSIS库,需确保V5编译器支持该版本。

使用特权

评论回复
8
一切D都好| | 2025-4-19 10:07 | 只看该作者
尝试将CMSIS库路径添加到V5编译器的头文件搜索路径中。

使用特权

评论回复
9
星星点点didi| | 2025-4-19 12:10 | 只看该作者
建议确保V5和V6编译器的库文件、头文件路径不冲突如,将V5的库文件放置在独立目录(如C:\Keil_v6\ARM\ARMCCv5\lib)。

使用特权

评论回复
10
nqty| | 2025-4-19 13:41 | 只看该作者
V6编译器可能默认使用更高的优化级别(如-O3),而V5编译器可能不支持某些优化选项

使用特权

评论回复
11
twinkhahale| | 2025-4-19 17:58 | 只看该作者
可以检查项目中的宏定义是否与V5编译器兼容,必要时添加或修改宏定义。

使用特权

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

本版积分规则

42

主题

4115

帖子

2

粉丝