安下载编程开发

分类分类

IAR Embedded Workbench for ARM(微处理器编程软件)

IAR Embedded Workbench for ARM(微处理器编程软件)

v8.32.1

大小:1229 MB 更新:2023/03/17

类别:编程工具系统:WinXP, Win7, Win8, Win10, WinAll

立即下载

  IAR for ARM是一款微处理器开发软件,可以通过这款软件帮助用户开发控制器,软件提供丰富的硬件编程功能,可以直接在软件设计设备通讯方案,设计数据处理方案,设计预警方案,设计控制器,设计处理器,设计反应器,用户可以在软件模拟设备,支持多种型号的设备模拟,可以将芯片加载到软件设计,可以读取芯片数据,支持ATSAMD21E15BU类型的芯片设计,这里小编推荐的是IAR Embedded Workbench for ARM 8.32.1,新版做了一些调整,不再支持与Microsoft SCC兼容的版本控制系统,此版本的IAR嵌入式工作台需要IAR许可证服务器工具版本2.16.2或更高版本,调试器闪存加载程序机制在5.40版中进行了更改,如果您的项目使用没有额外参数的默认闪存加载器,则无需进行迁移工作,对象格式也提供修改,编译器,汇编器,链接器和调试器中使用的对象格式基于带有ELF / DWARF 4的ARM ABI标准版本2.10,如果你需要这款软件就下载吧!

IAR Embedded Workbench for ARM(微处理器编程软件)

软件功能

  1、IAR C / C ++编译器

  由编译器专家构建的领先技术。IAR C / C ++编译器提供对C,C ++和嵌入式C的支持。可以指示编译器禁用扩展,以严格遵守标准。

  2、领先的代码优化

  这些工具执行高级的全局和特定于处理器的优化。可以分别控制优化器的主要功能,并且可以通过为代码的不同部分设置不同的优化来实现大小和速度之间的平衡。

  3、完整的链接器

  IAR ILINK / XLINK链接器包括完整的链接,重定位和格式生成以生成FLASH / PROMable代码,并具有灵活的内存处理功能,可对代码和数据放置进行详细控制。

  4、具有项目管理工具和编辑器的集成开发环境

  一个工具箱,一个视图,一个不间断的工作流程。就如此容易。IAR嵌入式工作台为您提供了不间断的工作流和一个工具箱,其中所有组件都无缝集成。

  5、强大的项目经理

  |IAR for ARM8.3使用可停靠的窗口和选项卡组在同一工作空间内安排多个项目。用户界面干净,健壮和快速,并包括功能丰富的编辑器和智能源浏览器。调试时,您可以编辑源文件而无需离开调试会话。

  6、数千个示例项目

  IAR Embedded Workbench包含用于广泛支持的设备的配置文件,代码示例和项目模板,使每个项目都能快速入门,并节省了宝贵的时间。

软件特色

  1、高度优化的IAR ARM C/C++ Compiler

  2、IAR ARM Assembler

  3、一个通用的IAR XLINK Linker

  4、IAR XAR 和XLIB 建库程序和IAR DLIB C/C++运行库

  5、功能强大的编辑器

  6、项目管理器

  7、命令行实用程序

  8、IAR C-SPY 调试器(先进的高级语言调试器)

安装方法

  1、打开EWARM-CD-8321-18631.exe软件直接启动,点击第一个Install IAR Embedded Workbenchfor Arm

IAR Embedded Workbench for ARM(微处理器编程软件)

  2、软件的安装引导界面,点击next

IAR Embedded Workbench for ARM(微处理器编程软件)

  3、提示软件的安装协议,点击接受

IAR Embedded Workbench for ARM(微处理器编程软件)

  4、软件的安装地址C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.2

IAR Embedded Workbench for ARM(微处理器编程软件)

  5、软件附加的安装设置内容,点击next

IAR Embedded Workbench for ARM(微处理器编程软件)

  6、提示快捷方式名字IAR Embedded Workbench for Arm 8.32.1

