IAR编译环境的配置 初级
IAR开发环境搭建

IAR 集成开发环境的使用与设置:建立保存一个工程如何向工程中添加源文件如何编译源文件1)打开 IAR 集成开发环境,单击菜单栏的 Project,在弹出的下拉菜单中选择 Create New Project2)在弹出窗口选中 Empty project 再点 OK,如下图:3)选择保存工程的位置和工程名:4)选择菜单栏上的 File,在弹出的下拉菜单中选择 Save Workspace。
在弹出的 Save Workspace As 对话框中选择保存的位置,输入文件名即可,保存 Workspace。
新建源文件,点击 File 选择 New 中 File,再点击 File 选择 Save 填写好源文件的名称,点击保存即可。
源文件建立好了还需要把源文件添加到工程里面,选择 project 的 Add File,添加刚才保存的文件。
比如我刚才保存为 main.c,在弹出的对话框选择 main.c 即可,然后点击打开。
这时,发现左边框里面出现了我们添加的文件,说明添加成功。
如果想删除文件怎么办?在 Workspace 中选择 main.c,然后右键选择 Remove,删除源文件;源文件这时候只是在工程中被移除了,并没有被真正删除掉,如果不需要,必须在保存的文件夹里面手动删除。
添加文件也有快捷方式,在工程名上点右键,选择 Add.如下图:2.4.5 工程的设置IAR 集成了许多种处理器,在建立工程后必须对工程进行设置才能够开发出相应的程序。
设置步骤如下:1) 点击菜单栏上的 Project,在弹出的下拉菜单中选择 Options,弹出的 Option for node “Led”, 快捷方式:在工程名上点右键,选.Options设置设置窗口如下图所示:2) 设置相关参数。
在 General Option 选项 Target 标签下,Device 栏中选择 Texas Instruments 文件夹下的CC2530F256.i513) 设置 Codemodel、Data model、Calling convention 如下图所示:4)在 Stack/Heap 标签,XDATA 文本框内设置为 0x1FF5) Linker 选项 Config 标签,勾选 Override default,点击下面对话框最右边的按键,选lnk51ew_cc2530F256_banked.xcl6)Output 标签选项主要用于设置输出文件以及格式,勾选 other7) Debugger 栏中的 Setup 栏设置为 Tesas Instruments经过以上设置,所有设置已完成。
K60 IAR配置文件

