MDK工程的建立方法.docx
《MDK工程的建立方法.docx》由会员分享,可在线阅读,更多相关《MDK工程的建立方法.docx(11页珍藏版)》请在冰豆网上搜索。
MDK工程的建立方法
KeilMDK工程建立
7.jpg(26.12KB)
2011-1-1400:
37
8.jpg(131.67KB)
2011-1-1400:
37
我们要开始建立我们的第一个工程.
在开始之前,请读者先从网上获取ST公司提供的STM32固件库“stm32f10x_fw_archivev2.0(May2009)”,然后将其解压。
首先请读者在任意一个地方建立一个空文件夹,并将其命名为“STM32_FW”。
然后在STM32_FW里新建6个文件夹,分别命名为“boot”、“library”、“src”、“obj”、“list”、“library”。
如下图所示:
9.jpg(22.29KB)
2011-1-1400:
37
接下来请执行如下操作:
1、在刚才解压“stm32f10x_fw_archivev2.0(May2009)”得到的文件夹里按照路径\stm32f10x_fw_archivev2.0(May2009)\Archive,找到um0427.rar并将其解压。
2、在第1步解压到的um0427文件夹里按路径“\um0427\FWLib\project\RVMDK”找到文件:
“cortexm3_macro.s”和“stm32f10x_vector.s”,并将其复制到前面所新建的“STM32_FW\boot”文件夹中。
此二者为STM32在MDK环境下的启动文件,是每一个STM32工程所必需的。
3、在“\um0427\FWLib\project”中找到文件:
“stm32f10x_it”和“stm32f10x_it”,并将其复制到“STM32_FW\interrupt”中。
此二者包含了STM32在MDK下的中断服务入口函数。
4、将“\um0427\FWLib\library”中的“inc”文件夹和“src”文件夹复制到“STM32_FW\library”中。
此二文件夹为STM32的固件函数库文件,一般情况下这两个文件夹里的文件都不推荐改动,可以设置只读属性。
5、最后请新建一个名字为“main.c”文件,放入“STM32_FW\src”中。
执行完以上操作后,应该得到如下结构:
STM32_FW\boot:
“cortexm3_macro.s”和“stm32f10x_vector.s”文件;
STM32_FW\interrupt:
“stm32f10x_it”和“stm32f10x_it”文件;
STM32_FW\src:
“main.c”文件;
STM32_FW\library:
“inc”文件夹和“src”文件夹;
建立“STM32_FW”文件夹的用意在于,它可以作为我们以后进行STM32程序开发时候的一个目录结构。
以后我们新建任何一个工程时,只要直接复制这个文件夹里面的四个文件夹就可以完成一个工程最基本的文件结构的建立了。
这样可以提高我们的开发效率。
下一步,我们来真正着手建立第一个工程。
首先新建一个文件夹,笔者将其命名为“MyFirstJob”。
并将“STM32_FW”中的“boot”、“library”、“src”、“obj”、“list”、“library”文件夹复制到“MyFirstJob”中。
如下图所示:
10.jpg(23.99KB)
2011-1-1400:
37
然后执行如下操作:
1、打开KeiluVision4,依次点击Project-NewuVisionProject(如果当前有工程正在打开,请先执行Project-CloseProject将其关闭),弹出窗口,填写工程名和保存路径(保存在我们刚才新建的“MyFirstJob”下,命名为MyFirstJob),然后点击保存。
如下图:
11.jpg(62.63KB)
2011-1-1400:
37
2、接着第1步的保存之后,弹出窗口,选择CPU类型。
此处根据实际情况选取,作者使用的是STMicroelectronics的STM32F103RB系列。
如图所示,我们可以看到右侧显示了该型号STM32器件的一些特性,比如72MHz,128KFlash,20KSRAM……资源都是非常丰富的。
如图所示:
12.jpg(97.76KB)
2011-1-1400:
37
3、选择好CPU型号之后点选确定,弹出如下图对话框:
13.jpg(58.25KB)
2011-1-1400:
37
此处是询问需不需要给工程添加STM32的启动代码(StartupCode),记得此处点选No。
4、至此STM32的工程已经新建完毕,可以看到如下界面:
14.jpg(44.5KB)
2011-1-1400:
37
5、接下来是将一系列必要的工程文件添加到当前工程中,执行如下操作:
(1)将“Target”重命名为“MyFirstJob”,并删除Source Group1。
在“MyFirstJob”上点击右键,在弹出的菜单中选择Add Group...,依次添加四个Group,分别命名为“boot”、“library”、“src”、“library”。
完成后如下图所示:
15.jpg(44.53KB)
2011-1-1400:
37
(2)在 boot 上点击右键,在弹出的菜单中选择“Add File to Group‘boot’...”,将“MyFirstJob\boot”文件夹中的“cortexm3_macro.s”和“stm32f10x_vector.s”添加进来;
(3)依照
(2)的方法,给library添加“MyFirstJob\library\src”路径下的“stm32f10x_flash.c”、
“stm32f10x_gpio.c”、“stm32f10x_lib.c”、“stm32f10x_rcc.c”四个文件;
(4)给src添加“main.c”;
(5)给interrupt添加“stm32f10x_it.c”;
(6)以上操作完毕之后,应该得到如下界面(请在main.c文件键入一个空main函数,如图所示):
16.jpg(69.21KB)
2011-1-1400:
37
6、右键点击Project区的“MyFirstJob”,在弹出的菜单中选择“OptionforTarget‘MyFirstJob’…”,
弹出选项配置界面,如下所示:
17.jpg(96.17KB)
2011-1-1400:
37
做如下操作:
1)点击Output——SelectFolderforObjects...,在弹出的窗口中选择“MyFirstJob\obj”;
2)点Listing——SelectFolderforLisitings...,在弹出的窗口中选择“MyFirstJob\list”;
3)点击OK退出“OptionforTarget’MyFirstJob’”界面。
7、按下F7(“Build”的快捷键),进行编译。
应该看到如下界面:
18.jpg(83.21KB)
2011-1-1400:
37
最下面的BuildOutput区是编译信息框,可以从中获取编译信息,如代码量,错误和警告信息等,我们可以发现此次编译结果为“0Error(s),1Warning(s)”,即“0个错误,1个警告”,而我们可以看到这个警告的解释为:
“src\main.c(6):
warning:
#1-D:
lastlineoffileendswithoutanewline”,这是gcc编译器一个很常见的警告,意思是当前文件(src\main.c)并不是以一个空行结尾(至于这个空行有什么意义笔者也不清楚),读者只要在“main.c”的最后加上一个空行在编译就可以去掉这个警告了。
8、一个完整的STM32工程至此就完成建立了。
可以发现“MyFirstJob”文件夹多了几个文件,如下图所示:
19.jpg(31.02KB)
2011-1-1400:
37
可以看到KEILMDK的工程目录是很简洁的,此处也得益于我们的obj文件夹和list文件夹存放了编译所生成的大部分文件。
但是此工程仍未可以用于进行STM32的开发,原因是我们还未对STM32的调试开发工具进行设置,在下一节里将会有具体说明。
小结
本节介绍了KEILMDK开发环境的特点以及STM32开发环境的建立过程,一切的STM32开发应用都是从开发环境的搭建开始的。
建议读者多多练习,尽快熟悉STM32开发环境的建立,为学习下一节的应用程序开发流程做好准备。