Keil 出现 “access to xxx was denied” 错误

2024-04-08 22:44
文章标签 错误 keil xxx denied access

本文主要是介绍Keil 出现 “access to xxx was denied” 错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先说结论:文件路径太长导致的

事情是这样的,在用STM32的开发板调试CC1101的收发工程,运行程序呢,结果电脑死机重启了,顺便吐槽一下,最近用VMware经常重启。

电脑重启后再打开工程,发现程序能烧录进去开发板,但是却无法运行,LED灯不亮,程序中有亮灯的代码,说明没有运行程序,再用Keil调试发现根本进不了main函数,(已经在魔术棒中设置run to main() ),于是问同事,说是可能跟bootloader有关系,但是后来烧了一个原子的跑马灯例程,可以正常运行,所以bootloader不是原因所在,后来想到启动文件这个问题。打开工程一看

启动文件带个叹号,双击显示访问被拒绝:

查看文件权限,并不是只读

那么问题是什么呢,Remove这个启动文件,重新添加进来,还是带感叹号,在同事的建议下,浏览到另一个工程的启动文件,添加进来,发现可行了,感叹号不见了。

难道是文件不一样,用NotePad++对比,没什么区别。右键看属性,也发现不了异样,所以基本可以排除是文件不一样的问题,除非是有些不可见的属性导致的区别。

然后下午一直倒腾,发现本工程原本的启动文件加上其他工程的启动文件共三个,放置在不同文件夹,结果也会不一样,在同一个文件夹内,三个启动文件表现都是一样的。

具体表现为:

添加在某个目录下的启动文件OK

往下就不行了:

更往下更不行,以为是这个文件夹的属性有区别,右键查看,也是一样的。

以为是这个std_lib文件夹不应该放启动文件,但是看另一个工程,放在这个文件夹是OK的,其实原本这个例程就是把启动文件放在这个文件夹。

再问同事,说可能跟工程配置文件有关,但是打开下列文件对比:

确实有一些设置不一样,但这些似乎也和启动文件并不相关。

然后实在没办法,网上一搜发现下列文章:

keil5.24复制文件后再次编译出现was denined,或者cannot open source input file_keil access to was denied-CSDN博客

其中有条评论写着:

 于是收到启发,好像确实是路径过长的问题,因为Source_file文件夹可行,其下面的Std_lib却不行,新建文件夹New Std_lib,把启动文件放里面也不行:

以为是级数的问题,为了验证这个猜想,所以在另一个OK的工程里往深了建文件夹放置启动文件,然后添加到工程里,但是建了好几级还是可以。

再想到不跟文件夹级数相关,但可能跟整个路径的字符长度相关,为了验证,建了这么个文件夹:

添加到工程中后,果真,终于出现感叹号了!!!

所以证明是路径长度的问题,再回想双击时的提示:

显示的路径是不完整的,估计是超过了Keil程序文件的路径限制。

有了这么个判断,就好办了,以后文件夹不要放那么深的目录了,名字也不要起得过长。

长了鼠标点起来也累啊。真的无语啊,这么个错误。弄了一下午。无论如何找到了根源,不白费功夫。

这篇关于Keil 出现 “access to xxx was denied” 错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886583

相关文章

python3 pip终端出现错误解决的方法详解

《python3pip终端出现错误解决的方法详解》这篇文章主要为大家详细介绍了python3pip如果在终端出现错误该如何解决,文中的示例方法讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下... 目录前言一、查看是否已安装pip二、查看是否添加至环境变量1.查看环境变量是http://www.cppcns

python进行while遍历的常见错误解析

《python进行while遍历的常见错误解析》在Python中选择合适的遍历方式需要综合考虑可读性、性能和具体需求,本文就来和大家讲解一下python中while遍历常见错误以及所有遍历方法的优缺点... 目录一、超出数组范围问题分析错误复现解决方法关键区别二、continue使用问题分析正确写法关键点三

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

正则表达式r前缀使用指南及如何避免常见错误

《正则表达式r前缀使用指南及如何避免常见错误》正则表达式是处理字符串的强大工具,但它常常伴随着转义字符的复杂性,本文将简洁地讲解r的作用、基本原理,以及如何在实际代码中避免常见错误,感兴趣的朋友一... 目录1. 字符串的双重翻译困境2. 为什么需要 r?3. 常见错误和正确用法4. Unicode 转换的

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Python中ModuleNotFoundError: No module named ‘timm’的错误解决

《Python中ModuleNotFoundError:Nomodulenamed‘timm’的错误解决》本文主要介绍了Python中ModuleNotFoundError:Nomodulen... 目录一、引言二、错误原因分析三、解决办法1.安装timm模块2. 检查python环境3. 解决安装路径问题