IAR Embedded Workbench for ARM(微处理器编程软件)

  7、显示安装准备界面,点击install就可以直接安装

IAR Embedded Workbench for ARM(微处理器编程软件)

  8、显示主程序的安装进度,等待一段时间

IAR Embedded Workbench for ARM(微处理器编程软件)

  9、软件需要花费较多的安装时间,安装结束就可以执行

IAR Embedded Workbench for ARM(微处理器编程软件)

  10、如图所示,提示软件已经安装成功,不要运行软件,点击finish

IAR Embedded Workbench for ARM(微处理器编程软件)

  11、弹出相关的驱动安装功能,请勿安装加密狗USB驱动程序

IAR Embedded Workbench for ARM(微处理器编程软件)

方法

  1、在开始菜单打开IAR License Manager for arm 8.32,进入许可证设置界面

IAR Embedded Workbench for ARM(微处理器编程软件)

  2、您需要断开网络连接,禁止电脑联网

IAR Embedded Workbench for ARM(微处理器编程软件)

  3、启动您下载的注册机License Generator.exe,选择管理员身份启动

IAR Embedded Workbench for ARM(微处理器编程软件)

  4、点击generate按钮计算软件的许可号,将其输入到软件,点击下一步

IAR Embedded Workbench for ARM(微处理器编程软件)

  5、弹出软件是否需要离线激活的提醒,点击是

IAR Embedded Workbench for ARM(微处理器编程软件)

  6、这里就是离线激活的界面,显示刚才输入的许可号,点击下一步

IAR Embedded Workbench for ARM(微处理器编程软件)

  7、提示该许可证是否应该锁定在硬件加密狗上,点击NO

IAR Embedded Workbench for ARM(微处理器编程软件)

  8、提示选择一个位置保存激活文件,点击浏览按钮进入保存设置,将其保存在不是中文的路径,例如E:\123456

IAR Embedded Workbench for ARM(微处理器编程软件)

  9、如图所示,小编保存的文件地址就是E:\123456\ActivationInfo.txt

IAR Embedded Workbench for ARM(微处理器编程软件)

  10、继续点击下一步

IAR Embedded Workbench for ARM(微处理器编程软件)

  11、提示选择文件功能,不要进行任何操作,返回到注册机界面

IAR Embedded Workbench for ARM(微处理器编程软件)

  12、如图所示,在注册机上点击browse,将保存在E:\123456的激活文件打开

IAR Embedded Workbench for ARM(微处理器编程软件)

  13、将ActivationInfo.txt打开到注册机

IAR Embedded Workbench for ARM(微处理器编程软件)

  14、点击Activate license按钮安装许可证

IAR Embedded Workbench for ARM(微处理器编程软件)

  15、弹出保存界面,将ActivationResponse.txt保存在E盘

IAR Embedded Workbench for ARM(微处理器编程软件)

  16、返回到激活界面,点击浏览按钮添加ActivationResponse.txt,点击下一步

IAR Embedded Workbench for ARM(微处理器编程软件)

  17、提示激活完毕,点击done结束

IAR Embedded Workbench for ARM(微处理器编程软件)

  18、之后软件会生成版本信息,则软件成功

IAR Embedded Workbench for ARM(微处理器编程软件)

  19、打开iar embedded workbench 就可以正常使用,可以在软件查看用户手册

IAR Embedded Workbench for ARM(微处理器编程软件)

  20、如果你需要设计控制器就可以下载iar embedded workbench

IAR Embedded Workbench for ARM(微处理器编程软件)

