如何能在IAREWARM下建立工程和配置STM32开发环境.docx
《如何能在IAREWARM下建立工程和配置STM32开发环境.docx》由会员分享,可在线阅读,更多相关《如何能在IAREWARM下建立工程和配置STM32开发环境.docx(10页珍藏版)》请在冰豆网上搜索。
如何能在如何能在IAREWARM下建立工程和配置下建立工程和配置STM32开发环境开发环境作者:
燕山大学鲁信琼本文说明如何在WindowsXP操作系统上,使用IAREmbeddedWorkbenchforARM5.30建立一个IAR项目,并且配置STM32开发环境。
一、生成一个新项目要使用IAR进行STM32嵌入式系统开发,必须从建立一个项目(project)开始,下面以在E:
下建立一个名为Example的项目为例介绍。
1.创建项目目录、复制公共文件
(1)在E盘下创建名为的Example文件夹,即项目根目录为E:
Example。
(2)在项目根目录下建立一个EWARMv5文件夹用于存放项目文件、工作空间文件和项目配置相关文件。
(3)解压标准外设驱动文件库(stm32f10x_stdperiph_lib_V3.1.2.zip),将其中的“Libraries”文件夹复制到Example目录下。
(4)复制标准外设驱动库目录ProjectTemplate下的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h三个文件到Example文件夹下。
main.c可以不用复制,我们自己写。
复制标准外设驱动库目录ProjectTemplateEWARMv5下的stm32f10x_flash.icf、stm32f10x_flash_extsram.icf、stm32f10x_nor.icf和stm32f10x_ram.icf到ExampleEWARMv5文件夹下。
复制好的目录如图1所示。
图1.Example文件夹下的文件2.创建新的工作空间嵌入式系统开发大都是面向项目(Project)的,需要建立Project来管理项目开发。
IAREWRAM又是基于工作空间(Workspace)的集成开发环境,Project必须放在工作空间里面,所以我们首先应该建立工作空间。
一个工作空间里面可以放多个项目。
开始程序IARSystemsIAREmbeddedWorkbench,进入IDE环境。
FileNewWorkspace。
这样工作空间就建好了,但是这个工作空间里面还没有项目,所以还不能保存,下面将在这个工作空间里面建立新项目。
3.创建新项目在上面第2步已经建立好的工作空间里创建新项目。
ProjectCreateNewProject。
弹出“CreateNewProject”对话框,“ToolChain”选择ARM,“ProjectTemplate”选择Emptyproject模板,这样所有的文件都由用户自己来写。
点击OK,弹出“另存为”对话框,选择我们刚刚建好的Example目录下的EWARMv5文件夹下,然后输入工程名,这里我输入Template,然后点击保存。
这样一个名为Template的IAREWARM项目就建好了,下面我们添加一些文件,然后再修改一些参数,使得这个项目真正地能够使用。
4.添加文件到项目
(1)文件分组按说现在就可以往项目里面添加文件了,但是由于ARM系统开发涉及文件较多,类型繁杂,加上我们使用ST公司的标准固件库驱动文件,这样就要添加很多文件到项目里,随着项目的复杂程度加大,文件的数量是很多的。
为了便于管理,我们将这些文件在项目里分组保存,IAREWARM支持文件分组。
在IDE左侧的Workspace里面,我们在刚刚建立的Template项目上点右键,选择AddAddGroup。
在弹出的对话框里面输入组名(GroupName),点OK即可。
我们将添加如下几个组,如图2所示。
从图2可见,项目名字后面有个星号(*),这是说明项目或工作空间已经修改,但是还没有保存,现在点FileSaveAll,这时弹出对话框让我们保存工作空间。
还记得工作空间吗?
第2步我们新建的工作空间,但是当时没有保存,因为当时工作空间里面没有项目,不能保存。
输入工作空间名Template,然后点保存,这时候项目后面的星号*消失。
注:
工作空间扩展名.eww,项目扩展名.ewp图2.Template项目分组情况
(2)向项目中添加文件在具体的分组上点右键AddAddFile,增加文件的情况如图3所示。
图2.Template项目增加文件情况这些文件的路径在:
CMSIS下的core_cm3.c和system_stm32f10x.c位于ExampleLibrariesCMSISCoreCM3EWARMv5下的startup_stm32f10x_hd.s位于ExampleLibrariesCMSISCoreCM3startupiarStdPeriph_Driver下的文件位于ExampleLibrariesSTM32F10x_StdPeriph_DriversrcUser下的文件位于:
Example注意:
增加文件的时候只要增加.s和.c文件即可,不用增加.h文件,但是细心地同学可能发现在User下我增加了stm32f10x_conf.h文件,这里先不要管,以后我再说明为什么。
(3)向项目中添加main文件我们增加的这些文件都是标准固件驱动库里面的和ST公司提供的模板里面的文件,我们连一句代码还没写过。
使用固件驱动库编写程序我们主要任务就是编写main文件和一些外围用户驱动文件。
现在我们就着手建一个main.c文件,并把它加到User组中。
FileNewFile,建立一个空文件;FileSave,将文件存为main.c,存到Example下。
同样我们将它加到User组中。
main.c文件有如下的一般模板格式。
/*包含文件*/#includestm32f10x.h/*全局变量声明区*/*私有函数声明区*/*主函数(程序入口)*/intmain(void)/时钟配置SystemInit();/参数、外设初始化/大循环while
(1)5.修改参数标准外围固件库是一个通用库文件,适合于所有的STM31F10x系列微控制器,这也就是说我们在具体应用其中某一款的时候一定要在项目中进行特定配置。
针对我们的实验板,使用STM32F103ZCT6微控制器,我们作如下配置。
在左侧的项目名称上点右键(或者快捷键ALT+F7),在弹出的快捷菜单中选择Option命令,打开项目配置对话框,具体配置如下。
(1)GeneralOptions在Processorvariant中选择DeviceSTSTM32F10xxC。
如图3.图3.GeneralOptions选项配置选择微控制器类型
(2)C/C+compiler将标签切换到Preprocessor,在Additionalincludedirectories里面添加如下三行(必须一行一个):
$PROJ_DIR$.$PROJ_DIR$.LibrariesCMSISCoreCM3$PROJ_DIR$.LibrariesSTM32F10x_StdPeriph_Driverinc在DefinedSymbols里面输入如下两行(必须一行一个):
USE_PERIPH_DRIVERSTM32F10X_HD其他选项保持默认,不需要修改,设置完成的界面如图4所示。
图4.C/C+compiler选项配置界面(其他选项卡保持默认)(3)Linker选择Config选项卡,选中“Overridedefault”复选框,在下面的文本框中输入“$PROJ_DIR$stm32f10x_flash.icf”,其他选项卡保持默认,如图5所示。
图5.Linker选项配置界面(其他选项卡保持默认)(4)Debugger选择“setup”选项卡,在Driver选型下选择RDI;选择“Download”选项卡,勾上“Verifydownload”和“Useflashloader”。
其他选项保持默认,配置完界面如图6所示。
(5)RDI“ManufactureRDIdriver”中选择H-JTAG安装目录下的H-JTAG.dll文件。
其他保持默认,配置完成界面如图7所示。
至此,完整的工程建立完毕。
图6.Debugger选项配置界面图7.RDI选项配置界面二、编写、编译程序1.编写用户程序双击工程文件列表中的main.c文件,在模板中编写程序。
2.编译程序点击ProjectMake(或者快捷键F7),如果程序没有语法错误,则编译通过。
Message窗口提示0个错误,0个警告,如图8所示。
图8.程序编译通过Message窗口输出信息界面