搜索
bottom↓
回复: 132

教如何清析的管理keil工程目录,希望对新手有所帮助(原...

  [复制链接]

出0入0汤圆

发表于 2012-10-19 14:14:53 | 显示全部楼层 |阅读模式
        自己逛论坛也有一段时间了,这里给大家提供一个非常开放的技术交流区,我也从这里学到了不少的东西,在这里大家都很乐意分享自己的代码,所以这是一个很好的地方,
对于一些初学者,对代码的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二进制文件,这样是不是很方便啊!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2012-10-19 14:20:31 | 显示全部楼层
楼主的方法不错,对程序员尤其是新手比较实用

出0入8汤圆

发表于 2012-10-19 14:24:06 | 显示全部楼层
该帖要给精华

楼主辛苦了!

出0入0汤圆

发表于 2012-10-19 14:45:55 | 显示全部楼层
辛苦了,受益了

出0入0汤圆

发表于 2012-10-19 14:49:36 来自手机 | 显示全部楼层
不错不错

出350入8汤圆

发表于 2012-10-19 15:03:36 | 显示全部楼层
讲得非常好!

出0入0汤圆

发表于 2012-10-19 15:58:04 | 显示全部楼层
新手学习了,谢谢。

出0入0汤圆

发表于 2012-10-19 16:19:54 | 显示全部楼层
小工程、测试代码,一直用.bat单文件编译、拷贝

出0入0汤圆

发表于 2012-10-19 16:25:36 | 显示全部楼层
很实用的总结

出20入70汤圆

发表于 2012-10-19 16:28:44 | 显示全部楼层
不错,LZ很有心。

谢谢!

出0入0汤圆

发表于 2012-10-19 17:10:37 | 显示全部楼层
可以借鉴,谢谢啦

出0入0汤圆

发表于 2012-10-19 17:23:52 | 显示全部楼层
应该给楼主一个酷帖奖励~~

出0入0汤圆

发表于 2012-10-19 17:50:00 | 显示全部楼层
感谢楼主,学到了些东西。

要是批处理文件把output下的*.hex都复制过来就好了,不用每次修改输出的hex名字后还要修改批处理文件

出0入0汤圆

发表于 2012-10-20 18:32:42 | 显示全部楼层
很好的方法 借鉴了

出0入0汤圆

发表于 2012-10-21 10:29:50 来自手机 | 显示全部楼层
总结得不错啊

出0入0汤圆

发表于 2012-10-23 10:01:53 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2012-12-23 17:37:52 | 显示全部楼层
很好很强大的楼主啊

出0入0汤圆

发表于 2012-12-23 21:26:45 | 显示全部楼层
很好啊,谢谢楼主

出0入0汤圆

发表于 2013-1-26 23:52:52 | 显示全部楼层
很好,谢谢楼主

出0入0汤圆

发表于 2013-1-27 08:47:15 | 显示全部楼层
mark                                 

出0入0汤圆

发表于 2013-1-27 08:55:09 | 显示全部楼层
mark           

出0入0汤圆

发表于 2013-1-27 09:33:25 | 显示全部楼层
学习了,谢谢

出0入0汤圆

发表于 2013-1-28 06:26:02 | 显示全部楼层
mysunmax 发表于 2013-1-27 08:55
mark

感谢楼主的分享。确实很好,到实际会重复编译更改,个人感觉缺少灵活性。

出0入0汤圆

发表于 2013-1-28 08:27:57 | 显示全部楼层
gdmgb520 发表于 2012-10-19 17:50
感谢楼主,学到了些东西。

要是批处理文件把output下的*.hex都复制过来就好了,不用每次修改输出的hex名字 ...

可以这样写bat嘛

copy .\path\*.hex    *.hex

hex文件是用通配符*匹配的

出0入0汤圆

发表于 2013-1-28 10:19:05 | 显示全部楼层
mark,keil的文件管理

出0入0汤圆

发表于 2013-1-29 10:28:13 | 显示全部楼层
非常感谢。

出0入0汤圆

 楼主| 发表于 2013-1-30 16:14:05 | 显示全部楼层
amfan 发表于 2013-1-28 08:27
可以这样写bat嘛

copy .\path\*.hex    *.hex

是的,这些都是可以修改的,因为他只产生一个HEX文件,甚至.\Utility\hex2bin" 1602.hex 1602.bin
这个也是可以修改的,
但是 del 1602.bin 不宜改为del *.bin
因为很可能你想在这里备份很多.bin文件,如
1602_1.bin
1602_2.bin
....
这个.bat可以大家改改试试!

谢谢支持啊!

出0入0汤圆

 楼主| 发表于 2013-1-30 16:21:02 | 显示全部楼层
andirong23 发表于 2013-1-28 06:26
感谢楼主的分享。确实很好,到实际会重复编译更改,个人感觉缺少灵活性。 ...

您好,
您所提到的“到实际会重复编译更改,个人感觉缺少灵活性。”
是的,他的灵活性是有限的,不知道你所说的“重复编译更改”是指的?
不过,这个完全可以随便更改重新编译,随便复制工程文件夹,
只要工程名不变其他的都可以不用更改的。

出0入0汤圆

发表于 2013-1-31 15:31:49 | 显示全部楼层

出0入0汤圆

发表于 2013-2-21 22:47:12 来自手机 | 显示全部楼层
谢谢lz 留着看

出0入0汤圆

发表于 2013-2-21 23:05:30 | 显示全部楼层
很实用的总结

出0入0汤圆

发表于 2013-2-26 15:32:58 | 显示全部楼层
谢谢lz 留个记号

出0入0汤圆

发表于 2013-2-26 15:42:03 | 显示全部楼层
有一定的帮助

出0入0汤圆

发表于 2013-2-26 16:30:07 | 显示全部楼层
一般都小程序,直接一个source+mdk两个文件夹,学习下楼主的

出0入0汤圆

发表于 2013-2-26 17:21:25 | 显示全部楼层
学习楼主的经验~

出0入0汤圆

发表于 2013-2-27 11:45:21 | 显示全部楼层
谢谢楼主,学习了

出110入8汤圆

发表于 2013-2-27 21:52:52 | 显示全部楼层
不错,很实用!

出0入0汤圆

发表于 2013-3-21 16:39:17 | 显示全部楼层
学习

出0入0汤圆

发表于 2013-3-27 09:46:23 来自手机 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2013-3-27 10:18:35 | 显示全部楼层
新手学习了

出0入0汤圆

发表于 2013-3-28 11:29:20 | 显示全部楼层
很好的管理方式,学习了

出0入0汤圆

发表于 2013-3-28 11:56:36 来自手机 | 显示全部楼层
有种设置可以九级优化程序,让程序编译后更小

出0入0汤圆

发表于 2013-3-28 12:00:56 | 显示全部楼层
非常有用,lz这么有心!!

出0入0汤圆

发表于 2013-3-28 22:54:45 | 显示全部楼层
good!
学习了!
管理keil工程目录!!

出0入0汤圆

发表于 2013-3-28 22:58:33 | 显示全部楼层
现在用的跟LZ的也差不多~

出0入0汤圆

发表于 2013-3-28 23:01:34 | 显示全部楼层
顶起来~~~~

出0入0汤圆

发表于 2013-3-28 23:24:55 | 显示全部楼层

出0入0汤圆

发表于 2013-4-6 22:38:04 | 显示全部楼层
不错收下

出0入0汤圆

发表于 2013-4-6 23:01:35 | 显示全部楼层
收藏               

出0入0汤圆

发表于 2013-4-7 01:16:36 来自手机 | 显示全部楼层
学习了~~~~

出0入0汤圆

发表于 2013-4-7 08:44:49 | 显示全部楼层
谢谢楼主分享!!

出0入0汤圆

发表于 2013-4-7 10:11:11 | 显示全部楼层
学习了不错的方法啊

出0入0汤圆

发表于 2013-4-12 16:44:02 | 显示全部楼层
学习了。~mark。~~~~~~

出0入0汤圆

发表于 2013-4-12 20:07:49 | 显示全部楼层
对新手,很有帮助啊!

出0入0汤圆

发表于 2013-4-12 20:54:27 | 显示全部楼层
楼主辛苦了!

出0入0汤圆

发表于 2013-4-13 18:27:47 | 显示全部楼层
很好啊对我很有帮助,辛苦了

出0入0汤圆

发表于 2013-4-13 20:55:48 来自手机 | 显示全部楼层
mark,留着回去以后看

出0入0汤圆

发表于 2013-4-13 22:39:02 | 显示全部楼层
Mark,thanks

出70入0汤圆

发表于 2013-4-16 11:02:28 | 显示全部楼层
难得LZ这么有耐心,知道这个方法的人很多,写出来分享的人却很少。顶楼主!

出0入0汤圆

发表于 2013-4-16 19:15:14 | 显示全部楼层
后面几步学习了,感谢

出0入0汤圆

发表于 2013-5-6 10:10:24 | 显示全部楼层
比较清晰了,以前就是一个文件夹。好混乱

出0入0汤圆

发表于 2013-5-6 11:09:42 | 显示全部楼层
以后可以试试。。。

出0入0汤圆

发表于 2013-5-6 11:39:40 来自手机 | 显示全部楼层
好方法很受用

出0入0汤圆

发表于 2013-5-6 11:45:39 | 显示全部楼层
这个习惯很好,必须的。

出0入0汤圆

发表于 2013-5-6 16:10:37 | 显示全部楼层
作为新手  首先要学会一个好习惯  谢谢楼主

出0入0汤圆

发表于 2013-5-6 16:24:35 | 显示全部楼层
讲得非常好!

出0入0汤圆

发表于 2013-5-6 17:20:49 | 显示全部楼层
mark,学习了

出0入0汤圆

发表于 2013-5-9 11:42:32 | 显示全部楼层
挺好的,长见识了,,,,

出0入0汤圆

发表于 2013-5-14 10:22:06 来自手机 | 显示全部楼层
学习一下....

出0入0汤圆

发表于 2013-5-14 12:57:34 | 显示全部楼层
这种方式挺好的...留个记号

出0入0汤圆

发表于 2013-5-16 14:22:30 | 显示全部楼层
这个方法不错啊。我一直在用笨办法,虽然也不麻烦。看来可以改进一下了。

出0入0汤圆

发表于 2013-5-16 14:49:57 来自手机 | 显示全部楼层
马克,楼主写的很好,图文并冒啊

出0入0汤圆

发表于 2013-5-20 22:35:32 | 显示全部楼层
mark,学习下

出0入0汤圆

发表于 2013-5-20 23:08:29 | 显示全部楼层
终于解决了我一直纠结的问题,楼主太牛了……

出0入0汤圆

发表于 2013-5-21 09:20:39 | 显示全部楼层

出0入0汤圆

发表于 2013-5-21 09:49:08 | 显示全部楼层

mark    。

出0入0汤圆

发表于 2013-7-18 13:56:18 | 显示全部楼层
学习了

出0入0汤圆

发表于 2013-7-18 16:41:20 | 显示全部楼层
收下了,真的很不错

出0入0汤圆

发表于 2013-7-18 18:24:27 | 显示全部楼层
这方面新手必须学习

出0入0汤圆

发表于 2013-7-19 12:37:47 | 显示全部楼层
批文件可以这样的G:\无标题.jpg

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-7-20 11:44:49 | 显示全部楼层
学习了,谢谢!

出0入0汤圆

发表于 2013-7-24 08:48:23 | 显示全部楼层
MARK                     

出0入0汤圆

发表于 2013-7-24 09:03:20 | 显示全部楼层
感谢楼主分享经验

出0入0汤圆

发表于 2013-7-24 15:06:20 | 显示全部楼层
这样管理自己还不错,但是如果打开了别人的程序,而打开的不是这样设置的。不会有问题么

出0入0汤圆

发表于 2013-7-24 15:19:16 | 显示全部楼层
keil还可以执行外部文件哈,
谢谢分享。。。

出0入0汤圆

发表于 2013-7-24 17:43:43 | 显示全部楼层
先mark下来,有空再慢慢看“管理keil工程目录”

出0入0汤圆

发表于 2013-7-25 15:22:40 | 显示全部楼层
不错,楼主辛苦了!

出0入0汤圆

发表于 2013-7-25 23:05:52 | 显示全部楼层
这样清楚多了
谢谢昂,

出0入0汤圆

发表于 2013-7-25 23:16:45 | 显示全部楼层
后面一部               

出0入0汤圆

发表于 2013-7-30 14:05:11 | 显示全部楼层
不错不错 学习了 哈哈

出0入0汤圆

发表于 2013-8-9 17:17:32 | 显示全部楼层
学习了,谢谢楼主

出0入0汤圆

发表于 2013-8-10 10:36:23 | 显示全部楼层
不错!很受益!感谢

出0入0汤圆

发表于 2013-8-10 12:40:51 | 显示全部楼层
楼主好人

出0入0汤圆

发表于 2013-8-12 00:22:56 | 显示全部楼层
楼主辛苦了。      

出0入58汤圆

发表于 2013-11-7 17:10:27 | 显示全部楼层
标记一下,我以前也是所有文件都在一个目录下面。

出0入0汤圆

发表于 2013-11-7 18:33:50 | 显示全部楼层
表示受教,回复一下,平时一定要养成勤于整理的好习惯,要不要找什么文件的时候到处找不到烦死了

出0入0汤圆

发表于 2013-11-7 19:04:17 | 显示全部楼层
总结得挺好的,学习了。以前一直没太重视,一直把.h和.c放在一个目录里面

出0入0汤圆

发表于 2013-11-25 04:24:46 来自手机 | 显示全部楼层
太赞了!围观学习中

出0入0汤圆

发表于 2013-11-25 16:23:55 | 显示全部楼层
不错,前几天还在纠结这个问题呢~~~

出0入0汤圆

发表于 2013-11-26 13:32:17 | 显示全部楼层
收藏下来学习一下
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 12:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表