官方教程

  IAR构建工具-概述

  在IAR产品安装中,您可以找到一组工具,代码示例和用户文档,所有这些工具,代码示例和用户文档都适用于为基于Arm的嵌入式应用程序开发软件。这些工具使您可以用C,C ++或汇编语言开发应用程序。

  IAR EmbeddedWorkbench®是功能非常强大的集成开发环境(IDE),使您可以开发和管理完整的嵌入式应用程序项目。它提供了易于学习且高效的开发环境,具有最大的代码继承功能,全面而特定的目标支持。 IAR嵌入式工作台提倡一种有用的工作方法,从而大大减少了开发时间。

  如果要将编译器,汇编器和链接器用作已建立的项目环境中的外部工具,则也可以从命令行环境中运行它们。

  IAR C / C ++编译器

  适用于Arm的IAR C / C ++编译器是最新的编译器,提供C和C ++语言的标准功能,以及旨在利用Arm特定功能的扩展。

  IAR汇编器

  IAR Arm汇编器是功能强大的重定位宏汇编器,具有一组通用的指令和表达式运算符。汇编器具有内置的C语言预处理器,并支持条件汇编。

  IAR Arm汇编程序使用与Arm Limited Arm汇编程序相同的助记符和操作数语法,从而简化了现有代码

  IAR ILINK链接器

  IAR ILINK Armer链接器是功能强大,灵活的软件工具,可用于嵌入式控制器应用程序的开发。它同样适合链接小型,单文件,绝对汇编程序,也适合链接大型,可重定位的输入,多模块,C / C ++或混合的C / C ++和汇编程序。

  特定的ELF工具

  ILINK既使用并产生行业标准的ELF和DWARF作为对象格式,又提供了处理这些格式的其他IAR实用程序:

  * IAR存档工具-存档-创建和操作多个ELF对象文件的库(存档)

  * IAR ELF工具ielftool在ELF可执行映像上执行各种转换(例如填充,校验和,格式转换等)

  *用于arm的IAR ELF自卸车-ielfdumparm-创建可重定位或可执行映像的ELF内容的文本表示

  * IAR ELF对象工具iobjmanip用于执行ELF对象文件的低级操作

  * IAR绝对符号导出器(isymexport)从ROM映像文件中导出绝对符号,以便在链接附加应用程序时可以使用它们。

  注意:

  这些ELF实用程序非常适合IAR Systems的工具生成的目标文件。因此,我们建议使用它们代替GNU二进制实用程序。

  IAR语言概述

  用于Arm的IAR C / C ++编译器支持:

  * C,嵌入式系统行业中使用最广泛的高级编程语言。您可以构建符合以下标准的独立应用程序:

  *标准C-也称为C11。此后,该标准在本指南中称为标准C。

  * C89-也称为C94,C90和ANSIC。在编译器中启用MISRA C时,需要此标准。

  * C ++是一种现代的面向对象的编程语言,具有功能齐全的库,非常适合模块化编程:

  *标准C ++(也称为C ++ 14)可以与对异常和运行时类型信息(RTTI)的不同级别的支持一起使用。

  每种受支持的语言都可以在严格或宽松模式下使用,或者在启用IAR扩展的情况下宽松使用。严格模式遵循标准,而宽松模式允许与标准存在一些常见偏差。严格模式和放松模式都可能包含对C / C ++标准未来版本中功能的支持。

  也可以用汇编语言来实现应用程序的一部分或整个应用程序

  设备支持

  为了使您的产品开发顺利起步,IAR产品安装附带了广泛的设备特定支持。

  受支持的手臂设备

  用于Arm的IAR C / C ++编译器支持大多数32位Arm内核和设备。编译器生成的目标代码在内核之间并不总是二进制兼容的。因此,为编译器指定处理器选项至关重要。默认核心是Cortex-M3。

  预先配置的支持文件

  IAR产品安装包含用于支持不同设备的预配置文件。如果您需要其他文件来支持设备,则可以使用提供的文件之一作为模板来创建它们。

  I / O的头文件

  标准外围设备单元在设备特定的I / O头文件中定义,文件扩展名为h。产品包为产品发布时可用的所有设备提供I / O文件。您可以在arm \ inc \ 目录中找到这些文件。确保在您的应用程序源文件中包含适当的包含文件。如果需要其他I / O头文件,则可以使用提供的其中一个作为模板来创建它们。有关头文件格式的详细信息,请参阅arm \ doc目录中的EWARM_HeaderFormat.pdf。

  链接器配置文件

  arm \ config目录包含所有受支持设备的现成链接程序配置文件。这些文件的文件扩展名为icf,包含链接器所需的信息。

  调试器通过使用设备描述文件来处理几种特定于设备的要求,例如可用存储区,外围寄存器及其组的定义。这些文件位于arm \ config目录中,文件扩展名为ddf。外围寄存器和它们的组可以在单独的文件中定义(文件名扩展名sfr),在这种情况下,它们包含在ddf文件中。

  入门范例

  IAR Embedded Workbench提供了示例应用程序。您可以使用这些示例来开始使用IAR Systems的开发工具。您还可以将这些示例用作应用程序项目的起点。

  这些示例可以按原样使用。它们提供有现成的工作空间文件以及源代码文件和所有其他相关文件。

  对嵌入式系统的特殊支持

  本节简要介绍了编译器提供的扩展,以支持各种Arm内核和设备的特定功能。

  扩展关键字

  编译器提供了一组关键字,可用于配置如何生成代码。例如,有一些关键字用于控制如何访问和存储数据对象,以及用于控制函数应在内部如何工作以及应如何调用/返回它。

  默认情况下,IDE中启用了语言扩展。

  命令行选项-e使扩展关键字可用,并保留它们,以便它们不能用作变量名。

  实用指令

  pragma指令控制编译器的行为,例如,编译器如何分配内存,是否允许扩展关键字以及是否发出警告消息。

  编译指示始终处于启用状态。它们与标准C一致,并且在您要确保源代码可移植时非常有用。

  预定义符号

  使用预定义的预处理器符号,您可以检查编译时环境,例如编译时间或编译器的内部版本号。

  访问低级功能

  对于应用程序中与硬件相关的部分,访问低级功能至关重要。编译器支持执行此操作的几种方法:内在函数,混合C和汇编器模块以及内联汇编器

  使用IAR构建工具开发嵌入式软件

  通常,为专用微控制器编写的嵌入式软件被设计为等待某些外部事件发生的无限循环。该软件位于ROM中,并在重置时执行。编写此类软件时,必须考虑几个硬件和软件因素。在您的帮助下,您可以使用编译器选项,扩展关键字,编译指示等。

  内存映射

  嵌入式系统通常包含各种类型的存储器,例如片上RAM,外部DRAM或SRAM,ROM,EEPROM或闪存。

  作为嵌入式软件开发人员,您必须了解不同类型的内存的功能。例如,片上RAM通常比其他类型的存储器快,并且在时间紧迫的应用程序中经常访问的变量将从放置在这里受益。相反,某些配置数据可能很少被访问,但是断电后必须保持其值,因此应将其保存在EEPROM或闪存中。

  为了有效地使用内存,编译器提供了几种机制来控制函数和数据对象在内存中的放置。

  与外围设备通讯

  如果将外部设备连接到微控制器,则可能需要初始化和控制信号接口,例如通过使用芯片选择引脚,以及检测和处理外部中断信号。通常,必须在运行时对其进行初始化和控制。通常的方法是使用特殊功能寄存器(SFR)。这些通常在专用地址上可用,其中包含控制芯片配置的位。

  标准外围设备单元在设备特定的I / O头文件中定义,文件扩展名为h。

  事件处理

  在嵌入式系统中,使用中断是一种立即处理外部事件的方法。例如,检测到按钮被按下。通常,当代码中发生中断时,内核会立即停止执行其运行的代码,并开始执行中断例程。

  编译器提供了各种用于管理硬件和软件中断的原语,这意味着您可以用C编写中断例程,

  系统启动

  在所有嵌入式系统中,在调用应用程序的主要功能之前,将执行系统启动代码以初始化系统(包括硬件和软件系统)。 CPU通过从固定存储器地址开始执行来强加此功能。

  作为嵌入式软件开发人员,您必须确保启动代码位于专用存储器地址上,或者可以使用向量表中的指针进行访问。这意味着启动代码和初始向量表必须放置在非易失性存储器中,例如ROM,EPROM或闪存。

  C / C ++应用程序还需要初始化所有全局变量。此初始化由链接器和系统启动代码共同处理。有关更多信息,请参见应用程序执行-概述。

  实时操作系统

  在许多情况下,嵌入式应用程序是系统中运行的唯一软件。但是,使用RTOS具有一些优势。

  例如,高优先级任务的时间不受在低优先级任务中执行的程序其他部分的影响。这通常使程序更具确定性,并可以通过有效使用CPU并在空闲时将CPU置于低功耗状态来降低功耗。

  使用RTOS可以使您的程序更易于阅读和维护,并且在许多情况下也更小。可以将应用程序代码完全分隔在真正彼此独立的任务中。这使团队协作变得更容易,因为开发工作可以轻松地分为由一个开发人员或一组开发人员处理的单独任务。

  最后,使用RTOS可以减少对硬件的依赖,并为应用程序创建一个干净的接口,从而可以更轻松地将程序移植到不同的目标硬件。

  另请参阅管理多线程环境。

  与其他构建工具的互操作性

  IAR编译器和链接器为AEABI(用于Arm的嵌入式应用程序二进制接口)提供支持

  构建过程-概述

  本节概述了构建过程。从源代码到可执行映像,各种构建工具(编译器,汇编器和链接器)如何组合在一起。

  要在实践中熟悉该过程,您应该运行IAR信息中心提供的一个或多个教程。

  翻译过程

  IDE中有两个工具可将应用程序源文件转换为中间目标文件。 IAR C / C ++编译器和IAR汇编器。两者都以行业标准格式ELF生成可重定位的目标文件,包括用于调试信息的DWARF格式。

  注意:

  编译器还可用于将C源代码转换为汇编器源代码。如果需要,您可以修改汇编器源代码,然后可以将其汇编为目标代码。

  下图显示了翻译过程:

