在原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就提供了这样的功能。