K60 IAR环境的编译文件Flash的配置:$PROJ_DIR$\..\..\src\app$PROJ_DIR$\..\..\src\common $PROJ_DIR$\..\..\src\cpu$PROJ_DIR$\..\..\src\cpu\headers $PROJ_DIR$\..\..\src\platforms $PROJ_DIR$\..\..\src\drivers $PROJ_DIR$\..\..\src\drivers\adc $PROJ_DIR$\..\..\src\drivers\AT24C02 $PROJ_DIR$\..\..\src\drivers\exti $PROJ_DIR$\..\..\src\drivers\delay $PROJ_DIR$\..\..\src\drivers\FTM $PROJ_DIR$\..\..\src\drivers\gpio $PROJ_DIR$\..\..\src\drivers\i2c $PROJ_DIR$\..\..\src\drivers\lptmr $PROJ_DIR$\..\..\src\drivers\mcg$PROJ_DIR$\..\..\src\drivers\PIT $PROJ_DIR$\..\..\src\drivers\pmc $PROJ_DIR$\..\..\src\drivers\rtc $PROJ_DIR$\..\..\src\drivers\uart $PROJ_DIR$\..\..\src\drivers\wdog $PROJ_DIR$\..\..\src\drivers\dma $PROJ_DIR$\..\..\src\LIB\CMSIS $PROJ_DIR$\..\..\src\LIB\FatFs $PROJ_DIR$\..\..\build$PROJ_DIR$\..\..\src\uCOS-II\Ports $PROJ_DIR$\..\..\src\uCOS-II\Source $PROJ_DIR$\..\..\src\uCOS-II\App $PROJ_DIR$\..\..\src\uCOS-II\App\CFG $PROJ_DIR$\..\..\landao_dmeoNDEBUGIARTWR_K60N512$PROJ_DIR$\..\config files\fire_ROM_K60N512.icfRAM 配置:$PROJ_DIR$\..\..\src\app$PROJ_DIR$\..\..\src\common $PROJ_DIR$\..\..\src\cpu$PROJ_DIR$\..\..\src\cpu\headers $PROJ_DIR$\..\..\src\platforms $PROJ_DIR$\..\..\src\drivers $PROJ_DIR$\..\..\src\drivers\adc $PROJ_DIR$\..\..\src\drivers\AT24C02 $PROJ_DIR$\..\..\src\drivers\exti $PROJ_DIR$\..\..\src\drivers\delay $PROJ_DIR$\..\..\src\drivers\FTM$PROJ_DIR$\..\..\src\drivers\gpio $PROJ_DIR$\..\..\src\drivers\i2c $PROJ_DIR$\..\..\src\drivers\LED $PROJ_DIR$\..\..\src\drivers\lptmr $PROJ_DIR$\..\..\src\drivers\mcg $PROJ_DIR$\..\..\src\drivers\PIT $PROJ_DIR$\..\..\src\drivers\pmc $PROJ_DIR$\..\..\src\drivers\rtc $PROJ_DIR$\..\..\src\drivers\timer $PROJ_DIR$\..\..\src\drivers\uart $PROJ_DIR$\..\..\src\drivers\wdog $PROJ_DIR$\..\..\src\drivers\dma $PROJ_DIR$\..\..\src\LIB\CMSIS $PROJ_DIR$\..\..\src\LIB\FatFs $PROJ_DIR$\..\..\build$PROJ_DIR$\..\..\src\uCOS-II\Ports $PROJ_DIR$\..\..\src\uCOS-II\Source $PROJ_DIR$\..\..\src\uCOS-II\App $PROJ_DIR$\..\..\src\uCOS-II\App\CFG $TOOLKIT_DIR$\incIARDEBUGTWR_K60N512$PROJ_DIR$\..\config files\fire_RAM_K60N512.icf。
IAR编译器配置(AVR)

IAR编译器配置(AVR)IAR编译器配置(AVR)⼀、EEPROM 区域数据存储:__eeprom unsigned char a;//定义⼀个变量存放在EEPROM空间__eeprom unsigned char a @ 0x8;//定义⼀个变量存放在EEPROM空间0X08单元__eeprom unsigned char p[] @ 0x22//定义⼀个数组存放在EEPROM空间,开始地址为0X22单元__eeprom unsigned char a @ 0x08=9;//定义⼀个常数存放在EEPROM空间0X08单元__eeprom unsigned char p[] @0x22={1,2,3,4,5,6,7,8};EEPROM操作宏取函数:在comp_a90.h intrinsics.h头⽂件⾥有详细说明。
⾃动⽣成.eep⽂件置:在Project->Options->linker->config>的linker command line中观察该Project使⽤了哪个XCL⽂件。
本⽂使⽤M8编译,使⽤⽂件是”TOOLKIT_DIR$\src\template\cfgm8.xcl”-Ointel-extended,(CODE)=.hex-Ointel-extended,(XDATA)=.eep⼆、FLASH 区域数据存储:⽤关键字 __flash 控制来存放, __ flash 关键字写在数据类型前后效果⼀样__flash unsigned char a @ 0x8;//定义变量存放在flash 空间0X08单元__flashunsigned char p[] @ 0x22//定义数组存放在flash 空间,开始地址为0X22单元__flash unsigned char a @ 0x08=9;//定义常数存放在flash 空间0X08单元__flash unsigned char p[] @ 0x22={1,2,3,4,5,6,7,8};unsigned int __flash * p;//定义个指向flash 空间地址的指针,16位。
IAR配置