IAR Embedded Workbench for ARM(微处理器编程软件)

  翻译后,您可以选择将任意数量的模块打包到一个档案库中,或者换句话说,在一个库中。使用库的重要原因是,库中的每个模块在应用程序中都是有条件链接的,换句话说,仅当模块作为目标文件提供的模块直接或间接使用该模块时,才包含在应用程序中。 (可选)您可以创建一个库;然后使用IAR实用程序iarchive。

  链接过程

  由IAR编译器和汇编器生成的目标文件和库中的可重定位模块无法按原样执行。要成为可执行应用程序,必须将它们链接起来。

  注意:

  由另一个供应商的工具集生产的模块也可以包含在构建中。请注意,这可能还需要来自同一供应商的编译器实用程序库。

  IAR ILINK链接器(ilinkarm.exe)用于构建最终应用程序。通常,链接器需要以下信息作为输入:

  *几个目标文件和可能的某些库

  *程序开始标签(默认设置)

  *链接器配置文件,用于描述代码和数据在目标系统的内存中的放置

  下图显示了链接过程:

IAR Embedded Workbench for ARM(微处理器编程软件)

  注意:

  标准C / C ++库包含编译器的支持例程,以及C / C ++标准库函数的实现。

  在链接期间,链接器可能会在stdout和stderr上生成错误消息和日志记录消息。日志消息对于理解为什么以该应用程序链接该应用程序的方式很有用,例如,为什么要包含一个模块或删除一个节。

  链接后

  IAR ILINK链接器会生成ELF格式的绝对目标文件,其中包含可执行映像。链接后,产生的绝对可执行映像可用于:

  *加载到IAR C-SPY调试器或任何其他读取ELF和DWARF的兼容外部调试器中。

  *使用Flash / PROM编程器编程到Flash / PROM。在此之前,必须将映像中的实际字节转换为标准的Motorola 32位S记录格式或Intel Hex-32格式。为此,请使用ielftool,请参阅IAR ELF工具-ielftool。

  下图显示了绝对输出ELF / DWARF文件的可能用法:

