Keil增量编译build异常

发布者:自由梦想最新更新时间:2016-12-14 来源: eefocus关键字:Keil  增量编译  build异常 手机看文章 扫描二维码
随时随地手机看文章

装完MDK4.6/4.7a,发现没有修改源文件的情况下,单击build,每次都是重新编译,之前测试过重新建立工程/装回4.22,解决了该问题,当时并没多想原因。这次又出现了这个问题,重装了很久,也都这样,没有解决。

原因:

1、前阵子安装CDR时,修改了系统时间,忘记修改回去导致。

原因分析:

1、Keil编译时,会将.c等源文件修改时间与系统时间比较,如果修改时间比系统时间靠后,那么即使没有修改,它也会认为有改动,因此每次都会重新编译。正是因为系统时间比源文件修改时间早,所以编译器认为每次都是修改过的。


关键字:Keil  增量编译  build异常 引用地址:Keil增量编译build异常

上一篇:Keil使用中的若干问题
下一篇:防止单片机解密的简单的解决方法

推荐阅读最新更新时间:2024-03-16 15:25

51学习历程-第二章keil软件的使用以及流水灯
第二章 keil软件的使用以及流水灯的实现 2.3 while语句 在程序的最后加上“while(1);”这样的语句就可以让程序停止。 单片机是无法停止工作的,只要它有电,有晶振在起振,就不会停止工作,每过一个时间周期,它内部的程序指针就要加1,程序指针就指向下一个程序 完整的点亮第一个发光二极管的程序 #include reg52.h void main() { P1=01fe; while(1); } 2.5 keil仿真以及延时语句的精确计算 #include reg52.h #define uint unsigned int sbit led1=P1^0; uint i,j; void main() {
[单片机]
51学习历程-第二章<font color='red'>keil</font>软件的使用以及流水灯
keil编程环境中遇到几种常见警告分析
keil中常见的几种警告,固然,相对于错误的,警告的程度不及错误的严重性,有时候忽略,会出现意想不到的错误。先看看常见的几种错误,分析出来现的原因。 1. Warning 280: i :unreferenced local variable 说明 局部变量 i 在函数中未作任何的存取操作 解决方法 消除函数中 i变量的宣告 2 Warning 206: Music3 :missing function-prototype 说明 Music3( )函数未作宣告 或未作外部宣告 所以无法给其他函数调用 解决方法 将叙述void Music3(void)写在程序的最前端作宣告 如果是其他文件的函数则要写成 extern void
[单片机]
Keil C51,内存与指针 反汇编比较
dATa: 固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。 idATa:固定指前面0x00-0xff的256个RAM,其中前128和dATa的128完全相同,只是因为访问的方式不同。 idATa是用类似C中的指针方式访问的。 汇编中的语句为:mox ACC,@Rx.(不重要的补充:c中idATa做指针式的访问效果很好) xdATa: 外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。 pdATa: 外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG, 建议少用。但也有他的
[单片机]
keil c51是如何启动c程序的
汇编是从org 0000h开始启动,那么keil c51是如何启动main()函数的?keil c51有一个启动程序startup.a51,它总是和c程序一起编译和链接。下面看看它和main()函数是如何编译的; //主函数如下; void main(void) { while (1)这是个无条件空循环。 { } } 把上面的main()函数编译后的汇编程序和反汇编代码整理后对照如下; ?C_C51STARTUPSEGMENTCODE ?PR?main?TESTMAINSEGMENT CODE ?STACKSEGMENTIDATA RSEG?STACK DS1 CSEGAT0 ?C_STARTUP:LJMPSTARTUP1 C
[单片机]
Keil C51​​​​​​​中函数指针使用注意事项
在C51 中,结构体成员采用函数指针后,发现main函数中局部变量的值被修改,开始以为堆栈溢出,后发现,单片机使用函数指针会使得调用树出错,在帮助文档中,搜索 function pointer 中,note 指明 Note: Because of the limited stack space of the 8051, the linker overlays function variables and arguments in memory. When you use a function pointer, the linker cannot correctly create a call tree for your p
[单片机]
关于keil编译程序的一些问题
1:当需要申请大量的存储空间时使用这样的方法程序如下: #ifndef ADC_H #define ADC_H//头文件内容 extern uchar xdata adc_ua ; //name = 0x0a extern uchar xdata adc_ub ; extern uchar xdata adc_uc ; extern uchar xdata adc_ia ; extern uchar xdata adc_ib ; extern uchar xdata adc_ic ; #endif 以上出现在头文件中,但是在对应的 .c
[单片机]
【单片机】Keil+Proteus流水灯(模块化编程)
本篇文章: 主要是Keil的模块化编程,同时实现了一个小实验,通过Keil模块化编程来实现流水灯(设计了三种流水方式)。 进入正文: 一、Proteus仿真图 1)在编写代码的时候,我们首先要做的就是绘图,绘制好模型图之后,才可以编写对应的代码。首先,在Proteus创建一个工程(PS:新手请看:Proteus和Keil分别创建单片机工程) 2)根据自己的要求,绘制指定的图形。此次做的是流水灯,请看图: (PS:如果对画图有难度的话,请查看:Proteus画图) 3)绘制好Proteus之后,开始Keil部分。 二、Keil的模块化编程 Keil模块化编程:对代码分开管理,每一部分都是一个完整的代码,需要使用的时候,最
[单片机]
【单片机】<font color='red'>Keil</font>+Proteus流水灯(模块化编程)
KEIL C51代码优化详细分析
阅读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《Keil C51对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析 文章中提到的两种解决方法并不直接和简单。笔者认为这并非是Keil C51中不能处理对一个端口进行连续读写的问题,而是对Kei1 C51的使用不够熟悉和设计不够细致的问题,因此特撰写本文。 本文中对原文提到的问题,提出了三种不同于原文的解决方法。每种方法都比原文中提到的方法更直接和简单,设计也更规范。(无意批评,请原文作者见谅) 1 问题回顾和分析 原文中提到:在实际工作中遇到对同一端口反复连续读取,Keil C51编译并未达到预期
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved