万利电子有限公司电话:025-83235502南京市新模范马路17号02幢二层(210003)传真:025-8323550102006年2月IAREWARM快速入门(V1.0)万利电子有限公司万利电子有限公司电话:025-83235502南京市新模范马路17号02幢二层(210003)传真:025-832355010目录前言………………………………………………………………………………1第一章EWARM集成开发环境及配套仿真器…….……………………………2第二章在EWARM中生成一个新项目..……………….…....………………...10第三章编译和连接应用程序..………………………….…….....………………14第四章用C-SPY调试应用程序..……………………………….…….………..20第五章EWARMFlashLoader开发指南………………………..…….….......28IAREWAR快速入门万利电子有限公司万利电子有限公司电话:025-83235502南京市新模范马路17号02幢二层(210003)传真:025-832355011编者序IAREmbeddedWorkbenchforARM是IARSystems公司为ARM微处理器开发的一个集成开发环境(下面简称IAREWARM)。比较其他的ARM开发环境,IAREWARM具有入门容易、使用方便和代码紧凑等特点。故在这里介绍给打算学习使用或正在使用ARM芯片的朋友们共同探讨。IARSystems公司目前推出的昀新版本是IAREmbeddedWorkbenchforARMversion4.31,并提供一个32k代码限制、但时间限制长达25年的免费评估版。有兴趣的朋友可以到IAR公司的网站或万利电子有限公司的网站(本地网站)去寻找和下载。IAREWARM中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAREWARM的功能和使用方法。我们编译整理的这本快速用户指南采用评估版软件安装目录C:\Programfiles\IARSystem\Embeddedworkbench4.0\ARM\tutor下的教程为例,一步一步介绍IAREWARM的使用方法。该教程采用了两个C语言程序,tutor.c和utilities.c。它们不和任何特定的硬件关联,所以介绍中的全部操作都是用模拟程序完成的。在以后的章节里,我们将具体介绍EWARM软件及配套硬件工具、如何使用EWARM集成开发环境以及在EWARM下烧写Flash的方法。如果用户希望在真实的目标板上进行代码运行和调试,请到万利电子有限公司全国各直销点购买IAR的JTAG仿真器J-Link。宋祈真2006年于南京附:EWARM的学习步骤①下载安装EWARM32K学习版软件;②进入,下载Flash格式的软件使用动画演示;③以本入门手册结合软件使用的动画演示,进行软件使用的入门学习;④在软件安装目录...\arm\src\examples下,寻找感兴趣的芯片例程学习;⑤可选项1:购买J-Link仿真器和开发板,实现在硬件上的代码运行和调试;⑥可选项2:购买由北航出版社的《IAREWARM嵌入式系统编程与实践》一书,深入学习;⑦学习“可选项1或2”的随附光盘中《ConvertingADSProjectstoEWARMProjects》白皮书,实践如何移植一个ADS工程到EWARM格式的工程。IAREWAR快速入门万利电子有限公司万利电子有限公司电话:025-83235502南京市新模范马路17号02幢二层(210003)传真:025-832355012第一章EWARM集成开发环境及配套仿真器IAREmbeddedWorkbenchforARMversion4.31是一个针对ARM处理器的集成开发环境,包含项目管理器、编辑器、编译连接工具和支持RTOS的调试工具,在该环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。IAREWARM的主要模块如下:项目管理器功能强大的编辑器高度优化的IARARMC/C++CompilerIARARMAssembler1个通用的IARXLINKLinkerIARXAR和XLIB建库程序和IARDLIBC/C++运行库IARC-SPY调试器(先进的高级语言调试器)命令行实用程序以下介绍一下EWARM4.31版本及其相关配套硬件的一些特点:1.IAREWAM软件的特点①EWARM4.31版基本特点完善的ARM内核支持-昀新支持到ARM11内核(ARM1136J,ARM1136J-S,ARM1136JF,ARM1136JF-S)-早已支持的其他ARM内核ARM7(ARM7TDMI,ARM7TDMI-S,ARM720T)ARM9(ARM9TDMI,ARM920T,ARM922T,ARM940T,ARM9E,ARM9E-S,ARM926EJ-S,ARM946E-S,ARM966E-S,ARM968E-S)ARM10(ARM10E,ARM1020E,ARM1022E,ARM1026EJ-S)XScale(XScale,XScale-IR7)更加客户化地提供芯片级的支持-完备的各厂商ARM处理器的C/C++和汇编语言外设寄存器定义文件支持的芯片厂商有AnalogDevices、ARM、Atmel、CirrusLogic、Freescale、Intel、NetSilicon、OKI、Philips、Samsung、Sharp、ST和TI-支持AnalogDevices、Atmel、Freescale、OKI、Philips、ST和TI等厂商的ARM处理器的FlashLoader程序-软件集成了200余个代码例程,对应于各种不同的芯片,位于...\arm\src\examples目录下进一步改进了编译器速度优化,重写了的浮点运算库IAREWAR快速入门万利电子有限公司万利电子有限公司电话:025-83235502南京市新模范马路17号02幢二层(210003)传真:025-832355013对更多嵌入式操作系统的支持-新增支持OSEK类操作系统的OSEKRun-TimeInterface(ORTI)-新增支持OSEEpsilonRTOS的KernelAwareness调试-新增支持embOS、SMX、NORTi等的支持调试器的增强功能-对堆栈运行的监测功能-配合IARJ-Link仿真器的新增功能J-LinkTCP/IP服务器调试器和IARJ-Link仿真器协同配合,实现对ARM处理器的多核调试-对IARJ-Trace仿真器提供全面的支持-在C-SPY模拟器中可执行Trace的模拟-支持同一芯片上多颗Flash的FlashLoader程序,以及通用的FlashLoader开发指南②EWARM软件在芯片级支持方面的特色完备的各厂商ARM处理器的C/C++和汇编语言外设寄存器定义文件大量适合于嵌入式代码的编程语言扩展特性,包括存储器关键字,本征函数,中断函数,存储器映射I/O等针对评估板的例程,包含IAR、AnalogDevices、AijiSystem、ARM、Atmel、CirrusLogic、Freescale、Keil、OKI、Olimex、Pasat、Philips、Phytec、ST和TI等厂家的开发板支持ARM或Thumb模式下大至4G字节的应用程序每个函数都能选择在ARM或Thumb模式下编译可生成VFP向量浮点协处理器代码支持AnalogDevices、Atmel、Freescale、OKI、Philips、ST和TI等厂商的ARM处理器的FlashLoader程序支持ARMAngelDebugmonitor③EWARM编译器的软件特色先进的通用编译器优化和针对特定处理器的速度优化及存储器优化功能轻量运行库,用户可以根据需要自行配置,提供全部源代码灵活的存储器控制,允许详细地为代码和数据分配地址去除不需要的函数和变量C/C++变量和函数连接时全局类型检查可选的校验和生成功能,用于运行时映象校验自动将代码和数据放置到非连续的存储器区域强大的可重定位宏汇编器,支持丰富的命令集和操作符IAREWAR快速入门万利电子有限公司万利电子有限公司电话:025-83235502南京市新模范马路17号02幢二层(210003)传真:025-832355014④EWARM调试器的软件特色完全集成的源代码和反汇编程序调试器非常细化的执行控制(函数调用级步进)复杂的代码和数据断点丰富的数据监视功能Locals,Watch,Auto,LiveWatch和QuickWatch等变量查看窗口寄存器和存储器查看窗口支持STL容器C/C++调用栈窗口,同时还可以显示将要进入的函数双击调用链上的任何函数将更新编辑器、局部变量、寄存器、变量查看和反汇编窗口,以显示在该函数调用时的状态跟踪功能,可以检查执行的历史记录。在跟踪窗口中移动时将更新编辑器和反汇编窗口以显示合适的位置控制台I/O仿真中断和I/O模拟仿真类似C语言的宏系统,可扩充调试器的功能由主机执行的应用程序系统调用仿真代码覆盖率和执行时间分析工具通用的FlashLoader程序及开发指南同时支持多颗Flash的FlashLoader程序支持OSEKRun-TimeInterface(ORTI)提供为调试器扩充第三方功能的软件开发包,如RTOS调试扩充和仿真器驱动扩充命令行调试工具⑤IARC-SPY支持的调试方法IARJ-LinkJTAG接口(支持所有ARM7和ARM9核,通过USB或TCP/IP连接)IARJ-TraceJTAG接口(支持所有ARM7和ARM9核,通过USB或TCP/IP连接)RDI接口类的第三方仿真器(AbatronBDI1000&BDI2000,EPIMajic,AshlingOpella,AijiOpenICE,SignumJTAGjet,ARMMulti-ICE等)MacraigorWiggler,Raven,mpDemon和USBdemon等调试接口EPIJeeni仿真器支持IAR的ROM-MonitorARM公司的AngelROM-Monitor(用于Atmel和CirrusLogic的评估板)⑥IAR对嵌入式实时操作系统的KernelAwareness调试支持IAREWAR快速入门万利电子有限公司万利电子有限公司电话:025-83235502南京市新模范马路17号02幢二层(210003)传真:025-832355015操作系统IAREWARM内置的插件由第三方RTOS厂商提供的插件CMA-RXXCMX-Tiny+XuC/OS-IIXThreadXXRTXCQuadrosXFusionRTOSXOSEK(ORTI)XENEAOSEEpsilonXMiSPONORTiXMicroDigitalSMXXSeggerembOSX每种RTOS插件都会在C-SPY中安装一批新的窗口,其中昀重要的是任务或线程列表窗口,在此窗口中可以在指定的任务上设置断点和执行程序。其它不同的监测窗口可以显示RTOS内部数据结构的内容,例如定时器、队列、信号量、资源和邮箱等。⑦EWARM图形化的集成开发环境的界面特色分层次的工程组织同一工作空间中允许存放多个工程可停靠的窗口和多视图源代码浏览创建和维护库的工具可以和源代码控制系统相集成文本编辑器-支持多字节字符(汉字)-上下文相关的帮助系统-根据句法着色-无限制的undo/redo-搜寻、替换和增量搜寻-Goto-书签-错误标签:查阅前一个/下一个IAREWAR快速入门万利电子有限公司万利电子有限公司电话:025-83235502南京市新模范马路17号02幢二层(210003)传真:025-832355016-自动括号配对-智能缩排-类似网页浏览器的前向/后