IAR Embedded Workbench for ARM(微处理器编程软件)

  应用程序执行-概述

  该页面概述了嵌入式应用程序的执行情况,该应用程序分为三个阶段:

  *初始化阶段

  *执行阶段

  *终止阶段。

  初始化阶段

  当启动应用程序(复位CPU)时但在进入主功能之前执行初始化。为了简化起见,初始化阶段可以分为:

  *硬件初始化,通常至少初始化堆栈指针。

  硬件初始化通常在系统启动代码cstartup.s中执行,并且如果需要,通过提供的额外低级例程执行。它可能包括重置/启动其余硬件,设置CPU等,以准备软件C / C ++系统初始化。

  *软件C / C ++系统初始化

  通常,这包括确保在调用主函数之前,每个全局(静态链接)的C / C ++符号都收到其正确的初始化值。

  *应用程序初始化

  这完全取决于您的应用程序。它可以包括设置RTOS内核和启动RTOS驱动的应用程序的初始任务。对于准系统应用程序,它可以包括设置各种中断,初始化通信,初始化设备等。

  对于基于ROM /闪存的系统,常数和函数已放置在ROM中。必须先初始化RAM中放置的所有符号,然后才能调用main函数。链接器已经将可用RAM分为变量,堆栈,堆等的不同区域。

  以下插图序列简化了初始化的不同阶段。

  1启动应用程序时,系统启动代码首先执行硬件初始化,例如初始化指向预定义堆栈区域末尾的堆栈指针:

