如何在STM32F10x_StdPeriph_Template基础上建立自己的MDK工程(一)
2015-09-22 18:16
337 查看
初学STM32时,相信令大家最头疼的应该就是如何建立一个新工程了。其实呀,无论是在学习还是工作中,最重要的还是效率,我们不可能每次都要从头开始新建一个工程。那么,这时,有一个建好的工程模板就显得非常重要。这里呢,我将结合自己的亲身经历向大家分享如何使用MDK(Keil)建立一个STM32工程模板,希望能和大家多多交流,如有什么不当之处,还望指正。
![](http://img.blog.csdn.net/20150922182334189?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第一步:下载STM32固件库源码
关于获取ST公司的STM32固件库源码,有几种方法。我们可以在百度上搜,网上有进行了分享,也可以到ST公司的官网进行查找并下载。不过,如果英文不好的话,要在官网上找到STM32固件库确实是件很吃力的事。在官网上可以根据英文提示按不同条件进行筛选,具体操作如下图所示:
![](http://img.blog.csdn.net/20150922182404035?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第二步:新建工程文件夹——《STM32工程模板》
首先,新建工程文件夹《STM32工程模板》,然后再在该文件夹下新建6个文件夹,分别为:《Doc》、《Libraries》、《Listing》、《Output》、《Project》和《User》。其中,《Doc》用于存放各种说明文档;《Libraries》用于存放各种库文件;《Listing》用于存放编译时产生的中间文件;《Output》用于存放生成的下载所需的文件;《Project》用于存放工程文件;《User》用于存放用户文件,即我们自己编写的各种源文件。具体情况如下图所示:
![](http://img.blog.csdn.net/20150922182433559?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第三步:向建立的工程文件夹中添加库文件
1.将库文件中的inc和src文件夹复制到模板工程文件夹下的FWLIB文件夹。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922182456995?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.将库文件中CoreSupport文件夹下的文件复制到工程模板文件夹下的CMSIS文件夹。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922182518943?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.将库文件中DeviceSupport文件夹下的相关文件复制到工程模板文件夹下的CMSIS文件夹。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922182634933?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4.将库文件中startup文件夹下arm中的文件全部复制到工程模板文件夹下的startup文件夹。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922182701145?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5.将库文件中Project文件夹下的相关文件复制到工程模板文件夹下的User文件夹中。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922182736072?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第四步:使用MDK(Keil)新建工程模板
1.首先得选择CPU,这个在新建工程时,会有一个选择芯片的界面,我们只需按提示以及自己的实际情况来选择就好了。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922182800682?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150922182833236?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.更改工程名(将默认的工程名改为“Template”的方法:选中工程,按“F2”键)并为工程添加项目组(Add group to project)。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922182857543?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.分别向各个项目组中添加我们刚刚从库中复制过来的文件文件(Add files to group)。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922182923616?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
第五步:工程配置
1.配置Target选项卡。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922183022357?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.配置Output选项卡。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922183057921?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150922183118317?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150922183131149?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3.配置Listing选项卡。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922183151134?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150922183202597?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4.配置C/C++选项卡。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922183222084?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150922183232274?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5.配置Debug选项卡。具体操作情况如下图:
![](http://img.blog.csdn.net/20150922183315454?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150922183325951?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150922183341396?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
6.配置Utilities选项卡。具体操作情况如下图:
第一步:下载STM32固件库源码
关于获取ST公司的STM32固件库源码,有几种方法。我们可以在百度上搜,网上有进行了分享,也可以到ST公司的官网进行查找并下载。不过,如果英文不好的话,要在官网上找到STM32固件库确实是件很吃力的事。在官网上可以根据英文提示按不同条件进行筛选,具体操作如下图所示:
第二步:新建工程文件夹——《STM32工程模板》
首先,新建工程文件夹《STM32工程模板》,然后再在该文件夹下新建6个文件夹,分别为:《Doc》、《Libraries》、《Listing》、《Output》、《Project》和《User》。其中,《Doc》用于存放各种说明文档;《Libraries》用于存放各种库文件;《Listing》用于存放编译时产生的中间文件;《Output》用于存放生成的下载所需的文件;《Project》用于存放工程文件;《User》用于存放用户文件,即我们自己编写的各种源文件。具体情况如下图所示:
第三步:向建立的工程文件夹中添加库文件
1.将库文件中的inc和src文件夹复制到模板工程文件夹下的FWLIB文件夹。具体操作情况如下图:
2.将库文件中CoreSupport文件夹下的文件复制到工程模板文件夹下的CMSIS文件夹。具体操作情况如下图:
3.将库文件中DeviceSupport文件夹下的相关文件复制到工程模板文件夹下的CMSIS文件夹。具体操作情况如下图:
4.将库文件中startup文件夹下arm中的文件全部复制到工程模板文件夹下的startup文件夹。具体操作情况如下图:
5.将库文件中Project文件夹下的相关文件复制到工程模板文件夹下的User文件夹中。具体操作情况如下图:
第四步:使用MDK(Keil)新建工程模板
1.首先得选择CPU,这个在新建工程时,会有一个选择芯片的界面,我们只需按提示以及自己的实际情况来选择就好了。具体操作情况如下图:
2.更改工程名(将默认的工程名改为“Template”的方法:选中工程,按“F2”键)并为工程添加项目组(Add group to project)。具体操作情况如下图:
3.分别向各个项目组中添加我们刚刚从库中复制过来的文件文件(Add files to group)。具体操作情况如下图:
第五步:工程配置
1.配置Target选项卡。具体操作情况如下图:
2.配置Output选项卡。具体操作情况如下图:
3.配置Listing选项卡。具体操作情况如下图:
4.配置C/C++选项卡。具体操作情况如下图:
5.配置Debug选项卡。具体操作情况如下图:
6.配置Utilities选项卡。具体操作情况如下图:
相关文章推荐
- php 设计API之优化 记
- Maven
- Floating Point Optimization(ARM 浮点优化方案)
- 技术做减法
- 一种手机蹭wifi的新思路
- 于ios7在遇到一些发展deprecated问题
- Multipart to single part feature
- Oracle表锁住处理
- 如何实现数字lcd显示效果(原创)
- 自从邓超当了产品经理之后,我整个人都不好了......
- 基础 HTML之目录问题(相对路径和绝对路径区别)
- Multipart polyline to single part lines
- hihocoder1236(2015长春网赛J题) Scores(bitset && 分块)
- iOS 蓝牙开发资料收集
- ISO 9126质量模型:软件质量模型的6大特性和27个子特性
- C语言——循环缓冲区
- C++的一些心得
- Java parseInt()和parseFloat()的用法
- Java学习之Iterator(迭代器)的一般用法
- org.apache.subversion.javahl.ClientException: svn: E155021: This client is too old to work with the