IAR的介绍《IAR EWARM V5 嵌入式系统应用编程与开发》[ 2010-8-17 3:03:00 | By: 32446975 ]《IAR EWARM V5 嵌入式系统应用编程与开发》/Art_Xue_ChaptShow.asp?Id=285.1.1基本选项配置在工作区(Workspace)中选定一个项目,单击Project下拉菜单中的Options…选项,弹出选项配置对话框,从左边Category列表框内选择General Options进入基本选项配置。
图5.1 基本选项配置中的Target选项卡图5.1所示为基本选项配置中的Target选项卡,Processor variant(处理器类型)选项区域中的Core复选框用于设置ARM核,默认为ARM7TDMI,也可以从其左边的下拉列表框中选择其它ARM核,例如ARM9、ARM11或Xscal等。
建议使用时尽可能根据当前所用ARM芯片,选中Device复选框,点击其右边的按钮,从弹出的文本框内选择所用器件,这样IAR EWARM会根据所选芯片自动设置器件描述文件,以便于调试。
如果所选ARM芯片含有浮点数协处理器,可在FPU下拉列表框内选取合适的浮点处理单元。
Endian mode选项区域用于选择大小端模式,默认为Little。
图5.2所示为基本选项配置中的Output选项卡。
Output file选项区域用于设置编译后生成的输出文件类型,可选择Executable(生成执行代码)或Library(生成库文件)。
Output directories选项区域用于设置输出文件目录,默认执行代码文件目录为Debug\Exe,目标文件目录为Debug\Obj,列表文件目录为Debug\List,也可设置其它目录。
图5.2基本选项配置中的Output选项卡图5.3基本选项配置中的Library Configuration选项卡图5.3所示为基本选项配置中的Library Configuration选项卡。
IAR基本选项配置

5.1.1基本选项配置在工作区(Workspace)中选定一个项目,单击Project下拉菜单中的Options…选项,弹出选项配置对话框,从左边Category列表框内选择General Options进入基本选项配置。
图5.1 基本选项配置中的Target选项卡图5.1所示为基本选项配置中的Target选项卡,Processor variant(处理器类型)选项区域中的Core复选框用于设置ARM核,默认为ARM7TDMI,也可以从其左边的下拉列表框中选择其它ARM核,例如ARM9、ARM11或Xscal等。
建议使用时尽可能根据当前所用ARM芯片,选中Device复选框,点击其右边的按钮,从弹出的文本框内选择所用器件,这样IAR EWARM会根据所选芯片自动设置器件描述文件,以便于调试。
如果所选ARM芯片含有浮点数协处理器,可在FPU下拉列表框内选取合适的浮点处理单元。
Endian mode选项区域用于选择大小端模式,默认为Little。
图5.2所示为基本选项配置中的Output选项卡。
Output file选项区域用于设置编译后生成的输出文件类型,可选择Executable(生成执行代码)或Library(生成库文件)。
Output directories选项区域用于设置输出文件目录,默认执行代码文件目录为Debug\Exe,目标文件目录为Debug\Obj,列表文件目录为Debug\List,也可设置其它目录。
图5.2基本选项配置中的Output选项卡图5.3基本选项配置中的Library Configuration选项卡图5.3所示为基本选项配置中的Library Configuration选项卡。
IAR C/C++编译器提供了DLIB库,支持ISO/ANSI C和C++以及IEEE754标准的浮点数。
通过Library下拉列表框选择希望采用的运行库。
选择None表示应用程序不链接运行库;选择Normal表示链接普通运行库,其中没有locale接口和C locale,不支持文件描述符,printf and scanf不支持多字节操作,strtod不支持十六进制浮点数操作。
iar编译器使用指南

iar编译器使用指南(原创版)目录1.IAR 编译器简介2.IAR 编译器的特点3.IAR 编译器的安装与配置4.IAR 编译器的使用5.IAR 编译器的优势与不足正文【1.IAR 编译器简介】IAR 编译器,全称 IAR Embedded Workbench,是一款由瑞典 IAR Systems 公司开发的集成开发环境(IDE), 主要用于编写和编译嵌入式系统软件。
IAR 编译器支持多种编程语言,如 C、C++等,适用于各种微处理器架构。
【2.IAR 编译器的特点】IAR 编译器具有以下特点:(1)高度优化的编译器,生成的代码执行效率高;(2)强大的调试功能,支持在线调试、断点调试等;(3)支持多种处理器架构,如 ARM、MIPS 等;(4)提供丰富的库函数,方便开发者调用。
【3.IAR 编译器的安装与配置】安装 IAR 编译器需要先下载对应的安装包,然后按照安装向导进行安装。
安装完成后,需要配置编译器,包括设置编译选项、链接器选项等。
配置完成后,即可开始使用 IAR 编译器编写和编译代码。
【4.IAR 编译器的使用】使用 IAR 编译器编写代码时,需要创建一个项目,然后编写源代码文件。
编写完成后,可以使用 IAR 编译器进行编译,生成可执行文件。
在开发过程中,可以使用 IAR 提供的调试工具进行调试,以提高代码质量。
【5.IAR 编译器的优势与不足】IAR 编译器的优势在于其高度优化的编译器和强大的调试功能,能够帮助开发者快速编写高效、稳定的嵌入式系统软件。
然而,IAR 编译器也存在一些不足,如学习曲线较陡峭,对于初学者可能不太友好。
IAR开发环境及IAR固件库资料

