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程序文件的路径限制。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600969.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯电商运营起来竟然这么简单!视频号小店操作玩法一文详解!

大家好,我是电商小布。 在新型电商玩法的兴起下,很多的平台都在电商行业内分到了一杯羹。 腾讯自然也就坐不住了,背靠自身的视频号平台,推出了视频号小店这个项目。 有很多的小伙伴想要趁着这个初期阶段,来加入到其…

Linux gcc day5粘滞位

粘滞位 背景:一定时在一个公共目录(root创建)下。进行临时文件的操作 Linux系统中有很多人,我们需要在一个公共目录下,进行临时文件的操作(增删查改) 创建一个根目录下的dir(mytmp…

基于liorf_localization的重定位

文章目录 概述保存和加载地图利用现有地图进行重定位代码实现Q&&AQ1: point cloud is not in dense format概述 在LIO-SAM的基础上进行重定位,主要是指在已经建立的地图上进行位置的快速定位,这对于机器人在已知环境中的快速启动或者在丢失定位后的恢复尤为重要。L…

链表之双向链表的实现

铁汁们大家好,我们上一篇博客学习了单链表,这节课让我们继续往深学习,学习一下双线链表,话不多说,我们开始吧! 目录 1.双向链表 2.顺序表和链表的优缺点 3.双向链表的实现 1.双向链表 1.我们要实现的双线…

设计模式之观察者模式讲解

概念:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 抽象主题:或者叫被观察者,可以持有、增加、删除观察者对象。具体主题:实现抽象主题定义的…

挖掘未来:私有LTE/5G网络驱动智慧矿山的自动化

私有LTE/5G网络为世界上一些最偏远的角落提供无线连接。如果没有无线通信网络,各行业就无法满足增加产量、降低运营成本和减少环境破坏的需求。 在本案例研究中,我们着眼于自动化如何改变无线网络的动态。智慧矿山要求运营商无缝集成多个系统和应用程序…

Xinstall助力提升用户体验:一键打开App用户页面

在移动互联网时代,App已经成为我们日常生活中不可或缺的一部分。然而,随着App数量的激增,如何让用户更便捷地打开和使用App,提升用户体验,成为了开发者和广告主们亟待解决的问题。此时,Xinstall作为国内专业…

教你如何优雅做好项目管理?

导言 项目本身无好坏之分,项目管理有做好与做坏之别。在互联网大厂的体制下,想要做坏一个项目很难(可以通过换人、追加资源等方式消除风险),想要做好一个项目不容易,需要团队及 PM 付出大量心血和精力。在…

服务网关-微服务小白入门(3)

基本概念 Spring Cloud Gateway Spring Cloud Gateway是基于Spring生态系统之上构建的API网关,包括:Spring 5.x,Spring Boot 2.x和Project Reactor。Spring Cloud Gateway旨在提供一种简单而有效的方法来路由到API,并为它们提供…

爬取日本常用汉字秘籍

前言 昨天投简历时遇到了这样的一个笔试。本以为会是数据结构算法之类的没想到直接发了一个word直接提需求,感觉挺有意思就写了这篇文章,感兴趣的朋友可以看看。 1. 网页内容解析 首先,我们通过请求网页获取到日本常用汉字的链接列表。然后…

【分治算法】Strassen矩阵乘法Python实现

文章目录 [toc]问题描述基础算法时间复杂性 Strassen算法时间复杂性 问题时间复杂性Python实现 个人主页:丷从心. 系列专栏:Python基础 学习指南:Python学习指南 问题描述 设 A A A和 B B B是两个 n n n \times n nn矩阵, A A…

Android Studio导入第三方so库和jar包——Android Studio

导入so库 方式一(libs文件夹) 将项目以【Project】的结构显示,将目标架构对应的so文件夹(如下图中 的arm64-v8a)复制粘贴到app文件下的lib文件夹中(如下图的步骤1 2 3) 在build.gradle&…