1、 目录结构目录结构根目录:在安装过程中创建的默认根目录为:x:Program FilesIAR SystemsEmbedded Workbench 6.n,x是指Microsoft Windows 的安装目录,而6.n是嵌入式IAR Embedded Workbench IDE的版本号。目录结构目录结构armbin目录:armbin子目录包含特殊arm插件的可执行文件,比如IAR C/C+编译器,IAR 汇编器和IAR C-SPY驱动。注:C-SPY是用于嵌入式应用的高级语言调试器,它配合IAR系统编译器和汇编器使用,完全集成与IDE中,提供开发和调试功能。目录结构目录结构armconfig目
2、录:目录包含用于配置开发环境和工程的文件,比如:连接器命令模板文件(*.xcl)特殊函数注册描述文件(*.sfr)C-SPY 设备描述文件(*.ddf)语法着色配置文件(*.cfg)应用工程和库工程文件的模板文件(*.ewp)以及它们相应的库配置文件。目录结构目录结构armdoc目录:armdoc目录包含最新信息的帮助文档。armdrivers:该目录包含各种调试工具的驱动。armexamples:各种型号单片机的例程。目录结构目录结构arminc目录:arminc子目录包含内部文件,比如标准C或C库的头文件。同样,还有定义特定功能寄存器的特殊头文件,而这些文件主要由编译器和汇编器来使用。ar
3、m lib目录:arm lib子目录包含编译器使用的预先创建的库以及相应的库配置文件。目录结构目录结构armsrc目录:armsrc 子目录包含一些可配置库功能的源文件以及一些应用程序代码示例。此外还包含库的源代码。armtutor 目录:armtutor 子目录包含本文档中的教程的相应文件。目录结构目录结构Commonbin 目录:Commonbin 子目录包含所有嵌入式IAR Embedded Workbench 产品共享插件的可执行文件,例如IAR XLINK Linker,IAR XLIB Librarian,IAR XAR Library Builder以及编辑器和图形用户接口插件。
4、IAR Embedded Workbench的可执行文件也放置在这里。目录结构目录结构Commonconfig 目录:Commonconfig 子目录包含嵌入式IAR Embedded Workbench在开发环境中所保持的设置。Commondoc 目录:Commondoc 子目录包含了所有嵌入式IAR Embedded Workbench产品的共享插件的最新信息的帮助文档,例如连接器和库工具。我们建议用户先读一下这些文档。这个目录还包括“IAR连接器和库工具参考手册”的PDF在线版文档。目录结构目录结构Commonplugin目录:Commonplugin子目录包含可作为载入式插件模块的插件
5、的执行文件与描述文件。IAR 开发环境界面开发环境界面打开 IAR 软件后,首先会进入 IAR 开发环境的主界面。IAR 主界面由菜单栏、工具WorkSpace、编程界面和结果显示窗口(Message)组成,如图:File选选项项“New”可以新建空白文件和工作(WorkSpace);“Open”可以打开文件和工作空(WorkSpace);“Save Workspace”和“Close Workspace Close Workspace”分别对应保存工作空间和关闭工作空间;“Recent Files”用于快速打开最近使过的源文件;“Recent Files Files”用于快速打开最近使过的工
6、作空间。Edit 选选项项在 Edit 选项中,包括了最常用的复制、粘贴重置和查找等通编辑类选项,同时也包括了一些 IAR 开发环境的特殊编辑功能。Find and Replace 查找和替换功能:查找和替换是我们在编程中使用最频繁的功能。如果定义的变量在多个文件中使用,但是此时并不清楚这些变量的具体位置时,我们可以用全局搜索功能,将变量位置在Message中列出来,这样可以快速找到变量。具体步骤为:具体步骤为:“Find and Replace”“Find in Files”在其中输入要查找的变量名 或者字符串,然后点击“Find”即可。快捷键“Ctrl+Shift+F”。Navigate导
7、航功能导航功能在导航功能中可以通过“GO to”功能直接跳转到当前源文件中的某一行的某一个字符的位置;还可以设置标签“Toggle BookMark”,然后通过“Go to BookMark”跳转到标签的位置。在这其中最常用的功能要属“Go to Definition”的具体含义是 跳转到实际定义的位置,该功能可以在程序中快速跳转到变量或者函数定义的位置,便于查看变量或者函数的组成。快捷键“F12”Code Templates代码模板代码模板利用代码模板功能,我们可以在程序中插入 利用代码模板功能,我们可以在程序中插入 if、for 和 Class 等常用的代码模板。快捷 等常用的代码模板。快
8、捷键“Ctrl+Shift+Space”。View选项选项在 View 选项中包括“Messages”、“Workspace”、“Source Brower”、“Breakpoints”、“Toorbars”和“Status Bar”。View 中的这些选项主要用于在 IAR 主界面上开启与述功 能对应的窗口。如果我们不小心把这些给关闭了,可以在 View 选项中重新打开已关闭的窗口,它们会在 IAR 主界面重新显示。Messages选项选项在“Messages”中分为“Build”、“Find in Files”、“Tool Output”。如图 其中在“其中在“Build”窗口中显示编译的
9、信息;在“Find in Files”窗口中显示执行“Find and Replace and Replace”查找后的信息;在“Tool OutPut”中显示工具输出信息Source Browers 选选项项“Source Browers”用于显示工程中所有声明的结构体、共用体,如果使C+的话还可以显示所有声明的类(class)。添加该功能后 Source Browers 会与 Workspace 并列出现。Breakpoints断断点窗口点窗口“Breakpoints”用于显示当前所设置断点的信息。添加该功能后会在 Message 中增加 一个“Breakpoints”窗口,我们可以在其中
10、查看断点信息。ToolBars”工具栏开启选项工具栏开启选项在“ToolBars”中包括“main”和“debug”两个选项,用于择开启还是关闭 IAR 主 界面中的工具栏。StatusBars状态栏开启选项状态栏开启选项把“StatusBars”选项前面的“对钩去掉,状态栏就隐藏了。相反打上栏就重新出现。状态在 IAR 主界面最下方。Project选选项项“Project”选项是是 IAR 开发环境中的核心。我们可以通过使用“add file”向 Workspace 的工程目录中添加新文件;使用“add group”向 Workspace 的工程目录中添加新分组;使用“Edit config
11、uration”编辑配置。一个 IAR Workspace可以包含多个工程,利用“Project”中的“Create New Project”我们一新建一个IAR的工程。“Add Existing Project”可以将现有的 IAR 工程添加到 Workspace 中,IAR 工程文件的扩展名为(.ewp)Options 选项是“Project”中的重要选项。首先中工作空间下的程名,然后右键就会出现“Options”。在 Options 选项中重点介绍以下部分,其他设置为默认即可。选择设备类型 GeneralOptions”“Target”;添加头文件路径C/C+Complir”“Prepr
12、ocessor”;生成二进制文件“Output Convert”;配置链接文“Linker”“Config”;选择下载器类型“Debugger”。编辑工程编辑工程Make 对当前的工程进行编译,并且在Message 中显示工程的编译结果。Compile 对单独的源文件进行编译,在对单独的源文件进行编译,在 Message 中显示单独源文件的编译结果,Rebuilt All 重新对工程进行编译;Clean 清除当前工程的编译状态;Batch build 批量编译。Tools选项选项在“Tools”选项中,重点介绍“Option”选项,该是对 IAR 开发环境的字体、开发环境的字体、快捷键、语言等
13、环境变量进行设置。打开“Option”选项,会出现 IDE Options 窗口。Common Fonts中的 Fixed Width 用于配置编程界面中的字体参数;Proportional Width Font用于配置 Workspace 中的字体参数。Key Bindings 快捷键绑定。Language 设置 IAR 的语言,有英和日。Editor 中:可以设置 Tab 键的空格距离“Tab size”和缩进距离“Indent size”;可以设置句法的高亮显示“Syntax highlighting”可以设置自动缩进“Auto indent”;可以设置显示程序行号“Show line
14、numbers”;可以设置扫描文件改变“Scan for changed files”;可以设置显示书签“Show bookmarks”;可以使能虚拟空间“Enble virtual space”;可以移除尾随空白“Remove trailing blanks”展开 Editor 你会看到更多子类,中常用的是 Colors and Fonts Colors and Fonts,在其中可以设置编辑字体和特殊符的颜色,比如在程序所使用其中可以设置编辑字体和特殊符的颜色,比如在程序所使用C语言的关键字就是在这里。创建工程创建工程生成新的工作区(Workspace):选择主菜单 File New Wo
15、rkspace 生成新工作区。生成新项目:选择主菜单 Project Create New Project,弹出生成新项目窗口,见下图。本例选择项目模板(Project template)中的Empty project。在Tool chain 栏中选择ARM,然后点击OK 按钮。在弹出的另存为窗口中浏览和选择新建的My projects 目录,输入文件名project1,然后保存。这时在屏幕左边的Workspace 窗口中将显示新建的项目名。见下图所示:IAR EWARM 提供两种缺省的项目生成配置,即Debug 和Release。本例在Workspace 窗口顶部的下拉菜单中选取Debug。
16、现在My projects 目录下已生成一个project1.ewp 文件。该文件中包含与project1 项目设置有关的信息,如build 选件等。项目名后缀上的号表示该工作区有改变但还没有被保存。保存工作区:先选择主菜单 File Save Workspace,浏览并选择My projects 目录。然将工作区取名为tutorials输进File name 输入框,按保存按钮退出。这时在My projects 目录下将生成一个tutorials.eww文件,该文件中保存了用户添加到tutorials 工作区中的所有项目。窗口和断点放置等与当前操作有关的其他信息则被存储在My project
17、s settings 目录下的文件中。选择主菜单 Project Add Files 打开标准浏览窗口,见下图。选择安装目录ARMtutor 下的上述2个文件,点击打开按钮,把它们添加到Project1 目录下。选择通用选件选中Workspace 中的project1 Debug,然后选择主菜单Project Options。也可以先选择project1 Debug,然后选择鼠标右键命令中的Options。在打开的Options 窗口左边的Category 中选择General Options。然后分别在:-Target 页面/Core 条目下选择ARM7TDMI-S-Output 页面中,O
18、utput file 条目下选择Executable-Library Configuration 页面中,Library 条目下选择Normal选择编译器选件:在Options 窗口的Category 中选择C/C+Compiler,见下图。-Language 页面中,选择C,Allow IAR extensions 等-Optimizations 页面中,选择LOW-Output 页面中,选择Generate debug information-List 页面中,选择Output list file。并选择Assembler mnemonics 和Diagnostics-点击OK 按钮,确认
19、选择的选件编译源文件 选中workspace 中utilities.c 文件。选择主菜单Project Compile,或工具条中的Compile 按钮,或按右键后选择Compile 命令。编译结束后在消息窗口中出现如下图中的信息。然后用同样的方法编译tutor.c。编译完成后在My projects 目录下将生成一批新子目录。因为我们在建立新项目时选择Debug 配置,所以在My projects 目录下自动生成一个Debug 子目录。Debug 子目录下又包含另3 个子目录,名字分别为List、Obj、Exe。它们的用途如下:List 目录存下放列表文件,列表文件的后缀是lst;Obj 目
20、录下存放Compiler 和Assembler 生成的目标文件,这些文件的后缀为.O和.PBI,可以用作IAR XLINK 连接器的输入文件 Exe 目录下存放二进制文件,我们一般用的后缀为HEX或BIN,可以用作下载到单片机的文件。注意在执行连接处理之前这几个目录是空的。点击project1 Debug 前面的+号将目录展开。你可以从自动生成的Output 目录中看到所有生成的输出文件名以及反映相互依赖关系的的头文件名。list 文件的结构打开Utilities.lst,打开list 文件,它包含以下信息:文件头 显示编译器的版本信息,列表文件生成时间,source 文件、list 文件和object 文件的名字和路径,编译命令行及选件等信息。文件体 显示为每条源语句生成的汇编代码和二进制代码,以及变量如何被分配到不同的段。文件尾 显示所需的堆栈、程序代码以及数据存储器的总量,同时报告错误和警告信息。