原创 KEIL STM32F2xx入门

2011-11-17 11:34 3661 16 22 分类: MCU/ 嵌入式

 KEIL  STM32F2xx  入门

1.  首先建立一个文件夹,为该工程的总目录      

2.  在上面文件夹下面建立3个文件夹,如下图1,List、RVMDK、Src。List是编译时生成的文件;RVMDK 是工程文件;Src为所有用到的源文件。  111.jpg(图1)

3.  建立工程  Project->New Project,将此处存贮在上面的RVMDk文件夹内

4. 官方库文件夹名称为stm32f2xx_stdperiph_lib,其目录下的文件夹及文件如图2。      111.jpg  (图2)

5. 文件夹及文件建立 

    5.1> 将官方下载的库文件的Libraries文件COPY到Src文件里面;

    5.2> 其它库文件,比如USB等官方的库文件也拷贝到Src文件里面(在第7步需要在这儿设置库文件的 头文件包含路径),可跳过;

5.3>  再在Src文件夹建立User文件夹, User文件夹内拷贝官方下载的库文件 “\stm32f2xx_stdperiph_lib\STM32F2xx_StdPeriph_Lib_V1.0.0\Project \STM32F2xx_StdPeriph_Template”下面图3所示的5个公共文件.  111.jpg(图3)

5.4>    用户文件,比如uart、某个传感器的的驱动,也可以在Usr文件夹下建立自己的文件夹,此步骤为KEIL 入门之后的建立,可跳过。当建立好工程后写应用程序时再在此建立文件夹和文件。

6.  工程里面文件添加说明

6.1>  在刚才建立的工程中,如图示4(keil下的截图)建立四个文件夹: CMSIS、MDK-ARM 、STM32F2xx_StdPeriph_Driver、User。 111.jpg(图4)

6.2>  CMSIS文件夹添加文件:Src\Libraries\CMSIS\CM3\CoreSupport下面的C文件core_cm3.cSrc \Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx下面的C文件system_stm32f2xx.c 

6.3>       MDK-ARM文件夹添加文件:Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\startup\arm下的文件startup_stm32f2xx.s

6.4>   STM32F2xx_StdPeriph_Driver文件夹添加文件:在Src\Libraries\STM32F2xx_StdPeriph_Driver\src文件下文件如图5,111.jpg(图5)

为 STM32F2xx的库文件,在使用时用到什么文件就添加什么文件。比如用到IO的库函数,就添加stm32f2xx_gpio.c,在开始时,如果不是 特别清楚,可以全部添加,保证需使用的库文件没有遗漏。为了使用库文件,需要在工程属性中的在C++选项中define中添加宏定义 USE_STDPERIPH_DRIVER,如图6所示。111.jpg(图6)

6.5> User文件添加文件为第5步中图3所示的main.c,、stm32f10x_it.c,   main.c为系统主函数文件.

6.6> 特殊文件说明stm32f10x_conf.h是对需要使用的, stm32f10x_conf.h是对STM32需要使用的功能选择,图7所示。

111.jpg(图7)

则表示使用IO,RCC(时钟)功能,则将对应的头使能,在编译的时候就调用对应的c文件(也就是)里面的函数则不会出错.stm32f10x_it.c为中断函数入口,如果在相应的中断配置好后,则对用的中断函数则全部在这个文件.            

7.  头文件路径设置。按图示,如果这儿设置不好,后边编译可能出现一些问题。工程属性中的在C++选项中的inlcude Paths后面(图8)设置头文件路径 111.jpg(图8)

其中图9所示

111.jpg(图9)

的最后三项为stm32f2xx的库文件所需头文件包含路径,usr为用户包含路径。每个需要包含的头文件必须在上面路径中的文件夹下。

8.  工程属性中的在Output和Listing选项中,都有一个 “Select Folder for Objects”按键,选择后,文件夹选择都选择图1中的list文件夹,这些都是编译生成的文件

9.  上面为使用STM32的库函数(不包括USB等库),用户程序则可以另外设置路径和包含路径,这样程序在不同编译器 不同CPU移植时候就简单。下面我给出我的习惯,当然也是比较可行的一种文件路径方法,主要体现在可移植性,可程序规范上。建立一个includes.h 文件放在User目录下,这includes.h文件在图9所示文件路径的第一个use文件中,可被包含。所有用户的头文件包含在这个 incluses.h文件中,这样只用每个C文件包含这个includes.h文件即可,图10为我的一个includes.h文件内容。说明:其中 TFTLCD、OV7670、UART为user文件下的三个文件,每个文件放置了对应的C文件和H文件,在移植的时候只需要将includes.h文件 包含文件夹下的h文件,所用的文件函数都可以调用。

111.jpg(图10)

 

 

文章评论6条评论)

登录后参与讨论

用户442055 2013-10-9 18:37

xialaikankan 

用户535020 2012-8-31 14:53

初学,正学习中 谢谢楼主

用户1660737 2012-7-12 15:56

初学者,东西不错,谢谢楼主分享!

用户420905 2012-6-21 22:12

新手,谢谢楼主分享

用户377611 2012-5-25 08:55

STM32F2xx的资料很少啊,楼主算是先行者了

用户1637983 2011-12-6 16:27

初学cortex-m3,正学习中

相关推荐阅读
用户1494767 2014-09-27 12:21
zigbee学习--osalInitTasks
http://85kaifa.taobao.com [学习 记录中....随时更改] zigbee学习--osalInitTasks  (OSAL_SampleApp.c) /****...
用户1494767 2012-08-12 18:31
ubuntu 10.04下nfs挂载2440
1、安装端口映射器portmap(可选)    sudo apt-get install portmap 2、在终端提示符后键入以下命令安装NFS服务器   sudo apt-get ins...
用户1494767 2012-08-09 22:33
Linux下DNW的PC端USB驱动和写入工具【转】
1. 下载Linux下DNW的PC端USB驱动和写入工具 文件名: dnw_linux.zip 下载后把后缀名改成.tgz #或者搜索 linux dnw 2. 编译PC端USB驱动和写入...
用户1494767 2012-01-06 17:01
STM32F207 uCOS-II移植笔记(下)
  第十步:main函数中变为:主要是将时钟初始化去掉,并建立一个启动任务        int main(void)        {           CPU_INT08U  o...
用户1494767 2012-01-05 09:51
STM32F207 uCOS-II移植笔记(上)
                                     STM32F207 uCOS-II移植笔记(上) 第一步: 建立STM32F207工程,已经有相关文档说明。其中stm...
用户1494767 2011-12-15 18:04
转]ubuntu 环境变量设置方法
环境变量配置文件 在Ubuntu中有如下几个文件可以设置环境变量 1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,...
我要评论
6
16
关闭 站长推荐上一条 /2 下一条