如何能在IAREWARM下建立工程和配置STM32开发环境Word下载.docx
《如何能在IAREWARM下建立工程和配置STM32开发环境Word下载.docx》由会员分享,可在线阅读,更多相关《如何能在IAREWARM下建立工程和配置STM32开发环境Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
![如何能在IAREWARM下建立工程和配置STM32开发环境Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/29/d7455264-07f7-4744-9a80-1b47363bc2d5/d7455264-07f7-4744-9a80-1b47363bc2d51.gif)
(4)复制标准外设驱动库目录Project\Template下的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h三个文件到Example文件夹下。
main.c可以不用复制,我们自己写。
复制标准外设驱动库目录Project\Template\EWARMv5下的stm32f10x_flash.icf、stm32f10x_flash_extsram.icf、stm32f10x_nor.icf和stm32f10x_ram.icf到Example\EWARMv5文件夹下。
复制好的目录如图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位于
Example\Libraries\CMSIS\Core\CM3
EWARMv5下的startup_stm32f10x_hd.s位于
Example\Libraries\CMSIS\Core\CM3\startup\iar
StdPeriph_Driver下的文件位于
Example\Libraries\STM32F10x_StdPeriph_Driver\src
User下的文件位于:
\Example
注意:
增加文件的时候只要增加.s和.c文件即可,不用增加.h文件,但是细心地同学可能发现在User下我增加了stm32f10x_conf.h文件,这里先不要管,以后我再说明为什么。
(3)向项目中添加main文件
我们增加的这些文件都是标准固件驱动库里面的和ST公司提供的模板里面的文件,我们连一句代码还没写过。
使用固件驱动库编写程序我们主要任务就是编写main文件和一些外围用户驱动文件。
现在我们就着手建一个main.c文件,并把它加到User组中。
FileNewFile,建立一个空文件;
FileSave,将文件存为main.c,存到\Example下。
同样我们将它加到User组中。
main.c文件有如下的一般模板格式。
/**包含文件******************************************************/
#include"
stm32f10x.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$\..\Libraries\CMSIS\Core\CM3
$PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc
在DefinedSymbols里面输入如下两行(必须一行一个):
USE_PERIPH_DRIVER
STM32F10X_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窗口输出信息界面