文件stm32f10x_ppp.h包含了.c文件所需的预定 义,函数声明以及变量定义等
同时,外设需要在时钟控制下工作,因此会用 到时钟的头文件
说明
CM3对包括外设的所有存储设备统一编址,因此在头文件 中包含了存储器的映射关系stm32f10x_map.h
3. 调用函数PPP_Init(..)来初始化外设PPP。
4. 在这一步,外设PPP已被初始化。可以调用函数 PPP_Cmd(..)来使能之。PPP_Cmd(PPP, ENABLE); 可以 通过调用一系列函数来使用外设。每个外设都拥有各自的 功能函数。
外设的操作步骤
注: 1. 在设置一个外设前,必须调用以下一个函数来使能它的
二、创建工程
点击保存后,便完成 工程创建,结果如图所示。
三、添加组
右击工程名字,然后选 择Add->Add Group添加 工作组EVARM、User、 Doc,保存,如图所示;
步骤五:Option设置(1)
在项目名称上单击右键选择Option,或 点击菜单Project→Option。
步骤五:Option设置(2):General
Option
设置 Taget
在Processor Variant 中选择“Device”
单击芯片选择按钮, 选择ST系列芯片:
该文件也包含了所有寄存器的声明
用户文件与库文件通过stm32f10x_lib.h建立关系,该文件中 定义了所有外设头文件的头文件,用于声明头文件,因此需 要include在用户的文件中
而文件stm32f10x_conf.h则指定具体的参数,用户可以对此 文件进行修改
IAR开发环境操作步骤