IAR Embedded Workbench for ARM(微处理器编程软件)

  2然后,清除应归零的内存,换句话说,用零填充:

IAR Embedded Workbench for ARM(微处理器编程软件)

  通常,这是称为零初始化数据的数据。声明为例如int i = 0的变量;

  3对于初始化数据,声明的数据例如int i = 6;初始化程序从ROM复制到RAM:

IAR Embedded Workbench for ARM(微处理器编程软件)

  4最后,主要功能称为:

IAR Embedded Workbench for ARM(微处理器编程软件)

  执行阶段

  嵌入式应用程序的软件通常实现为循环,该循环可以是中断驱动的,也可以使用轮询来控制外部交互或内部事件。对于中断驱动的系统,通常在主函数的开头初始化中断。

  在具有实时行为且响应性至关重要的系统中,可能需要多任务系统。这意味着您的应用程序软件应辅以实时操作系统。在这种情况下,RTOS和其他任务也必须在主功能开始时进行初始化。

  终止阶段

  通常,嵌入式应用程序的执行永远都不应结束。如果是这样,则必须定义适当的结束行为。

  要以受控方式终止应用程序,请调用标准C库函数之一退出,_Exit,quick_exit或中止,或从main返回。如果从main返回,则会执行exit函数,这意味着将调用静态和全局变量的C ++析构函数(仅C ++),并关闭所有打开的文件。

  当然,如果程序逻辑不正确,则应用程序可能会以不受控制的异常方式终止,从而导致系统崩溃。

更新日志

  iar embedded workbench for arm 8.32.1更新日志

  1、源浏览器数据现在作为单独的线程运行,因此生成速度更快。

  “新建源浏览器日志”窗口。

  状态栏中的状态指示器。

  如果无法生成源浏览数据,则增强反馈。

  2、编辑器中

  的文档注释支持编辑器可以区分以/ **,/ * !、 ///或//!开头的注释。作为文档注释。在文档注释中,编辑器可以识别以\或@开头的关键字。如果将关键字识别为doxygen关键字,则文档注释将出现在变量和函数的工具提示和参数提示中。有关更多信息,请参见IAR Embedded Workbench IDE项目管理和构建指南。

  3、较新版本的C-STAT

  静态分析工具C-STAT已更新,其中包含20条附加规则,许多错误修正和更好的报告功能。

  4、支持新的调试器

  |IAR for ARM8.3添加对STLINK-V3的支持。

精品推荐
同类推荐
相关下载
  • 最新排行
  • 最热排行
  • 评分最高
编程开发排行榜
实时热词