[技术手册] Keil-V6版本加装V5编译器**失效问题

[复制链接]
669|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编译器路径
hhdhy 发表于 2025-4-18 18:29 | 显示全部楼层
确保PATH中包含V5编译器的路径,但优先级需低于V6编译器,避免冲突。
yuliangren 发表于 2025-4-18 20:18 | 显示全部楼层
检查Keil的TOOLS.INI文件,手动添加V5编译器的配置项。
teaccch 发表于 2025-4-19 08:23 | 显示全部楼层
如果项目依赖旧版CMSIS库,需确保V5编译器支持该版本。
一切D都好 发表于 2025-4-19 10:07 | 显示全部楼层
尝试将CMSIS库路径添加到V5编译器的头文件搜索路径中。
星星点点didi 发表于 2025-4-19 12:10 | 显示全部楼层
建议确保V5和V6编译器的库文件、头文件路径不冲突如,将V5的库文件放置在独立目录(如C:\Keil_v6\ARM\ARMCCv5\lib)。
nqty 发表于 2025-4-19 13:41 | 显示全部楼层
V6编译器可能默认使用更高的优化级别(如-O3),而V5编译器可能不支持某些优化选项
twinkhahale 发表于 2025-4-19 17:58 | 显示全部楼层
可以检查项目中的宏定义是否与V5编译器兼容,必要时添加或修改宏定义。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

4235

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部