IAR开发环境操作步骤王晓宁2013/1/25运行IAR后的界面点击相关图标,有许多信息可以查询File→New→Workspace(本步骤也可省略)打开的界面Project Create New Project弹出的对话框中选择Empty project,点OK在你喜欢的根目录下新建一个文件夹例如给新文件夹取名为:IAR MSP430,点击打开在IAR MSP430中再建一个文件夹,如Trying1将新工程(或称项目)Trying First Project放在Trying1 文件夹中,然后点保存则在IAR中可以看到我们新建的工程了,但它是空的,我们需要向里面添加c文件等点击左上角的空白页图标(New document)则主窗口显示一个未命名的(Untitled1)空白文档在该文档中编写我们的C程序,或粘贴我们已经编制好的C程序点击左上角的Save图标弹出的对话框中,在文件名栏给文件命名,注意C文件必须以.c为扩展名(后缀)。
点保存可以注意到该C文件的名称已经具体了(Trying first project.c)Add→Add“Trying first project.c”则可以看到Trying first project.c现在已经添加进工程了再将鼠标点到工程名上然后点右键,在弹出的对话条中选Options弹出的对话框中选General Options在Target标签的Device栏中下拉选项→MSP430GXXX Family→MSP430G2553则MSP430G2553出现在Device项中再点中Debugger项在Setup标签的Driver栏中下拉,并选中FET DebuggerFET Debugger被选中选中Texas Instrument USB-IF点OK照单操作 Make或者直接点击图标Download and Debug(小蓝旗图标)在对话框中给出工作空间的名字,点保存可以看到左下角编译产生的信息并转入到调试界面此时程序已经下载到你的板子中(当然你要保证你的板子已经通过USB线连到电脑上),然后点击左上角的 (Go)图标,程序就运行了,并可以观察板子的运行情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IAR编译环境的配置是相当重要的,没配置正确或者不符合自己的习惯的话,使用起来就会很麻烦。
下面我根据网上的经验和资料,以及自己摸索和大家共同探讨下IAR的配置。
我第一次打开IAR环境的时候,发现工作区有明显分层现象。
如图一所示
图一
这是我郁闷了好久,网上也不知道该如何搜索相关,只有自己慢慢找,最后还是找到了。
点击tools---options 就会弹出一个对话框来,如图二所示
图二
点editor选项卡,可以看到右边有很多选项,这些选项关系到使用的习惯和便捷性。
首先要谈到的是tab size,这个表示tab的字符宽度,默认值为8,indent size表示缩进的字符宽度,默认为2。
有人喜欢缩进为4,有人喜欢缩进为2,根据个人喜好,和程序的复杂度来选择,我一般选择2。
然后紧跟着,下面有个tab key funtion,说得是按下tab键所起到的作用,第一个表示插入制表符,第二个表示插入空格,一般选择插入空着(insert with space)这个选项。
为了解决图一的问题,就在show right margin(显示右边空白),处理方法很多,可以不选中,也可以选择Printing edge(显示到边缘),也可以把Columns(分栏)占的比例修改为100都可以。
另外,根据个人习惯,有人喜欢列出行号,有人不喜欢,这个可以在configure的下面show line numbers的选项,选中即可列出行号。
其他可以根据自己习惯设定,设定好了之后,如图三的效果,就看起来舒服多了。
图三
下面一个重点就是进行项目设定了,这个步骤非常重要,如果没有设置好,有可能编译不通过或者出错。
其实我们当初选择empty project模版的时候,配置都是属于默认的,但是有些关键配置还是需要自己手动配置的,虽然配置项目很多,根据网上经验和资料,以及个人理解,列举了几个关键选项来配置即可。
1、IAR EWARM允许为工作区中的任何一级目录和文件单独设置选项,但是用户必须首先为整个项目设置通用的选项General Option。
设置方法:选中工作区中的项目名new_project–Debug,按鼠标右键在弹出菜单中选择Options…或选择主菜单Project---Options…。
在弹出的Options窗口左边的目录(Category)中选择第一项General Options。
然后分别在:
??Target设置
??在Processor Variant框中选择Device。
并点击右边的器件选择按钮,选择芯片型号ST STM32F10x。
同时Endian mode选择Little,Stack align选择4byte。
其它选项采用默认值。
如图四所示
图四
2、C/C++编译器选项设置
在通用配置下面,有C/C++compiler,选中。
??然后配置Preprocessor
Preprocessor页面中,列有标准的include文件的目录。
如果用户的include文件不在标准目录下时,必须在Additional include directories输入包含该项目include文件的目录。
一个目录用一行描述,有多个目录时允许用多行。
在Preprocessor框中的Additional include directories(one per line)项目中输入“$TOOLKIT_DIR$\”,“$TOOLKIT_DIR$\LIBRARY\INC\”。
其他选项采用默认。
如图五所示
图五
3、Linker选项设置
3.1选中linker,然后在output选项卡下选择输出格式,此选项非常重要。
如果需要将输出文件送给一个调试器进行调试,则要求输出格式带有调试信息。
我们选择Debug information for C-SPY。
如图六所示
注意:I/O emulation modules指示连接器将stdin和stdout指向C-SPY的I/O窗
口的低级例程。
在没有真实硬件采用模拟仿真时应选择此项选项。
图六
3.2Extra Output设置
选择Generate extra output file。
输出格式选择simple-code和None,如图七所示
图七
3.3List设置
选择Generate linker listing和Segment map,允许生成存储器分配MAP文件,如图八所示
图八
3.4Config设置
打开Override default选项:??
如果在Flash中调试程序,设置lnkarm_flash.xcl;如果在RAM中调试程序,设置lnkarm_RAM.xcl;
哈哈,这2个选项在进行设置时,请确认电路板上的Boot0和Boot1引脚的跳线连接是否正确!如图九所示
图九4、Debugger选项设置
在Options窗口的目录Category中选择第七项Debugger 4.1setup设置
在driver那里选择调试工具等如图十所示
图十4.2download选项设置
1.已选择下载程序到Flash,可选:Verify download ??Use flash loader(s)(必须开启!)
2.已选择下载程序到RAM或使用模拟器:无需选择。
3.如果程序已下载到Flash:开启Suppress download 如图十一所示
图十一
以上设置基本上就完成了,然后保存项目,保存工作区,就可以进行编译和调试了。