当前位置: 首页 > news >正文

在原keil上/在别人电脑上能跑,在自己的keil上不能跑是什么原因?

系列文章目录

1.元件基础
2.电路设计
3.PCB设计
4.元件焊接
5.板子调试
6.程序设计
7.算法学习
8.编写exe
9.检测标准
10.项目举例
11.职业规划


文章目录

  • 前言
    • 1、替换armlink.exe
    • 2、查看包含的头文件
    • 3、查看工程
    • 4、选用一样的固件包
    • 5、检查文件路径
    • 6、检查KEIL配置
      • ①、芯片包
      • ②、晶振
      • ③、HEX输出
      • ④、PACK路径
      • ⑤、Reset and Run
      • ⑥、优化等级
    • 后记

前言


送给大学毕业后找不到奋斗方向的你(每周不定时更新)

1、替换armlink.exe

替换路径
在这里插入图片描述

文件下载链接

Armlink的功能

链接ARM代码和Thumb代码。

生成 interworking veneers,以便在需要时在ARM代码和Thumb代码之间切换。

根据需要生成range extension veneers,以扩展分支指令的范围。

根据所链接对象的构建属性,自动选择要链接的适当标准C或c++库变体。

允许使用 acommand-line 选项或 .sct 文件指定代码和数据在系统内存映射中的位置。

执行RW数据压缩以最小化ROM大小。

删除未使用的部分,以减小输出Image的大小。

控制输出文件中调试信息的生成。

生成一个静态调用图(.map),并列出堆栈使用情况。

控制输出图像中符号表的内容。

显示输出中的代码和数据的大小。

使用链接器反馈来删除单个未使用的函数。

2、查看包含的头文件

在这里插入图片描述
一个个打开看看,是不是文件丢失
案例:
在这里插入图片描述

3、查看工程

在这里插入图片描述
问题原由:
使用keil添加文件时,在不同的group文件夹里添加了两个相同的.c文件或者添加过同样的文件,会导致编译出现问题,即同一个c源文件,在不同的文件夹下,被添加了多次。

解决方案
1、删除重复文件,确保.c文件在工程内不重复
2、关闭KEIL工程,并运行keilkill.bat将编译链接文件全部删除
3、打开工程进行编译即可

4、选用一样的固件包

在这里插入图片描述

5、检查文件路径

在这里插入图片描述

6、检查KEIL配置

①、芯片包

在这里插入图片描述

②、晶振

在这里插入图片描述

③、HEX输出

在这里插入图片描述

④、PACK路径

在这里插入图片描述

⑤、Reset and Run

在这里插入图片描述

⑥、优化等级

在这里插入图片描述

后记

Keil是单片机的一款开发环境,分为不同的版本分别对应不同阶段的单片机。

主流的就是51单片机和STM32单片机。

一般来说51单片机和STM32单片机的Keil版本不能共用,也就是一个keil不能同时编译51和STM32单片机的程序。

但是无际单片机编程研究出了可以共用的方法,这块可以先关注我们,后续会教大家怎么去设置。

前面说了keil是一款开发环境工具,那它主要的作用有以下2个:

1、编写单片机程序
单片机支持用汇编和c语言来编写程序,汇编一般用的资源非常少的单片机,我做了10年单片机开发基本没用过。

所以建议新手主力去学习c语言,最好是学习单片机c语言编程。

这个跟纯软件的c语言教程有点差别,主要体现在开发环境和需要学习的知识点。

针对单片机的c语言编程我们也录制了一套系统的视频教程,主要偏向实战为主,对于单片机开发不常用的知识点没去讲。

教程可以搜无际单片机编程找到我们。

2、编译程序

我们写好程序以后,需要编译成hex的文件,下载到单片机里面去执行。

Keil就提供了这样的功能。


http://www.mrgr.cn/news/24350.html

相关文章:

  • C++模板-进阶篇
  • SprinBoot+Vue宠物寄养系统的设计与实现
  • uniapp中使用uni.$emit和uni.$on在vue和nvue页面之间传值但是无法赋值的问题
  • 面试官:说说你对keep-alive的理解是什么?
  • Python设计模式实战:开启软件设计的精进之旅
  • Windows安装docker
  • LLM大模型基础入门:从头开始编写LLM代码
  • 责任划分不清导致工作冲突,项目困局如何解?
  • 瑞芯微RK3568鸿蒙开发板OpenHarmony系统修改cfg文件权限方法
  • 【高并发设计】系统三高是哪三高,高并发,到底QPS达到多少才算高并发,多大的并发才算是高并发,今天我们来简单聊聊
  • UEFI基础概念2——Handle和Protocol
  • 实战千问2大模型第二天——Qwen2-VL-7B(多模态)的部署和测试
  • uniapp业务实现
  • Redis_RDB持久化
  • CAN集线器(工业级、隔离式)
  • 易基因:Adv Sci:ACE等揭示产前不良环境暴露通过DNA羟甲基化变化介导子代自闭症|国人佳作
  • Redis基础,常用操作命令,主从复制,一主两从,事务数据库操作
  • 骨传导耳机哪款品牌最值得入手?精选五款热门品牌骨传导耳机分享
  • 华为 HCIP-Datacom H12-821 题库 (16)
  • 基于SpringBoot+Vue的学生成绩管理系统