热度 22
2011-11-25 15:03
12295 次阅读|
6 个评论
本小节主要介绍STM32F2x系列芯片的开发环境搭建过程。 讲解之前先聊一下STM32F2x这个系列的芯片。与之前的STM32F1x,主要有一下几点的优势: 1)STM32F2x 的主频提升到了120MHZ,150DMIPS 处理速度。内部RAM128+4K 内嵌Flash 1M。 2)外设丰富了很多。增加了以下主力外设:Ethernet、USB OTG High/Full、DCMI数字摄像头。 3)对原来的外设有了增强。比如:现在的RTC多了一个RTC的控制器,原来只是一个32位的定时器。I2S原来只是半双工,现在是全双工,可以做多声道的播放器。 4)增加了芯片的安全加密性能。在内部集成了AES/DES/CRC等硬件加密器,不需要软件算法来实现。这点比较好。 5)在外设库方面,与F1不兼容了,有新的库文件提供。库是越来越好了,嘿嘿方便我们开发。 暂时只说这么多,后面我们继续补充。 在国内主流的两种编译器为MDK以及IAR,本小节以MDK为例讲解开发环境的搭建。 硬件平台:深圳市天漠科技的STM32F207 开发板(DevKit1207)。 选择它的理由:1)功 能很全面,基本上该有的功能都有了,方便我学习这款芯片。 大家可以测试基于 F2系列的基本上所有的功能。 2)它的器件选型时工业级,物料也比较好购买,我做项目的时候可以直接抄它的原理图---。--本人有点小懒。 3)支持UCGUI3.90a以及uCOS-II,方便我做项目,其它一家的没有。 4)范例丰富,文档写的比较好。以上是我自己买它的原因,仅供参考。 软件平台:MDK(即keil 4)F2系列的芯片至少需要MDK4.20以上版本支持,STM32F4需要MDK4.22A以上。 软件库以及范例。基于天漠的DevKit1207提供的相关范例。 想在开始向大家讲解,怎么用KEIL 4创建一个新的工程,具体步骤如下: 1)。在\code\STM32F2xx_StdPeriph_Demo目录下,新建文件夹,命名为My Project。在该文件夹中新建ADC_example文件夹。复制ADC3_DMA工程中的源文件和头文件(如下所示)到新建的ADC_example文件夹。 main.c stm32f2xx_conf.h stm32f2xx_it.c stm32f2xx_it.h system_stm32f2xx.c 2)。打开MDK软件,点击“Project”à“New uVision Project”新建一个工程,如图: 弹出如下所示窗口,选择工程目录为ADC_example文件夹,输入工程名,点击“保存”建立工程。 3)。进入到CPU选择窗口,选择STM32F207IG,如图: 点击“OK”,此时MDK会弹出一个对话框,询问是否添加Startup code(启动代码)到当前工程。Startup code 用于配置MCU以及初始化编译环境。建议选择否,在后面的步骤中再手动添加。 在Project窗口中已经添加好一个Source Group。为了便于管理工程中的文件,需要再建立若干个Group。用户可以在右击“Target”,选择“Add Group…”来添加File Group,并给新建的Group命名。 也可以使用“Mange Components”来新建File Group。 4)。依次新建好User,Lib,STM32_EVAL,CMSIS,MDK-ARM等File Group,如下图: 注意:File Group是用来组织文件的,用户可以按照自己的习惯来安排。这里的File Group用途为: User : 用于组织用户编写的源文件。 Lib : 用于组织ST官方的外设驱动固件。 STM32_EVAL: 用于组织STM32F2xx评估板DevKit1207的板级驱动文件。 CMSIS : 用于组织CMSIS(Cortex MCU软件接口标准)文件。 MDK-ARM : 用于组织MDK针对ARM的启动文件。 5)。 添加User的源文件。右击User,在弹出的菜单中选择“Add files to Group ‘User’” 选择ADC_example文件夹中的源文件(.c文件)添加到User Group中。 6)。按照步骤5)的方法,依次添加Lib,STM32_EVAL,CMSIS,MDK-ARM的源文件。 Lib 源文件路径: code\STM32F2xx_StdPeriph_Demo\Libraries\STM32F2xx_StdPeriph_Driver\src 注意:这些源文件在编译某个具体的例程时并不都是必须的,如果用户无法确定哪些是必须文件时,建议全部添加(会增加编译时间和代码体积)。 STM32_EVAL 源文件路径: code\STM32F2xx_StdPeriph_Demo\Utilities\STM32_EVAL\STM322xG_EVAL 注意:本例中仅需要stm322xg_eval.c 和stm322xg_eval_lcd.c CMSIS 源文件路径: code\STM32F2xx_StdPeriph_Demo\Libraries\CMSIS\CM3\CoreSupport 注意:本例中需要添加core_cm3.c MDK-ARM 源文件路径: code\STM32F2xx_StdPeriph_Demo\Libraries\CMSIS\CM3\DeviceSupport\ST \STM32F2xx\startup\arm 注意:本例中需要添加startup_stm32f2xx.s 添加完文件后,Project窗口显示如下: 7)。工程文件添加完毕后,进行编译环境的参数设置。 点击窗口中的 或者右击“Target”选择“Target options”,弹出参数配置对话框。 选中“C/C++”选项卡,需要设置如图中的两个项目: 8)。在“Define”右侧空白处依次输入宏:USE_STM322xG_EVAL,USE_FULL_ASSERT,USE_STDPERIPH_DRIVER(本例中设置了宏,用户自己编写的软件没有定义宏的话,此处可以不设置)。它们之间用1个空格隔开,如图: 9)。点击“Include Paths”右侧空白栏右端的凸起标识,打开路径设置对话框。 10)。在“Folder Setup”窗口单击下图所示部位添加一个路径。 11)。依次添加头文件所在的路径,如下图所示: 点击“OK”退出路径设置,返回“Options for Target”界面 12)。 选择“Output”选项卡,选择输出文件类型。 如果需要输出HEX文件,则勾选上“Create HEX File” 13)。选择“Debug”选项卡,选择仿真工具。 使用ULINK2仿真器,则在下图中选择“ULINK Cortex Debugger”(默认使用ULINK)。 使用JLink仿真器,则在下图中选择“Cortex-M/R J-LINK/J-Trace”。 点击“Settings”可以进入JLink参数设置界面,如下图所示。JLink的下载速率默认为2MHz(推荐使用2MHz及2MHz以下的速率)。设置好后,点击“OK”返回。 14)。选择“Utilities”选项卡,选择程序下载工具。 使用Ulink下载,则在下图中选择“ULINK Cortex Debugger” 使用JlinK下载,则在上图中选择“Cortex-M/R J-LINK/J-Trace”。 点击“Settings”进入如下图所示的窗口(ULINK和Jlink设置方法相同)。在“Flash Download”选项卡中,默认设置如下图所示。 如果勾选“Reset and Run则表示程序下载完后系统自动重启并运行( 建议选择该项 );不选该选项的话,可以在程序下载完成后,按Reset键手动重启。 在上图中点击“Add”进入“Add Flash Programming Algorithm”,这里选择“STM32F2xx Flash On-chip Flash 1M”,点击“Add”添加。 添加好“Programming Algorithm”之后的界面如下图所示。 设置完成后,点击“OK”退出“Options for Target”窗口返回到IDE界面。 17)。点击Build或者Rebuild对工程进行编译链接。 18)。点击“LOAD”将程序下载到评估板上。