自己逛论坛也有一段时间了,这里给大家提供一个非常开放的技术交流区,我也从这里学到了不少的东西,在这里大家都很乐意分享自己的代码,所以这是一个很好的地方,
对于一些初学者,对代码的keil的工程管理并不是很清析,所以我想讲讲我自己平时是如何管理keil工程目录的,我也是一个半桶水,希望前辈能够指正,当然也更希望对初学者有一个抛砖的功能。
Keil是一个非常强大的代码编辑和编译工具,…….费话不说了!
第一次发贴有不对还请大家指正啊!
新建一个keil工程,初学者一般都会新建一个文件夹(下面用我的一个1602的测试程序做为实例),然后将每个涉及到的 .c .h文件,还有keil的输出文件都一下放在这个文件夹里,如下图:
图标为 C h 的,就是我们自己建立的.c .h文件,那些没有图标的就是keil输出的一些文件,当然也包括我们要的.hex文件,这样看起来就会感觉乱乱的。
再看下面:
分别建立了以下文件夹
include 用来存放我们头文件.h
output 用来存放keill输出的一些文件
source 用来存放.c的一些源码,
utility 是用来存放一些通用的工具,比如 将hex转为 bin二进制文件
其他的是一些工程文件。(这里的hex,bin文件是通过utility里面的一些工具生成,将在后面讲解)
和上一个图比起来是不是稍微有点层次感,清析一点了,(这两个比较并不是很明显,是因为这个工程是比较小的,如果是再多一点的话我相信肯定是很明显的)。
其实这样做是很简单而且很实用的,下面就讲一下具体的步骤:
第一步:为当前的工程建立一个文件夹,比如,用来保存我们这个1602工程的,所用的所有文件。
第二步:在1602这个目录下分别建个source include output utility 四个文件夹(当然也可以在建立工程的时候,临时建立)。
第三步:打开keil 新建一个工程名为1602工程,将我们的.c 文件保存到source里面,.h文件保存在include里面。
将.c文件都加到工程。
第四步:指定keil的输出文件夹,如下图:
第五步:指定.h头文件的所在目录,这一步是很重要的,其实我们不指定也是可以的,但是在包含头文件的时候要麻烦一点
如图
用这个的格式,什么意思呢? “.”一个点是指的当前目录,也就是在包含当前目录下的include文件夹下的lcd1602.h,
这样虽然可以实现,很明显有一点麻烦,并不是我们想要的,其实在keil中也是可以指定的,如下图
这样指定之后在包含头文件的时候我们就可以像以前那样简练啦,如下图,
到目前为止,我们已经完成了keil的层次管理,是不是很简单呢!
第六步:
应该聪明的你会发现utility里面的东西我们并没有说到。其实这里存放的是些通用的附加的功能,很方便很实用的。
首先,我们指定了output文件夹为了输出keil编译时的输出文件,hex文件也是输出文件,也就在这里面了,但是由于keil编译时的中间输出文件还是蛮多的,
要到里面找hex文件还是有点小麻烦的,怎么办呢,这时utility下的小工具 就派上用场了。
这是一个批处理文件(其实就是一个记事本保存成.bat格式)
我们用记事本打开你会发现很简单的。如下:
copy .\output\1602.hex 1602.hex
意思就是 将.\目录下output文件夹里面的1602.hex文件复制到.\目录下,这样我们就可以在工程目录下一眼就看到hex文件啦。
怎么执行这个批处理文件呢!这个还是要我们去指定的,如下图
点击 3 处选择批处理文件。
然后在编译过后再点击旁边的“LOAD”按钮,就可以了!
下面的编译窗口会有提示
一个文件已经复制,就可以在工程目录下有.hex文件啦,就不用再去output里面去找了,是不是很方便呢!
当然还有的人说了,我想要bin二进制文件怎么办呢,其实这个也很简单!
这个要我们有一个hex2bin.exe的小工具的支持,(附件稍后上传),
把这个小工具放在utility这个文件夹下,然后的在批处理文件中去调用这个小工具就ok啦!
在调用这个小工具之前要把以前生的1602.bin文件删除!
所以批处理文件这样写
copy .\ouput\1602.hex 1602.hex
del 1602.bin
".\Utility\hex2bin" 1602.hex 1602.bin"
然后再执行LOAD可以啦,当然如你要的工程名不一样,只需进入这个批处理文件,然后修改对应的名字就可以啦,
这样就可以产生bin二进制文件,这样是不是很方便啊!转载
|