KeilMDK调试技巧

转载 2012年03月28日 13:59:38

一、三种编译方式的选择

经常看到有些朋友在编译源程序时,总是点击 ,这个按扭的作用是重新编译所有源文件,而不管以前这个工作是否被编译,是否被修改过。我们知道,第一次编译时,会编译所有的源文件,有些工程很大,源文件很多,这个过程比较慢长,有的多达几分钟。因此对于这些比较大的工程,为了节省时间,我们必须搞清楚这三个按钮的使用场合(为了描述的方便,我将这三个按钮分别编号为1,2,3)。下面分别介绍这三个按钮适合的场合。

第一个按钮:它的作用是编译当前的文件。这个按钮的作用是只编译单个文件,因此速度极快,这主要用于检查某个文件是否有语法错误。比如在起动代码里增加了一段汇编程序,看看有没有语法错误,就可以打开起动代码文件,然后点击第一个按钮,即可很快地看到编译结果。

第二个按钮:它的作用是Build target。我们应该经常使用的是这个按钮,而不是第三个按钮。这个按扭在第一次编译时和第三个按钮没区别,都是对整个工程的所有源文件进行编译链接。但如果前面编译链接过。由于对程序修改了少量地方,那么这时就应该使用这个按钮了。点击这个按钮时,编译器会记录上次编译过的模块,以及修改过的源程序,在这次编译的过程中对那些没修改过的源代码并不进行编译而直接使用上次编译的结果。这样对于较大的工程将大大减小编译链接时间,如果为了修改某一行代码而错误地选择第三个按钮,那将浪费大量的时间。

第三个按钮:它的作用是Rebuild all target files,即重新编译所有的源文件,而与上次的编译结果无关。我们应该尽量少用这个按钮。当然有些情况我们需要使用这个按钮,比如修改了优化级别之后最好点这个铵钮编译。

说到这里,读者可能会有疑问,点第三个按钮绝对没错,到底什么情况下点第二个按钮不会有问题又能节省时间呢。答案是当你仅修改了源程序,而没对整个工程配置选项作修改时,使用第二个按钮是最好的选择。

二、Project->Clean target命令的使用

这个命令的作用是清除编译链接过程中生成的所有中间文件、目标文件以及可执行文件。还你一个清爽的工程文件夹。这个我们一般比较少用,当在打包放到互联网上时,可使用这个命令来减少工程占用空间。另外在将源代码发放给客户时,可使用这个命令清除那些没必要的文件。

该命令删除的文件有:

1、 Object Folder文件夹中的可执行文件名并带有以下后缀的文件,*.lnp,*.htm,*.elf,*.h86,*.hex,*.orc,*.sbr,*.cod,*.plg。

2、 Listing Folder文件夹中的可执行文件名并带有以下后缀的文件,*.map,(对于C166还有*.m66,对C51还有*.m50)。

3、 在Object Folder文件夹中所有后缀为*.obj,*.o,*._ii,*._ia,*.__i的文件。

  4、 在Listing Folder文件夹中所有后缀为*.lst的文件。

相关文章推荐

KEIL MDK调试小技巧

RealView MDK具有强大的调试功能。正确使用这些调试功能可以更快更准地发现软件中存在的问题,其中有些调试小技巧并不是很引人注意,在实际工作中如果能注意并使用这些小技巧将大大方便我们工作。下面从...

Keil MDK从未有过的详细使用讲解

转自博客:http://blog.csdn.net/zhzht19861011/article/details/5846510 这博主关于MDK 的使用的文章,写的得TM的好  TM的实用! 真心收...

MDK使用方法与技巧

1 原来用的装的时候选的是ARM配置,结果现在用了stm32,建工程时没有启动代码提示(copy STM32 startup code to project folder and add file t...
  • zzwdkxx
  • zzwdkxx
  • 2013年01月10日 10:36
  • 6770

Keil(MDK-ARM)系列教程(八)_在线调试(Ⅰ)

Keil在线调试内容:复位、全速运行、停止运行、单步调试、逐行调试、跳出调试、运行到光标行、跳转到暂停行、调试窗口!...

Keil C51详细设置及调试方法

http://blog.chinaunix.net/uid-20734916-id-3995349.html 20.4.1   常用调试命令 在对工程成功地进行编译(汇编)、连接以后,...

用KEIL实现联机调试的步骤

作者:iamlaosong keil除了可以编写、编译和仿真执行来调试用户程序外,还可以通过串口实现联机调试,即通过单步、断点看代码执行的效果。步骤如下:使用的是AT89C51CC03单片机,kei...

keilMDK生成代码的内存分配

一、 解惑 Code, RO-data,RW-data,ZI-data Code为程序代码部分 RO-data 表示 程序定义的常量const temp; RW-data 表示 已初始...

KeilMDK配置项中Use MicroLIB是干什么的

在Keil MDK建立STM32的工程时,其中有一项是选 use MicroLIB 由于对KEIL不是很熟悉,于是就查了查,得到了以下信息: microlib 是缺省 C 库的备选库。 它旨在与需...

KeilMDK工程移植到EWARM笔记

  • 2013年12月20日 10:28
  • 902KB
  • 下载

KeilMDK for ARM破解器

  • 2014年09月18日 08:21
  • 720KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:KeilMDK调试技巧
举报原因:
原因补充:

(最多只允许输入30个字)