版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章ADS集成开发环境的运用吉林大学珠海学院文全刚教学目的掌握ADS集成开发环境的运用 :嵌入式系统开发流程Code Warrior IDE的运用AXD调试器的运用教学内容6.1 嵌入式系统开发根底6.2 ADS 1.2 集成开发环境引见6.3 程序的编辑6.4 程序的编译6.5 程序的衔接6.6 程序的调试6.1 嵌入式系统开发根底6.1.1嵌入式系统开发流程6.1.2嵌入式软件开发6.1.3 ARM Developer Suite(ADS)的安装6.1.1嵌入式系统开发流程嵌入式系统开发的根本流程为: 1 系统定义与需求分析。 2 系统设计方案的初步确立。 3 初步设计方案性价比评价与方
2、案评审论证。 4 完善初步方案、初步方案实施。 5 软硬件集成测试。 6 系统功能性能测试及可靠性测试。嵌入式系统的开发必然有其本身的许多特点:软硬件可配置、功能可 靠、本钱低、体积小、功耗低、实时性强。嵌入式系统受 功能和详细运用环境的约束,其开发流程就就不同于普通 的通用计算机系统。嵌入式系统设计是运用一组物理硬件和软件来完成所需功能的过程, 系统是指任何由硬件、软件或者两者的结合而构成的功能设备。 由于嵌入式系统是一个公用系统,所以在嵌入式产品的设计过程 中, 软件设计和硬件设计是严密结合、相互协调的。这就产生了一种 全新的设计实际软硬件协同设计。如图6-1所示。 图6-1 软硬件协同设
3、计这种方法的特点是,在设计时从系统功能的实现思索,把实现时的软 硬件同时思索进去,硬件设计包括芯片级“功能定制设计。既可最大 限制地利用有效资源,缩短开发周期,又能获得更好的设计效果。系统协同设计的整个流程从确定系统要求开场 ,包含系统要求的功 能、性能、功耗、本钱、可靠性和开发时间等。这些要求构成了由项 目开发小组和市场专家共同制定的初步阐明文档。系统设计首先确定所需的功能。复杂系统设计最常用的方法是将整个 系统划分为较简单的子系统及这些子系统的模块组合,然后以一种选 定的言语对各个对象子系统加以描画,产生设计阐明文档。其次,是把系统功能转换成组织构造,将笼统的功能描画模型转换成 组织构造模
4、型。由于针对一个系统可建立多种模型,因此应根据系统 的仿真和先前的阅历来选择模型。6.1.2嵌入式软件开发不同于通用计算机和任务站上的软件开发工程,一个嵌入式软件的开 发过程具有很多特点和不确定性。其中最重要的一点是软件跟硬件的 严密耦合特性。 由于嵌入式系统的灵敏性和多样性,这样就给软件设计人员带来了极 大地困难。 第一,在软件设计过程中过多地思索硬件,给开发和调试都带来了很多不便; 第二,假设一切的软件任务都需求在硬件平台就绪之后进展, 自然就延伸了整个的系统开发周期。为理处理这个问题,我们可以在特定的EDA工具环境下面进展开发, 经过后再进展移植到硬件平台的任务。这样既可以保证程序逻辑设
5、计 的正确性,同时使得软件开发可平行甚至超前于硬件开发进程。 我们把脱离于硬件的嵌入式软件开发阶段称之为“PC 软件的开发, 图6-2阐明了一个嵌入式系统软件的开发方式。 图6-2 嵌入式软件开发方法 在“PC 软件开发阶段,可以用软件仿真,即指令集模拟的方法,来对用 户程序进展验证。 在模拟环境下,用户可以设置ARM 处置器的型号、时钟频率等, 同时还可以配置存储器访问接口的时序参数。程序在模拟环境下运 行,不但可以进展程序的运转流程和逻辑测试,还可以统计系统运转 的时钟周期数、存储器访问周期数、处置器运转时的流水线形状有 效周期、等待周期、延续和非延续访问周期等信息。这些珍贵的信 息是在硬
6、件调试阶段都无法获得的,对于程序的性能评价非常有价 值。为了更加完好和真实地模拟一个目的系统,ARMulator 和ISS 还 提供了一个开放的API 编程环境。用户可以用规范C 来描画各种各样 的硬件模块,连同工具提供的内核模块一同,组成一个完好的“软硬 件环境。在这个环境下面开发的软件,可以更大程度地接近最终的目 标。利用这种先进的EDA 工具环境,极大地方便了程序开发人员进展 嵌入式开发的任务。当完成一个“PC 软件的开发之后,只需进展正确 的移植,一个真正的嵌入式软件就开发胜利了。 由上可知,嵌入式软件开发是基于一个交叉开发环境,其开发流 程如下:开发环境的建立、源代码编辑阶段、交叉编
7、译和链接、重定 位和下载、联机调试,如图6-3所示。图6-3嵌入式软件开发流程图6.1.3 ARM Developer Suite(ADS)的安装在安装新版本的ADS之前,要删除其它版本,从而使安装的版本更完 美地任务。下面引见ADS 1.2 的安装步骤。在ADS 1.2 安装目录下, 找到SETUP.EXE。图6-4 ADS安装步骤一 在图6-4所示的界面中,双击执行SETUP.EXE,进入安装界面。点击Browse,确定安装目录,或者按照默许目录安装。并点击Next,如图6-5所示。图6-5 ADS安装步骤二在图6-6所示的界面中选择安装类型,选Full 类型安装。并点击Next。图6-6
8、 ADS安装步骤三安装终了,如图6-7所示。图6-7 ADS安装步骤四安装License。选择要执行的动作为Install License,点击Next,如 图6-8所示。图6-8 ADS安装步骤五点击Browse,选择license.dat或license.txt所在的途径,然后翻开,如图6-9所示。图6-9 ADS安装步骤六 安装license终了,点击完成,如图6-10所示。图6-10 ADS安装步骤七 ADS 1.2 全部安装终了,点击Finished。以上是ADS 1.2 的安装 全过程。在“开场菜单中可以找到安装的程序。如图6-11所示。图6-11 ADS的启动 可以看到我们安装的
9、东西。其中,CodeWarrior for ARM Developer Suite 是代码的编译衔接开发环境;AXD Debugger 是调试的开发环境,它能配合Multi-icesever 和硬件Multi-ice 调试器,完成板级调试。下面几节将详细地引见本开发系统的运用方法。6.2 ADS 1.2 集成开发环境引见6.2.1 Code Warrior IDE 简介6.2.2 AXD调试器简介6.2.3 ADS开发系统的系统资源6.2.4系统软件开发步骤6.2 ADS 1.2 集成开发环境引见 ARM ADS全称为ARM Developer Suite。是ARM公司推出的新 一代ARM集成
10、开发工具。ADS由命令行开发工具,ARM时实库,GUI 开发环境(Code Warrior和AXD),适用程序和支持软件组成,如表6-1 所列。有了这些部件,用户就可以为ARM系列的RISC处置器编写和调 试本人的开发运用程序了。6.2.1 Code Warrior IDE 简介 CodeWarrior for ARM是一套完好的集成开发工具,充分发扬了 ARM RISC 的优势, 使产品开发人员可以很好的运用尖端的片上系统 技术。 该工具是专为基于ARM RISC的处置器而设计的, 它可加速并简 化嵌入式开发过程中的每一个环节,使得开发人员只需经过一个集成 软件开发环境就能研制出ARM产品,
11、在整个开发周期中,开发人员无 需分开CodeWarrior开发环境, 因此节省了在操作工具上花的时间,使 得开发人员有更多的精神投入到代码编写上来,Code Warrior IDE 主 窗口如图6-12所示。图6-12 ADS集成开发环境界面 ADS的CodeWarrior集成开发环境(IDE)为管理和开发工程提供了简单多样化的图形用户界面。针对ARM的配置面板为用户提供了在CodeWarrior IDE集成环境下配置各种ARM开发工具的才干。用户可以运用ADS的CodeWarrior IDE为ARM和Thumb处置器开发用C,C+或ARM汇编言语的程序代码。CodeWarrior IDE为用
12、户提供下面的功能: 源代码编辑器:它集成在CodeWarrior IDE的阅读器中,可以根据语 法格式,运用不同的颜色显示代码; 源代码阅读器:它保管了源码中定义的一切符号,可以运用户在源码 中快速方便的跳转; 查找和交换功能:用户可以在多个文件中,利用字符串通配符,进展 字符串搜索和交换; 文件比较功能:可以运用户比较途径中的不同文本文件的内容。 由于ARM调试器(AXD)没有集成在CodeWarrior IDE中,这就意 味着,用户不能在CodeWarrior IDE中进展断点调试和查看变量。在 CodeWarrior IDE for ARM中有很多的菜单或子菜单是不能运用的。 下面列出了
13、这些选项: 1 . View菜单下不能运用的菜单项选择项有: Processes,Expressions,Global Variable,Breakpoints, Registers。 2 . Project菜单不能运用的菜单项选择项: Precompile子菜单。由于ARM编译器不支持预编译的头文件。 3 . Debug菜单: 该菜单中没有一个子菜单是可以运用的。 4 . Browser菜单中不能运用的菜单项选择项: New Property,New Method和New Event Set。 5 . Help menu中不能用于ADS的菜单项选择项有: CodeWarrior Help,I
14、ndex,Search和Online Manuals。6.2.2 AXD调试器简介AXD 调试器为ARM扩展调试器即ARM eXtended Debugger,包 括ADW/ADU的一切特性,支持硬件仿真和软件仿真ARMulator。 AXD可以装载映像文件到目的内存,具有单步、全速和断点等调试功 能,可以察看变量、存放器和内存的数据等等。AXD调试器主窗口如 图6-13所示。图6-13AXD调试器界面6.2.3 ADS开发系统的系统资源1ADS系统包含的文件 ADS系统包含以下可选文件: 1系统文件 Executables类文件:系统一切可执行的二进制文件,包括编译文 件,命令行工具和GUI
15、组件; C libraries,big endian : 用于大端系统的C言语衔接库文件; C libraries,little endian : 用于小端系统的C言语衔接库文件; C+ + libraries,big endian : 用于大端系统的C+ +衔接库文件; C+ + libraries,little endian : 用于小端系统的C+ +衔接文件; Include files : 包含用户源程序的一切C和C+ +头文件; Help Files : 这些文件包括用于GUI程序的在线协助信息,能否安装 这些程序都不影响运转。 (2)其它文件 Example Files : 一组程
16、序举例,包含源代码和Code Warrior工程文 件,可以在ADS中运用; HTML documents : 适用于Rogue Wave C+库的文档,可以适用网 络阅览器阅读; Dyna Text documents : ADS的连机在线格式的文档,为适用Dyna Tex阅览器而设计; PDF-ONLY DOCUMENTS : PDF格式文件,ARM体系构造手册,适 用Adobe Acrobat阅览器; ARMulator extension kit : 扩展的ARM仿真工具包; ARM FPA sources : ARM中FPA源文件; Source : ARM运用软件库源文件; Doc
17、umentation : PDF格式ARM运用软件库文件,适用于Adobe Acrobat Reader阅览器。以上这些都是根本的ADS系统文件。 2 ADS环境中的文件类型 ADS开发环境中包含很多种文件,主要列举如下。 (1)程序员经过编辑环境建立的文件 C source file : C言语源文件,扩展名是c。这种文件是程序员 输入的C言语源文件。 C+ source file : C+言语源文件,扩展名cpp。这种文件是程 序员输入的C+言语源文件。 Assemble source file : 汇编言语源文件,扩展名是s。这种文 件是程序员输入的ARM汇编言语源文件,包 含ARM指令
18、和Thumb指令。 CodeWarrior projeket file : Code Warrior的工程工程管理文 件,扩展名是mcp。这种文件是程序员在建 立工程工程时生成的文件,包含工程工程内 的一切源文件,也包含这些源文件的调试信 息。 (2)经过编译器和衔接器生成的文件 filename.h : 头文件。 filename.o : 编译器输出的ELF格式的目的文件。 filename.lst : 编译器输出的包含错误信息的列表文件。 filename.axf : 衔接器生成的可执行的映象文件。 symdefs : 格式文件,时衔接器生成的全局符号表文件。 (3)经常运用的工具文件 a
19、rmcc : ARM C言语编译器,把C言语源程序扩展名c编译成32 位ARM代码。 tcc :ARM C言语编译器,把C言语源程序扩展名c编译成16位 Thumb代码。 armcpp :ARM C+言语编译器,把C+言语源程序扩展名cpp 编译成32位ARM代码。 tcpp :ARM C+言语编译器,把C+言语源程序扩展名cpp编 译成16位Thumb代码。 armasm : ARM汇编言语编译器 ,把ARM指令和Thumb指令的汇 编言语源文件编译成相应的代码。 armlink : ARM衔接器,把编译输出的ELF格式的目的文件以及相关 的C和C运转时库衔接在一同,生成可执行的映象文件。
20、6.2.4系统软件开发步骤利用ADS开发平台开发软件的其根本步骤如图6-14所示:图6-14 运用ADS开发软件的步骤 程序的编辑、编译和衔接是不依赖于硬件的,这些可以在CodeWarrior for ADS中实现。而ARM eXtended Debugger可以实现软件仿真环境,在进行软件仿真时可以不依赖于硬件。6.3 程序的编辑6.3.1建立工程6.3.2建立文件6.3.3添加文件到工程6.3.4文件管理6.3.5 编辑画面的设置6.3.6 ADS 编辑功能引见6.3.7屏幕分割设置6.3.1建立工程 工程将一切的源码文件组织在一同,并可以决议最终生成文件存 放的途径,输出的格式等。在Co
21、deWarrior中新建一个工程的方法有 两种,可以在工具栏中单击“New按钮,也可以在“File菜单中选择 “New菜单。这样就会翻开一个如图6-15所示的对话框。图6-15 新建工程对话框在这个对话框中为用户提供了7种可选择的工程类型。 ARM Executabl Image :由ARM指令的代码生成ELF格式的可执 行映像文件; ARM Object Library :由ARM指令的代码生成一个armar格式的目 标文件库; Empty Project :创建一个不包含任何库或源文件的工程; Makefile Importer Wizard :将Visual C的nmake或GNU ma
22、ke文件 转入到CodeWarrior IDE 工程文件; Thumb ARM Executable Image:由ARM指令和Thumb指令的混和 代码生成一个可执行的ELF格式的映像文件; Thumb Executable image :由Thumb指令创建的ELF格式的映像 文件; Thumb Object Library :由Thumb指令的代码生成armar格式的目 标文件库。 在这里选择ARM Executable Image,在“Project name:中输入工 程文件名,本例为“test,点击“Location:文本框的“Set按钮,阅读 选择想要将该工程保管的途径,将这些设
23、置好后,点击“确定,即可 建立一个新的名为test的工程。6.3.2建立文件在CodeWarrior for ADS中建立一个新的源文件的步骤如下: (1) 翻开CodeWarrior for ADS,单击菜单栏的File,翻开下拉菜 单中的New选项见图6-16在图中的3个标签中单击File标签,弹出 如图6-16所示的对话框。 (2) 然后在File标签页中建立源文件,在文件名File name对话框 中输入要建立的文件的名字,在这里命名位test.s,一定要留意文件的 扩展名。汇编言语文件的扩展名是S。 (3) 在文件途径Location对话框中输入文件的途径,这里是 D:EXAMPLE
24、。单击“确定按钮,一个汇编言语的源文件建立终了。图6-16选择File后弹出新建文件对话框 或者在CodeWarrior for ADS界面中单击Text File选项,建立一个文本文件。单击FileNew Text File 图标按钮,如图6-17所示。图6-17建立文件 在完成上述过程选择“确定按钮后,就翻开一个文件编辑器,然后在新建的文件中编写源程序。 按照汇编言语的规那么,我们输入test.s所示的一段程序。 输入这段程 序后,运用File菜单中Save As选项或面板上存储按钮,把文件存储 到C:TEST中去。至此,我们运用ADS的CodeWarrior完成了一个汇编 言语的文件。t
25、est.s文件的内容如下: addr equ 0 x80000100 AREA text,CODE,READONLY ENTRY CODE32 START LDR R0 ,=addr MOV R1,#10 MOV R2,#20 ADD R1,R1,R2 STR R1,R0 B START END6.3.3添加文件到工程 在工程窗口的File窗口空白处右击鼠标,弹出浮动菜单,选择Add Files命令即可弹出Select file to add 对话框,选择相应的源文件可 按着Ctrl键一次选择多个文件,然后单击“翻开按钮即可。如图6-18 所示。图6-18添加文件到工程方法一 在建立好一个工程
26、时,默许的target是DebugRel,还有另外两个 可用的target,分别为Realse和Debug,如图6-19,这三个target的含 义分别为: DebugRel :运用该目的,在生成目的的时候,会为每一个 源文件生成调试信息; Debug:运用该目的为每一个源文件生成最完全的调试信息; Release:运用该目的不会生成任何调试信息,目的代码的优 化等级最高。 在本例中,运用默许的DebugRel目的。如今曾经新建了一个源文件,要把这个源文件添加到工程中去。图6-19目的选项 另外,用户也可以经过在Project菜单中选择Add Files命令来添加 源文件,或运用New对话框选
27、择File标签页在建立源文件时选择参与工 程即选择Add to Project命令项。添加文件操作如图6-20所示。图6-20添加文件到工程方法二6.3.4文件管理在CodeWarrior环境下文件的翻开方法和保管方法: 1.怎样翻开一个文件 翻开一个文件有多种方法,一种方法是运用File菜单中的Open选 项,另一种方法是运用工具栏中的按钮。无论运用那种方法,都会弹 出一个图6-20所示的文件搜索对话框,提示搜索想要翻开的文件。只 要输入正确的途径和文件名,就会翻开该文件。还有一种方法就是打 开曾经运用过的文件,运用File菜单中的Open Recent选项。 2 . 怎样翻开一个工程工程
28、假设仅仅是为了编辑一个源文件,那么,运用上述翻开文件的方 法翻开源文件后,就可以输入程序,进展文件的编辑了。 假设还要对源文件进展编译操作,那么这样还不够,还要翻开包 含这个文件的工程工程,才可以实现对原文件的编译操作。由于编译 后的目的文件、列表文件等要存储在工程工程文件夹中。 翻开一个工程工程的方法和上述翻开一个文件的方法一样,但打 开工程工程是翻开工程工程文件夹的同名字的文件,扩展名是mcp。 例如,我们以上建立的工程工程称号是test,翻开该工程工程就是打 开test文件夹下的test. mcp文件。同样,要翻开一个曾经运用过的工 程工程,可以运用File菜单中的Open Recent
29、选项。 3 . 怎样保管文件和工程工程 保管文件或保管工程工程有两种方法: 一种方法是运用“文件菜单中的Save(或者Save As,Save All等) 选项; 另一种是运用工具栏中按钮。6.3.5 编辑画面的设置 ADS提供一些设置选项来设置编辑画面,软件工程师可以经过这 些选项设置出具有个性的编辑画面,这些选项位于Edit下拉菜单中的 Preference菜单栏。 下面引见这些选项的用法。翻开Edit下拉菜单中的Preference菜 单栏,这组选项集中在Editor子菜单中。 1 . Editor Settings选项卡 翻开Editor Settings选项卡,如图6-21所示。 图
30、6-21 Edior Settings选项卡第1部分是设置Remember保管选项。 Font preferences:选择这个选项,系统会为每个文件保管程序员输 入时选定的字体信息;假设不选择该选项,一切的 文件都默许由CodeWarrior IDE设置的字体。 Window position and size:选择这个选项,系统会自动保管程序编辑 窗口在封锁时的位置和尺寸,以便在下次翻开编辑 窗口时与这次完全一样;假设不选择该选项,每次 翻开的编辑窗口都时CodeWarrior IDE默许的位置 和尺寸。 Selection position:该选项决议文件翻开时程序在编辑窗口中的位 置。
31、假设不选择该选项,那么文件翻开时程序的第1 行位于编辑窗口的第1行;假设选择该选项,那么文 件翻开时程序在编辑窗口中的位置与封锁该文件时 一样。第2部分是设置级联Contextual菜单。 在ADS的很多窗口中,都有一个级联菜单。在编辑器窗口中右 击,也会翻开一个级联菜单。在这个级联菜单中,所包含的操作命令 由以下选项设置。 Edit Command:选择该选项,在编辑器窗口级联菜单中将包含常 用的编辑命令。在编辑窗口中右击,系统将弹出 这个级联菜单。在这个菜单中,上层是常用的编 辑命令,中间是工程操作命令。 Project Command:选择该选项,在编辑器窗口的级联菜单中将包 含常用的工
32、程操作命令:Compile、Proprocess 和Disassemble;不选择该选项,那么不会包含这 些命令。 VCS Commad:选择该选项,在编辑器窗口的级联菜单中将包含 常用的版本控制命令;不选择该选项,那么不会包 含这些命令。 Browser Comnands:选择该选项,在编辑器窗口的级联菜单中增 加一条阅读器命令,比如用C言语编程时,右击 main( ),所弹出的级联菜单中有一行是“go to function definition of main。 Insert Template Commands:在ADS中,Debug功能是不运用的, 因此,本选项无效。第3部分是其它一些
33、设置。 Balance while typing:这个选项要求CodeWarrior IDE检测圆括号、 方括号和大括弧匹配性。 Use mutiple undo:在编辑菜单中,有一个Undo Typing功能和一个 Redo Typing功能。 Relaxed C popup parsing:假设在源代码中运用K&R风格的代码转 换,就应该选择该选项。 Drag and drop editing:在ADS中,编辑屏幕可以分割成多个编辑窗 口,假设选择该选项,可以在不同的编辑窗 口之间拖拽选中的程序片段,实现程序拷贝 功能;假设不选择该选项,那么没有这个功能。 Left margin clic
34、k selects line:这个选项是左边沿编辑功能选项。 Sort function popup:函数分类选项。 Enable Virtual Space:不选择该选项时,在编辑程序过程中,右移键 移到程序行结尾时,会自动跳出下一行的开 始;选择该选项时,当右移键移到程序行结 尾时,可继续右移,系统自动在程序行后填充 空格。也就是,选择该选项,可以在源程序行 后面恣意位置进展插入操作。 Balance Flash Delay:在上面Balance while typing选项中所运用的时 间延时,单位是1/60 s。 Default file format:系统默许的文本文件格式。在这个下
35、拉菜单中, 有3个选项,分别是DOS、UNIX和Macintosh, CodeWarrior IDE会按照所选择的格式存储编辑 的文件。 2 . Font&Tabs选项卡 翻开Font&Tab选项卡,弹出如图6-22所示的对话窗口。图6-22 Font&Tabs选项卡 这个选项卡是关于字体和制表键的选项卡。这些选项是运用于一 个文件,还是用于一切文件,取决于Editor Settings选项卡中Font preferences的选项。第1部分是编辑程序运用的字体选项: Font:该选项是字体选项。在下拉菜单中,有三十多项西文选项和 十几项常见的中文选项中文选项取决于计算机中的中文字 体。 Si
36、ze:该选项用于决议输入字符的尺寸。在下拉菜单中,有224种 可选项。 Script:该栏不是可选项,当Font栏选择西文时,该栏显示“西方语 言 ;当Font栏选择中文时,该栏显示“CHINESEGB2312 。 Sample:样本显示栏。显示所选中的字体的样本。第2部分是关于Tab(制表键)的选项 Tab:在这个栏输入一个表达空格数量的数值,这个空格数就是Tab 键跳过的空格数。 Tab indents selection:Tab行缩进选项。选择该选项,按Tab键时, 选中的行会右移Tab规定的空格数;不选择该选项,按Tab键 时,选中的行会被Tab字符普通是空格交换掉。留意,以 上选中的
37、行一定是整行,而不是一行中的一部分,不仅仅是程 序中的字符,也包括字符后面的空格。也可以选中多行。 Auto Indent:编辑行自动缩进选项。选择该选项,按回车键开场下 一行时,光标在新一行的开场处自动与上一行对齐;不选择该 选项,按回车键后光标顶格开场新一行。 Tab Insert Spaces:选择该选项时,按Tab键时插入的是空格字符, 而不是制表字符。3 . Text Colors选项卡 这个选项卡是关于文本颜色设置的选项卡。翻开Text Colors选 项卡,弹出如图6-23所示的对话窗口。图6-23 Text Colors选项卡各项颜色设置阐明如下: (1)文本颜色选项有两项。
38、Foreground:该选项指定的颜色用于文本中除以下各选项规定的 字符外的一切其他字符。 Background:该选项指定编辑画面的背景颜色。 (2)以下是把文本中的字符按语法分类配置颜色的选项,在改动这些选 项前,必需选择Activate Syntax Coloring选项栏。 Comments:文本注释颜色选项。 Keywords:关键字颜色选项。只适用于C和C+言语,不包括 宏、变量等。 Strings:字符串颜色选项。不包括注释、关键字以及自定义的关 键字,包括变量名、途径名和类型名。 (3) Set1Set 4:用于设置自定义的关键字的颜色。这4个选项可以 设置4种自定义的关键字的
39、颜色,这些设置对 CodeWarrior IDE一切文件发生作用。(4) 以下是阅读器颜色选项,在改动这些选项之前,一定要先选择 Activate Browser Coloring选项栏。 Classes:类别颜色选项。 Functions:函数颜色选项。 Temlates:模版颜色选项。 Constants:常量颜色选项。 Globals:全局变量颜色选项。 Enums:枚举颜色选项。 Macros:宏颜色选项。 Other:其它颜色选项。6.3.6 ADS 编辑功能引见 当运用ADS输入程序时,除以上引见的选项会带来很多方便外, 还有一些编辑功能可以供我们运用,特别是在运用C或C言语时,
40、ADS所提供的编辑功能和C或C其它编辑工具所提供的功能相近。 图6-24是ADS编辑器画面。图6-24编辑器画面 图中编辑窗口path中显示了文件名,第2行是工具栏,工具栏是 可以隐藏的,隐藏和显示是经过编辑屏幕右上角的工具栏控制按钮 实 现的。在工具栏曾经被隐藏时,单击这个按钮可以显示工具栏;在显 示工具栏的情况下,单击这个按钮可以隐藏工具栏。编辑器的一些功能: 1头文件下拉菜单 单击图标,会弹出一个头文件下拉菜单。在这个下拉菜单中,包 含当前文件涉及的一切文件。只需单击头文件名就可以翻开所选中的 头文件,这样修正头文件就比较方便。 2函数下拉菜单 单击图标,会弹出一个函数下拉菜单。在这个下
41、拉菜单中,包 含当前文件一切的函数。 3标签下拉菜单 单击图标,会弹出一个标签下拉菜单。在这个下拉菜单中,包含 当前文件中一切的标签。标签陈列的顺序与源文件中的先后顺序一致。 4文档设置下拉菜单 单击图标,会弹出一个文档设置下拉菜单。这个菜单中可以翻开或 封锁当前编辑画面的颜色,封锁颜色会使画面变成单色,翻开颜色会使 画面变成由菜单EditEditorText Colors所设置的颜色。 5. 版本控制下拉菜单 单击图标,会弹出一个版本控制下拉菜单VCS(Version Control System)。这个下拉菜单提供当前文件的操作记录,可以协助维护源程 序的数据库。也可以运用这个下拉菜单从源
42、文件中拷贝程序,检查修正 的文件。 6. 文件修正标志 文件修正标志包括和,这两个标志在编辑屏幕的右上角。假设当 前程序从上一次存储以来没有修正正,那么显示标志;假设程序被修正 过,那么显示,程序存储后又重新显示标志。6.3.7屏幕分割设置ADS编辑窗口可以实现以下设置: 翻开多个文件,每个文件又一个独立的编辑窗口,但只能编辑 最后翻开或激活的当前文件; 为一个文件设置多个窗口。下面引见怎样为一个文件设置多个 窗口。图6-25是一个ADS编辑窗口,在这个窗口的右上角和左上角分别又一 个屏幕分割控制条。把右上角的分割控制条用鼠标向下拉,可以分割 成上下两个屏幕;把左下角的分割控制条用鼠标向右拉,
43、可以左右分 割成两个屏幕。这样就可以实现分割屏幕的要求。屏幕是可以分割成很多小屏幕的,在一切的屏幕中,都是同一个源文件。 这些不同屏幕内的程序是同步操作的。也就是说,对其中一个屏 幕的修正、选中、粘贴和删除等操作,在其它屏幕内也有一样的修 改、选中、粘贴和删除等效果。图6-25屏幕的分割6.4程序的编译6.4.1命令行开发工具6.4.2图形界面的ARM汇编工具6.4.3 ARM C编译器6.4.4图形界面编译器的运用6.4.5编译衔接工程6.4.1命令行开发工具ADS系统提供了两种方式实现程序的编译和衔接: 一种是命令行方式,它是在DOS环境下实现的编译和衔接。 另一种方式是图形用户界面,就是
44、上面引见的CodeWarrior IDE界面; 两种方式所利用的都是同一ADS系统资源,实现的功能也是一样的。ADS提供下面的命令行开发工具: 1armcc armcc是ARM C编译器。 这个编译器经过了Plum Hall C Validation Suite为ANSI C的一致性 测试。armcc用于将用ANSI C编写的程序编译成32位ARM指令代码。 2armcpp armcpp是ARM C+编译器。它将ISO C+ 或EC+ 编译成32位 ARM指令代码。 3tcc tcc是Thumb C 编译器。 该编译器经过了Plum Hall C Validation Suite为ANSI 一
45、致性的测试。 tcc将ANSI C源代码编译成16位的Thumb指令代码。 4tcpp tcpp是Thumb C+ 编译器。 它将ISO C+ 和EC+ 源码编译成16 位Thumb指令代码。 5armasm armasm是ARM和Thumb的汇编器. 它对ARM 汇编言语和Thumb 汇编言语源代码进展汇编。 6armlink armlink是ARM衔接器。该命令既可以将编译得到的一个或多个目的 文件和相关的一个或多个库文件进展链接,生成一个可执行文件,也 可以将多个目的文件部分链接成一个目的文件,以供进一步的链接。 ARM链接器生成的是ELF格式的可执行映像文件。 7armsd armsd
46、是ARM 和Thumb的符号调试器。它可以进展源码级的程序 调试。用户可以在用C或汇编言语写的代码中进展单步伐试,设置断 点,查看变量值和内存单元的内容。6.4.2图形界面的ARM汇编工具 在进展编译和链接前,首先引见一下与生成目的有关的配置。点 击Edit菜单,选择“DebugRel Settings(留意,这个选项会因用户选 择的不同目的而有所不同),出现如图6-26所示的对话框。 图6-26 DebugRel设置对话框这个对话框中的设置很多,在这里只引见一些最为常用的设置选项 : 1Target Setting设置选项 Target Setting设置选项包括如下选项: (1)Targe
47、t Name:Target Name文本框显示了当前的目的设置。 (2)Linker:Linker选项供用户选择要运用的衔接器。 3Pre-linker:目前CodeWarrior IDE不支持该选项。 4Post-Linker:选择在衔接完成后,还要对输出文件进展的操作。 2ARM Assembler设置 选中Language Settings,该设置选项包括如下选项: ARM Assembler ARM C Compiler ARM C+ Compiler Thumb C Compiler Thumb C+ Compiler 重点引见ARM Assembler和ARM C Compiler
48、两个选项的设置,ARM Assembler包括如图6-27中所示的选项卡:图6-27 Assembler设置(1)Target选项卡 如图6-28所示,Target选项卡中包括以下选项。图6-28 Target选项卡Initial State:指令代码类型选项。 Byte Order:大端小端选项卡,只能选其中之一。Architecture or Processor:用于设置目的CPU类型,ARM不同系列的 产品其体系构造和版本不同,假设程序的指令版本和目的 CPU不符,会给出错误或者报警。Floating Point:用于选择浮点运算单元 (fpu:floating-point-unit)的
49、体系 构造选项。 2ATPCS选项卡如图6-29所示,ATPCS选项卡包括以下选项。 图6-29 ATPCS选项卡Calling Standard:选中ATPCS那么表示设置ATPCS选项, ATPCS ARM and Thumb Procedure Call Standard是ARM 和Thumb指令程序相互调用的规范。 ATPCS:该标签下有三个选项 ARM/Thumb interwork:该选项支持ARM指令和Thumb指令混合使 用,选择该选项,汇编器在汇编源程序时,对 于两种指令的子程序调用可以生成一段代码 veneers,支持子程序调用时的形状切换。 Read-only posit
50、ion independent: 选中该选项表示指定源程序被汇编 为只读的和位置无关的代码或数据。 Read-write only independent:选中该选项表示指定源程序被汇编为 读/写的和位置无关的代码或数据。系统默许 为不选中。 Software stack:选择On表示对源程序汇编时,会进展软件数据栈限 制检查。 Predeclared Register Names-noregs:不预定存放器称号选项。 (3)Options选项卡如图6-30所示,Options选项卡包括以下选项。 图6-30 Options选项卡Checkreglist: 存放器列表顺序核对选项。Nowarn
51、: 报警信息选项。选择该选项时,汇编时不生成报警信息。Source Line Debug: 选中该选项,编译时生成DWARF2格式的调试 信息表。此项是默许选项。 Keep Symbols:选中该选项,汇编时会把部分标号保管在目的文件 的符号表中,供调试运用。Ignore C-style escape characters: 选中该选项,对源文件汇编时, 忽略C风格的换码字符,如n和t等。 Fault long running Load and Store Multiples: 选择该选项,在对源程 序汇编时,为了防止多存放器传输引起中断延时,将检查指令LDM 和STM的存放器列表,要求存放器
52、列表符合以下条件: 对于一切的STM指令,存放器列表不得超越5个;对于一切 的LDM指令,存放器列表不得超越5个且不得包含PC。假设LDM 指令包含PC,那么存放器列表不得超越4个。 (4)Predefines选项卡 如图6-31所示,Predefines选项卡包括以下选项。 图6-31 Predefines选项卡predefines: 定义全局变量选项。这个选项可以在汇编源程序时定义全 局变量。 (5)Listing Control选项卡 如图6-32所示,Listing Control选项卡包括以下选项。 图6-32 Listing Control选项卡Miscellaneous标签包括:
53、 Listing on:列表文件选项,选择该选项,汇编时会生成一个详细的 列表文件。假设没有给出文件名,汇编器会给出和源文 件同名字的列表文件,扩展名是LST。 Terse:精简列表文件选项。汇编器在编译源程序时,有些条件语句 因条件不满足而不需求执行例如IF条件后面的语句,这 些语句不被编译成目的代码。假设选择该选项,那么这些语句 不包含在列表文件之中。假设不选择这一项,那么这些语句包 含在列表文件之中。 Dimensions标签包括: 列表文件宽度选项。系统默许79个字符宽 度。 列表文件长度选项。系统默许66行长度。 (6)Extras选项卡 如图6-33所示,Extras选项卡包括以下
54、选项。 图6-33 Extras选项卡via file: 运用via格式文件选项。 在做软件设计时,普通运用CodeWarrior IDE图形方式而不用命令 行方式,起码在学习和运用的初级阶段是这样。上面曾经举例说过汇编器的运用,这里再做进一步阐明。1运用时应该留意的几个方面 普通运用汇编器应该留意以下以点: (1) 在同一个工程工程内可以有多种言语文件,除了汇编言语文件外, 还可以包含C和C+言语文件。在对汇编言语文件进展汇编时,使 用的是汇编器;在对其它言语文件编译时,会用到其它编译器,如 果不对这些编译器进展设置,那么它们会以默许的选项对文件进展编译。 (2) 在一个包含多个文件的工程工
55、程内,当对选中的文件进展编译操作 Compile时,与工程工程内其它文件不发生关联。 (3) 在对文件进展编译时,应该运用Project下拉菜单中的Compile功能。 这个功能可以查找源程序中的错误并提出警告,可以生成列表文件 和生成目的文件。 (4) 在很多情况下,出现错误能够是由于设置不正确引起的,因此,要 正确设置各种选项。各选项都可以恢复到默许形状。汇编器的运用 运用图形方式汇编一个工程工程,普通应遵照下面的顺序: (1) 翻开CodeWarrior IDE图形窗口,然后翻开工程工程和所要编译 的文件; (2) 翻开Edit下拉菜单,单击Debugrel Setings,翻开目的选项
56、面板 Target Settings Panels; (3)单击ARM Assembler,翻开ARM汇编选项窗口; (4)根据以上对选项的引见,对一切选项进展设置,然后从Apply退 出; (5)选中要汇编或编译的文件,运用Project菜单中的Compile功能, 实现汇编或编译; (6)窗口中给出错误信息列表。 根据错误信息的提示,对源文件进展修正。汇编器给出的错误信息或报警信息 汇编器在汇编时,会给出错误信息或报警信息。报警信息不影 响程序的衔接和调试,报警是一种不能确定的问题,能够是一种错 误,也能够不是一种错误。 在对源程序进展汇编时,汇编器会查找源程序的错误。这个查 找过程是经过
57、对源程序多遍扫描来完成的,原那么是先查找简单的错 误,然后查找复杂的错误;先查找语法或符号的错误,然后查找逻 辑错误。很多情况下,错误不是一次可以查清的,因此,源程序要 经过多次修正才干消除一切错误。6.4.3 ARM C编译器ARM C编译器包括如下选项卡: 1Target and Source选项卡 如图6-34所示,Target and Source选项卡包括以下选项。图6-34 ARM C编译器Architetore or Processor :目的处置器型号和体系构造选项。下拉菜 单给出了一切的可选项。Floating Point:用于选择浮点运算单元 (fpu:floating-p
58、oint-unit)的体 系构造选项。 Source-language:言语类别选项。指定了编译器可以接受的源程序 的言语种类,对于编译器,默许的言语是ANSI C; 对于C+编译器,默许的言语是ISO/IEC C+。Byte Order:littleendian 该选项指定编译器为ARM处置器生成小端 格式的代码。这种代码格式是把低位字节存放到低地址 单元。 2ATPCS选项卡 如图6-35所示,ATPCS选项卡包括以下选项。 图6-35 ATPCS选项卡ARM/Thumb interwork:该选项支持ARM指令和Thumb指令混合运用, 选择该选项,汇编器在汇编源程序时,对于两种指令的子
59、 程序调用可以生成一段代码veneers,支持子程序调用时 的形状切换。Software stack check:软件数据栈检查类型的ATPCS选项。Read-only position independent: 选中该选项表示指定源程序被汇编 为只读的和位置无关的代码或数据。 Read-write only independent:选中该选项表示指定源程序被汇编为 读/写的和位置无关的代码或数据。系统默以为不选中。 3Warnings选项卡 如图6-36所示,Warnings选项卡包括以下选项。图6-36 Warnings选项卡Warn for all conditions:选择该选项时,编
60、译器翻开一切的报警信息,包 括系统默许封锁的报警信息,特别指定的除外。 (1) Assignment in condition:这个选项封锁C2961W报警信息 “C2961W Use of the assignment operator in a condition context。 (2)ANSI C extension: 这个选项封锁由于扩展ANSI C而产生的报警信息。 (3)Header file not guarded: 这个选项封锁报警信息“C2819W: Heager file not guarded against multiple inclusion。 (4)Unused
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 户外探索课程设计意图
- 迈达斯悬臂法课程设计
- 运筹学课课程设计搭配
- 转向臂课程设计夹具CATIA图纸
- 机械修理工操作规程(3篇)
- 船舶和海洋工程课程设计
- 2025版股权投资与退出机制协议书3篇
- 自动装箱机课程设计
- 2025年度线下书店连锁加盟合同协议3篇
- 2025年度济南城市更新项目合作协议3篇
- 新版中国食物成分表
- 浙江省温州市温州中学2025届数学高二上期末综合测试试题含解析
- 2024河南郑州市金水区事业单位招聘45人历年高频难、易错点500题模拟试题附带答案详解
- 食物损失和浪费控制程序
- TCI 373-2024 中老年人免散瞳眼底疾病筛查规范
- 2024四川太阳能辐射量数据
- 石油钻采专用设备制造考核试卷
- 法人变更股权转让协议书(2024版)
- 研究生中期考核汇报模板幻灯片
- 培训机构与学校合作协议书范本
- 留置导尿法操作评分标准
评论
0/150
提交评论