为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

IAR平台建立

2011-10-18 24页 doc 1MB 38阅读

用户头像

is_433566

暂无简介

举报
IAR平台建立3 第二章 编译开发环境的建立 这一章主要介绍编译软件平台的安装过程,菜单使用说明,具体设置等内容,是后面实践操作中经常要用到的,需要熟练掌握。只有这样,才能提高开发效率,减少低级错误的出现。在这里只是做简单的介绍,没有详细的讲解每一个细节,只是把要用到的地方着重讲了一下。有关更详细的内容,可以参阅有关参考文献。 2.1.下载和安装EWARM STM32F系列芯片,其控制器基于ARM核,所以许多基于ARM的开发环境都可以用于STM32F系列的开发,选择合适的开发环境和工具可以加快开发的速度和节省开发成本。本章对STM32F常用...
IAR平台建立
3 第二章 编译开发环境的建立 这一章主要介绍编译软件平台的安装过程,菜单使用说明,具体设置等内容,是后面实践操作中经常要用到的,需要熟练掌握。只有这样,才能提高开发效率,减少低级错误的出现。在这里只是做简单的介绍,没有详细的讲解每一个细节,只是把要用到的地方着重讲了一下。有关更详细的内容,可以参阅有关参考文献。 2.1.下载和安装EWARM STM32F系列芯片,其控制器基于ARM核,所以许多基于ARM的开发环境都可以用于STM32F系列的开发,选择合适的开发环境和工具可以加快开发的速度和节省开发成本。本章对STM32F常用的开发工具IAR EWARM进行简单介绍。 IAR Embedded Workbench for ARM(下面简称EWARM)是一款针对ARM处理器的集成开发环境,包含项目管理器、编辑器、C/C++编译器、汇编器、链接器和调试工具C-SPY等所有开发过程中所需的模块。在EWARM环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。比较其他的ARM开发环境, EWARM具有入门容易、使用方便、编译效率高、生成的代码紧凑等优点。 IAR EWARM KickStart版本具有32KB代码限制,但没有时间限制,适合入门者学习使用。EWARM Evaluation版本没有功能上的限制,但具有30天的时间限制,适合商业用户在购买正式版本之前评估使用。下面以KickStart版本为例。用户可以在EWARM的产品主页www.iar.com/ewarm上注册和下载,或直接前往:http://supp.iar.com/Download/SW/?item=EWARM-KS32 ,出现如图2-1-1所示界面 图 2-1-1 下载引导页面 点击Continue继续,随即出现图2-1-2所示界面。在这个界面中,必须填满带*号的注册信息,并点击Submit registration继续: 图 2-1-2 注册信息内容 完成上述步骤后,系统会自动生成一封Email并发往注册信息中填写的邮箱,内容类似于图2-1-3所示: 图 2-1-3 系统所发邮件内容 在浏览器中打开上面邮件中的下载页面链接,如图2-1-4所示: 图 2-1-4 下载页面 然后就可以从上面的链接里下载EWARM KickStart版本的安装文件了,请将其保存到本地磁盘里(例如EWARM-KS-WEB-520.exe)。 下面讲叙如何安装EWARM: 点击此安装文件,开始安装EWARM,出现如图2-1-5所示界面。 图 2-1-5 安装初始界面 点击Install IAR Embedded Workbench,根据提示操作,直到要求输入License Number界面,如图2-1-6所示: 图 2-1-6 License界面 填写用户信息,并将前面Email里提供的License Number输入License#框中,点击Next继续,出现如图2-1-7所示界面。 图 2-1-7 License Key界面 将前面Email里提供的License Key拷贝粘贴到图2-7界面中License Key框中,注意#号之前(包括#号)的字符串必须原封不动地拷贝,不可包含空格或换行符。点击Next,根据提示继续前行,直到出现图2-1-8所示界面,点击Finish,安装完成。 图 2-1-8 安装完成界面 2.2 IDE界面简介 如图2-2-1所示,通过“开始”“所有程序”找到IAR Systems,在此菜单下找到IAR EbeddedWorkbench,点击,既可进入IAR的IDE环境如图2-2-2所示。 图 2-2-1 图 2-2-2 IAR的IDE界面 编辑窗口是图2-2-2中的②部分区域,这是我们与IDE交流信息的主要区域,在这个区域中可以输入修改文件,一般源程序的输入及修改都在这个窗口完成。 工程管理部分,在整个界面的左侧,上图中的①部分区域,可以通过不同的文件组来管理文件。工程栏用于显示与工程相关的全部文件和文件结构。 状态部分,在界面的下方,上图中的③部分区域,主要用于显示编译后的状态及提示信息,如果有错误,则提示错误信息。 菜单栏和快捷工具栏可以查阅相应的资料,在此不做讲解了。 2.3 生成一个新项目 要为某个目标系统开发一个新的应用程序,必须从建立一个新项目(Project)开始。下面我们以IAR STM32-SK开发板上的LCD_Demo项目为例进行介绍。 2.3.1​ 建立项目文件目录,拷贝公共文件 首先应该为新项目创建一个目录,用来存放与项目有关的各种文件。项目开发过程中生成的一系列文件,如工作区文件,项目配置文件,调试配置文件,各种列表文件和输出文件等都将被存放在这个目录下。用户也可以选择把各种源文件也放在这个目录下。在下面的例子中,我们创建一个D:\STM32_TEXT\LED目录。 创建好目录后,就可以把公共文件和库拷贝过来。首先,把固件库中library目录拷贝到D:\STM32_TEXT\LED下,随后将软件库Examples目录中任一例程的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h和main.c拷贝到项目目录D:\STM32_TEXT\LED中,最后将软件库中\project\EWARM\目录中的stm32f10x_vectour.c、cortexm3_macro.s、stm32f10x_ram.icf、stm32f10x_flash.icf、stm32f10x_flash_extsram.icf和stm32f10x_nor.icf到项目目录D:\STM32_TEXT\LED中即可。这样公共文件全部拷贝到新建的工程项目文件中来了。拷贝完后的目录结构内容如图2-3-1所示。 图 2-3-1 拷贝完公共文件后的目录树 2.3.2​ 生成新的工作区 EWARM虽然是按照项目进行管理,但是项目(Project)必须放在工作区(Workspace)内。一个工作区中允许存放一个或多个项目。用户如果是第一次使用EWARM来开发新项目,则必须先创建一个新工作区,然后才能在该工作区中创建新项目。如果用户过去已经建立了工作区,并希望把目前要建立的新项目也放在老工作区内,则可以直接打开老工作区(*.eww)并执行第三步来生成新项目。 创建新工作区的方法是:选择主菜单File > New > Workspace命令。如果当前正在开发或调试另一个项目,EWARM将提示用户保存和关闭当前活跃工作区,然后开启一个空白工作区窗口,如图2-3-2所示: 图2-3-2 空白工作区窗口 注:EWARM开发环境在启动时也自动显示上述空白工作区窗口(如果关闭Startup Screen的话)。 2.3.3.生成新项目 1 .选择主菜单Project > Create New Project,弹出生成新项目的窗口,如图2-3-3所示。EWARM提供几种应用程序和库程序的项目模版。在本例中我们选择最常用的Empty project模版,即所有代码都由用户添加。 图 2-3-3 2 . 在Tool chain下拉框中选择ARM,然后点击OK,弹出“另存为”窗口。 3 . 在“另存为”窗口中选择新建的STM32_TEXT\LED目录,输入新项目的文件名为LED,然后保存。这时在屏幕左边的Workspace窗口中将显示新建的项目名称和配置模式,如图2-3-4所示: 图2-3-4 项目名称后面的Debug表示当前激活的配置模式。EWARM为每个新项目提供两种缺省的配置模式:Debug和Release。Debug模式生成包含调试信息的可执行文件,且编译器优化级别较低;Release模式生成不含调试信息的发行版本文件,且编译器优化级别较高。用户可以从Workspace窗口顶部的下拉菜单中选择合适的配置模式,当然也可以创建自己的配置模式(主菜单Project > Edit configurations)。本例中我们选择Debug。 现在STM32_TEXT\LED目录下已经生成一个LED.ewp文件,该文件中包含与LED项目有关的配置信息,如编译、链接等选项。 注:LED - Debug后面的﹡号表示当前的工作区和项目经修改后还没有被保存。 4 .保存工作区 新生成的工作区需保存才有效。可选择主菜单File > Save Workspace,选择STM32_TEXT\LED目录,输入工作区名称LED,然后保存退出。这时在STM32_TEXT\LED目录下又生成一个LED.eww文件,以及一个settings子目录,该目录下主要存放与诸如窗口设置和断点设置等当前操作信息有关的文件。 注:保存操作完成后,项目名称后面的﹡号已经消失。 2.3.4 给项目添加文件 保存工作区之后的下一步就是往项目中添加文件。项目中的文件允许分组,用户可以根据需要来组织源文件。为举例说明,我们在下面建立三个FWLIB、README、USER文件组。 注:往项目中添加文件时只需要添加汇编语言源程序和C/C++源程序,不需要添加头文件;但必须在配置编译器、汇编器选项时指明包含头文件的其它路径。 新建项目LED位于前面提到的STM32_TEXT\LED目录下,其中有2个文件夹:library和setting。添加文件的方法如下: 1.​ 点击工作区窗口中的项目名称LED – Debug,使其高亮。按鼠标右键,在弹出菜单中选择Add Group…;或选择主菜单Project > Add Group…,执行添加文件组命令,将文件组起名为FWLIB。如图2-3-5所示。 2.​  图2-3-5 2. 点击工作区窗口中刚建立的文件组FWLIB,使其高亮。然后按鼠标右键,在弹出菜单中选择Add Files…;或选择主菜单Project > Add Files…,执行添加文件命令。在添加文件的窗口中选择D:\STM32_TEXT\LED\目录,从中选择stm32f10x_vector.c和cortexm3_macro.s点击Open按钮,这两个文件将被添加到工作区窗口的FWLIB文件组下。执行同样的操作,把D:\STM32_TEXT\LED\library\src\目录下的stm32f10x_gpio.c、stm32f10x_nvic.c、stm32f10x_rcc.c、stm32f10x_flash.c 这些文件加入到FWLIB文件组中。 3 . 用上面介绍的方法,添加USER文件组 。在文件组中加入main.c、stm32f10x_it.c和stm32f10x_conf.h这三个文件。 注:头文件不需要添加;但为了察看方便起见,也可以将stm32f10x_conf.h一并添加进去。 全部完成之后,工作区窗口中的显示如图2-3-6所示: 图 2-3-6 2.4 修改应用文件 往项目工程中添加完文件后,就可以来开始程序的编写了。下面将讲叙如何使用库文件在IAR EWARM下进行编写程序。 首先对stm32f10x_conf.h文件进行必要的更改。stm32f10x_conf.h文件为配置文件,通过修改这些配置,可以打开和关闭芯片的外设功能模块和一些系统设置。 当要使用某个功能模块时,去掉这个功能模块的注释符号“//”,即可启用这个功能模块。如果不使用这个功能模块就注释掉对它的定义。如果要使用IO口中的A、B、C、D和E,不使用F和G,则在配置文件stm32f10x_conf.h中去掉define _GPIO前的注释符号“//”,即使“// define _GPIO”变成“define _GPIO”。只有使用IO口,这个必需打开。同样,把要使用的A、B、C、D、E口前面的注释符号“//”去掉,就可以使用这些IO口线了。不需要的F和G前面的注释符号就不用去掉,这些IO口是不能使用的。具体见图2-4-1所示。 由于使用了库文件,有关底层的一些寄存器都被封装,可以直接调用相应的函数即可对要使用的寄存器进行操作。当使用不用频率的外部晶振时,只需要在配置文件中修改HSE_Value的值即可。默认情况下,晶振的频率为8000000Hz。 图 2-4-1 修改完配置文件后,我们打开main.c文件,就可以在这个文件中编写自己的主程序代码了。如果有中断,则可以在stm32f10x_it.c文件中根据开启的中断,在对应的中断函数中添加代码。图2-4-2为在一外部中断0中添加中断程序。 图 2-4-2 2.5 配置项目选项 生成新项目和添加源文件之后,下一步即是配置项目选项。在创建新项目时,系统采用默认的配置选项;但这些默认的设置还需要根据具体的情况进行修改。下面介绍一些关键选项的设置: 2.5.1 通用选项设置(General Options) IAR EWARM允许为项目中的每一个配置模式(例如Debug或Release)单独设置不同的选项。下面以LED项目的Debug配置模式为例。 选中工作区窗口中的项目名称LED – Debug,按鼠标右键,在弹出菜单中选择Options…;或选择主菜单Project > Options…。在弹出的Options窗口左边的目录(Category)中选择第一项General Options,然后在: 1 .Target页面中,Processor variant框中选择Device,并点击右边的器件选择按钮,根据所使用的目标硬件,选择正确的芯片型号,如ST STM32F10x,其他选项保持默认,如图2-5-1所示; 2 .其他页面保持缺省选项。 图2-5-1 2.5.2 C/C++编译器选项设置(C/C++ Compiler) 在Options窗口左边的Category中选择第二项C/C++ Compiler,然后分别在: ​ 1 . Language页面中,选择语言类型为C,勾选Allow IAR extensions和Unsigned选项; ​ 2. Code页面无需配置,因为Cortex-M3内核只支持Thumb-2指令集。若使用基于ARM7/ARM9内核的处理器,则须在Code页面中选择32-bit的ARM指令集或16-bit的Thumb指令集,以及是否允许代码被使用另一种指令集编译的代码所调用(Generate interwork code)。 ​ 3 . Optimizations页面中,根据需要选择优化级别;本例可选择None或Low; ​ 4 .Preprocessor页面中,列有的头文件包含目录。如果用户的头文件既不在标准包含目录下,也不和C/C++源文件位于同一目录下,则必须在Additional include directories中输入头文件的包含路径,每个目录占据一行。本例中,我们添加了全部的头文件路径,$PROJ_DIR$\ $PROJ_DIR$\LIBRARY\INC\,如图2-5-2。 注:,$PROJ_DIR$表示当前项目文件(*.ewp)所在的目录。用这两个宏作为相对路径的根目录,可以在代码被拷贝到其他电脑上时不至于发生找不到包含路径的错误。 图 2-5-2 2.5.3 Assembler选项设置(Assembler) Options窗口左边的Category中,第三项是Assembler,表示与汇编器相关的配置选项;本例中保持缺省配置即可。 2.5.4​  Output Converter选项设置 Options窗口左边的Category中,第四项是Output Converter,用于设置数据输出和输出文件名。如图2-5-3设置,勾选Generate additional putput选项,在Output format栏中,通过下拉菜单选用Intel externded格式,勾选Overrid default,并在其栏中填写输出的文件名即可 图 2-5-3 2.5.5 Linker选项设置(Linker) 在Options窗口左边的Category中选择第六项Linker,然后分别在: 1 Config页面中,给出链接器配置文件(Linker Configuration File)的路径。这是链接器选项中最重要同时也是最复杂的设置。链接器配置文件中包含链接器的各项命令行参数,主要用于控制程序里的各个代码段和数据段在存储器中如何分布。这里只要把$PROJ_DIR$\STM32F10x_FLASH.icf 文件添加到Override default设置框中即可,如图2-5-4; 2 List页面中,选择Generate linker map file,以便生成一个描述链接结果(即各个代码段和数据段在存储器里的分布情况)的map文件。 图2-5-4 其他部分选项使用编译器默认选项即可。 2.6 Flash Loader Demo下载器介绍 这一部分介绍STM32F的ISP下载软件。ISP串口下载软件,可以把IAR编译器所得的HEX文件下载到芯片中运行。 Flash Loader Demo下载器,是ST官方提供的一个下载工具软件,下载速度快。可以从ST公司的网站下载,在配套的光盘中,提供这份软件。 点击光盘目录下的ISP下载\um0462\Flash_Loader_Demonstrator_V1.3Serup,依次点击NEXT,NEXT,Finish即可完成安装。 下载文件通过以下几个步骤即可完成。 第一步: 用直连串口延长线连接PC机上串口和实验板的串口1,打开开始菜单,通过开始\STMicroelectronics\Flash Loader Demonstrator\Flash Loader Demo,运行下载器软件,出现如图2-6-1所示界面。 图2-6-1 在Port Name栏,可以选择实际使用的串口端,如COM1口,Baud Rate可以选用下载的速率,当然选用高的通讯速率下载会更快,不推荐比上图所示更快的速度,尤其是使用USB转串口的设备。其他项可以选用默认值。 第二步 :打开实验板电源,设置好BOOT1和BOOT0,复位实验板,点击Next,如果出现类似图2-6-2所示的界面,表明实验板没有连接上。根据出现的错误信息提示,有以下几种情况: ● “无法打开COM端口” :此消息表明,选定的COM端口已经被另一个程序所占用。 ● “无法辨识的装置” :此消息表明,BOOT0或/和BOOT1设置不对,需要仔细核对其值;或 者 BOOT0和BOOT1设置正确,却没有复位系统设备。 ● “没有作出反应的目标” :此消息表达设备没有反应。这表明,实验板没有供电、下载线接到实验板的串口2上、下载器选择的串口不是与实验板连接的串口。 图 2-6-2 如果出现图2-6-3所示界面,说明下载软件与硬件系统联系上,并能读出Flash有128K大小可以进行下一步操作。 图2-6-3 第三步 :点击Next键进入下一个界面。在这一步,向导显示可用的设备信息,如目标识别,在固件版本,支持的设备,内存映射和内存保护地位。选择目标名称,目标组合显示图2-6-4。 图 2-6-4 第四步 :在这个步骤中,选择所要进行的操作,如擦除,下载,上传或禁用/启用闪速保护或编辑选项字节-并设置相关的参数: 1 Erase,擦除: 1 )选择“All”,全部抹掉整个内存 2)选择“Selection”,自定义擦除作业。单击其后的"..."按钮显示内存映射对话窗口。然后可以选取要删除的部分,点击“确定” 进行删除。 2 Download to device ,下载: 在下图所示的对话框中,在Download from file栏右侧,按 按钮,打开中有关浏览对话框,选中要下载的二进制、十六进制或S19摩托罗拉文件。如果加载的文件是一个二进制文件,下载地址是开始地址,第一页和“ @ ”符号后面的内容,编辑器可以变更。如果加载的文件是一个十六进制或S19摩托罗拉文件,下载地址是地址开始的第一个记录,且“ @ ”字段是只读的。 然后点击Next按钮,开始下载。 选中“Verify”, 验证复选框,则下载完后要进行验证操作。其他选用默认状态。 3 Upload from Device ,上传,可以把芯片中的数据上传到PC机中。 4 Enable/Disable Flash protection ,使用/禁用闪存保护选择.可以使能或禁用读或写保护。 我们选择下载选项,选择下载后验证复选框,设定后如图2-6-5所示。点击Next按钮,随即程序开始下载。 图2-6-6是下载过程中的界面,图2-6-7是下载完成后的界面。下载完成后,点击Finish,关闭下载软件,程序下载完成。 图 2-6-5 图 2-6-6 图2-6-7 2.7 力源STM32F的ISP下载器 力源提供的ISP下载器,不用安装,只接点击光盘目录下的ISP下载\ST-STM-ISP\STMISP可执行文件,即可运行ISP下载软件,界面如图2-7-1所示: 图 2-7-1 使用次下载器,也可以分几步来完成程序的下载。 第一步 : 选择所需要的串口。 第二步 : 点击链接设备按钮,链接设备,会有相应信息出现,如图2-7-2所示 图2-7-2 第三步 :点击选文件按钮,选取要下载的文件。 第四步 :选取所需要的复选框,擦除、校验和加密,然后点击编程,即开始下载程序。点击置读保护,则保护程序不被读取;清读保护则把读保护去除掉;擦除则是把芯片中的内容擦除掉;读取则是把芯片中的内容读到上位机中。力源的ISP下载器速度比较慢,不过比起ST的ISP下载器使用方便,各有利弊。 2.8 串口调试助手介绍。 使用串口调试助手工具软件,可以很方便的监测到串口上的数据流,为程序的调试提供很好的帮助作用。在随后的调试中,这是一个不可缺少的软件工具。串口调试软件,在网上一搜,可以找到好多,在这里我向大家介绍一款比较好用和常见的一款。在本配备的光盘中,点击 com debug这个可执行文件,即可打开串口调试助手软件,界面如图2-8-1所示: 图 2-8-1 下面介绍一下相应的设置: 1》​ 端口号: 选择要用的端口设备号。在使用中,特别是使用超过一个串口设备时,容易忘记更改端口号,而导致没有数据输出或输入数据没有反应。凡是在使用多串口调试时,如果串口没有反应,首先第一步要核对串口调试器的端口号选择对了没有,然后再是检查程序是否有误。 2》​ 波特率 : 设置串口的通讯速率,可以从下拉菜单选择,也可以只接添入数据。遇到能接收数据码,但数据不是所想要的数据时,首先要检查一下所设置的通讯速率是否是所要的速率。 3》​ 数据位:一般为8个数据位。 4》​ 停止位:根据所用串口设备的定义区设定。一般为一个停止位。 5》​ 校验位:根据需要选择奇校验、偶校验或无校验。 6》​ 串口打开情况:当显示“打开串口(C)”时,说明串口设备还没有开启,点击此按钮即可打开串口设备。当显示“关闭串口(C) OK”时,说明串口已经开启,点击此按钮即可关闭此串口。 7》​ 计数:选中此选项,可以计数发送和接受的数据个数。 8》​ 发送(S): 点击发送按钮,即可把发送区域中的数据,通过所选的串口发送出去。 串口调试助手,在使用中,特别是在多串口使用中,一定要核对端口号,速率,串口是否打开,十六进制还是ASC码,接受区是否显示等内容,可以为每一个串口开启一个个串口调试软件,这样就可以减少失误的发生。
/
本文档为【IAR平台建立】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索