关于keil编译STM32例程出现错误的解决方法

错误示例

错误如下所示
在这里插入图片描述
…\OBJ\LED.axf: error: L6002U: Could not open file …\obj\sys.o: No such file or directory

我的实际操作一(实际没有解决)

一开始我去按照错误信息所搜,找到了原因,进入控制面板,将temp和tmp进行路径修改,
在这里插入图片描述
在这里插入图片描述

使其不包含中文。并将自己的用户名改成了英文,然后重启电脑再进行编译,但是出乎我的意料,这个错误并没有消失。

我的实际操作二

然后我开始根据错误信息,查看sys文件,发现keil对这个MSR有报错提示,我便复制其中的代码进行查找,在网上查询,以为是什么汇编语言内嵌的一些问题,我按照网上的方法,对代码进行了好几次修改也都毫无进展。

在这里插入图片描述
我问过很多了学长,也在网上查了很久的资料,但一直无法解决这个error,一筹莫展之中,我向老师寻求了帮助。

真相大白

原来我的用户名是中文,而keil安装的路径可能与这个中文有关,而我直接修改用户名,但是对于有些软件来说,他记录的是之前的用户名的文件夹,路径就有一些冲突,从而出现乱码。

用户名没有修改 还是中文:

1、在【C盘根目录】创建【UserData】文件夹
在这里插入图片描述
2、打开刚刚创建的【UserData】文件夹

3、在【UserData】中创建【AppData】文件夹

4、打开【AppData】在其中创建【Local】文件夹

5、打开【Local】在其中创建【Temp】

6、所有的文件创建好了,打开【Temp】文件夹

在这里插入图片描述
7、将你创建好的文件夹中的地址栏中的内容复制下来。在这里插入图片描述
8、打开计算机右键-属性-高级系统设置-高级-环境变量
在这里插入图片描述
9、修改【TEMP】和【TMP】的环境变量
在这里插入图片描述
在这里插入图片描述
将原本的环境变量删除,替换为我们之前所创建文件夹的路径【 C:\UserData\AppData\Local\Temp 】
完成后如下图↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
在这里插入图片描述

点击确定后退出。
再次打开Keil编译即可不再报错

用户名已经修改

这种操作的最后解决办法只能是重装系统了。

乱码原因

因为中文的ascii码是双字节,英文是ascii码单字节,在修改文件夹名称的时候字节没有对齐,所以就变成了乱码。

学习经验

经过我半天的钻研,终于把这个困扰我的问题解决了,我也总结了如下的学习经验。

1.在以后创建文件夹时,最好不要出现中文,以免产生一些不必要的麻烦

2.在看到keil的报错信息后,不要害怕,先看看是不是一些头文件没有包含,或者是头文件定位不准确等自己去解决的简单操作。

3.在确认这个错误你自己无法解决时,直接对其进行copy,打开csdn进行搜索,里面可能有许多人和你有着一样的问题,你就可以在里面寻找解决方案

5.对于有些错误,可以直接复制他的错误代码,例如本文中出现的L6002U,可以更准确的帮你找到错误的原因。

4.如果以上都无法解决,可以向周边厉害的大佬寻求援助,在解决之后将自己的经历记录下来。

经过这次时长半天的bug模式,我体会到原来因为代码不规范或者错误而出现的error并不是最可怕的,反而那些代码没有问题,让你毫无头绪的error才是最致命的。

  • 22
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
### 回答1: STM32F103是意法半导体(STMicroelectronics)推出的一款32位ARM Cortex-M3内核的微控制器。KEIL是一款常用的嵌入式开发软件,适用于ARM Cortex-M系列的微控制器。在KEIL5中,针对STM32F103系列的开发,可以使用相应的例程进行开发。 STM32F103例程是用来展示和教导如何在STM32F103系列芯片上进行编程的示例代码。这些例程涵盖了各种常见的功能,如GPIO操作、定时器使用、串口通信、外部中断、ADC采样等等。开发人员可以通过这些例程快速上手,并根据自己的需求进行扩展和定制。 使用KEIL5进行STM32F103例程开发的步骤如下: 1. 创建一个新的工程:在KEIL5中选择“File”-“New Project”创建一个新的项目,并选择STM32F103系列芯片对应的设备。 2. 配置工程设置:在项目属性中进行设置,如选择编译器、调试器、时钟频率等。 3. 添加例程代码:将STM32F103的例程代码添加到工程中,这些代码通常以.c和.h文件的形式提供。 4. 编译和烧录:点击“Build”进行编译编译成功后使用烧录器将生成的hex或bin文件烧录到STM32F103芯片上。 5. 调试和测试:通过连接调试器进行实时调试,测试代码运行是否正常。 通过使用STM32F103的例程,开发人员可以学习和掌握常用的编程技巧,加速开发过程。同时,由于STM32F103具有丰富的外设,可以灵活应用于各种嵌入式系统和产品的开发中。在Keil5开发环境下,使用STM32F103例程可以更加便捷地进行开发和调试。 ### 回答2: STM32F103是一款基于ARM Cortex-M3内核的微控制器,适用于各种应用领域。Keil是一款广泛使用的集成开发环境(IDE),用于编写、调试和烧录STM32F103微控制器的程序。 Keil5为STM32F103提供了丰富的例程,这些例程可以帮助开发者快速上手并了解STM32F103的功能和各种外设的使用方法。 在Keil5中,可以通过新建项目或导入现有项目的方式来使用例程。例如,我们可以通过新建一个空项目并添加需要的例程文件来开始。 例程文件中包含了各种代码示例,展示了不同外设的配置和使用方法。例如,GPIO例程中可以学习到如何配置GPIO口的输入输出功能;USART例程中可以学习到如何使用串口通信;ADC例程中可以学习到如何配置和读取模数转换器(ADC)的数据;定时器例程中可以学习到如何使用定时器等。 在学习例程时,需要了解每个例程的作用和实现原理,并根据需要进行相应的修改和调试。可以通过Keil5提供的调试工具来单步执行代码、观察变量的值以及寄存器的状态,以便更好地理解和掌握例程的工作流程。 总之,使用Keil5的STM32F103例程可以帮助开发者快速入门STM32F103的开发,并提供了丰富的示例代码,方便开发者学习和应用各种外设功能。通过学习例程,开发者可以逐步提高对STM32F103的理解和掌握,从而开发出更加高效、稳定的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让记忆定格1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值