版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章使用CodeWarrior在前面已经介绍过ARM各开发工具的命令行格式。CodeWarriorforARM集成了这些开发工具,使其更直观,使用更方便。本章简单介绍CodeWarriorforARM的使用方法。主要介绍在CodeWarrior中工程文件的组织方法以及生成映像文件时的选项设置方法。113.1CodeWarriorforADS概述CodeWarriorforADS集成开发环境主要提供了下面一些功能。在本章中主要介绍前面的两各功能。本节介绍一些基本概念。按照工程项目的方式来组织源代码文件、库文件以及其他文件。设置各种生成选项,以生成不同配置的映像文件。一个源代码编辑器。该编辑器可以根据语言的语法格式使用不同的颜色显示代码中不同的部分。一个源代码浏览器。它保存了代码中定义的各种符号,使得用户可以在源代码中方便地跳转。在文本文件中进行字符串地搜索和替换。文本文件比较功能。用户还可以根据自己的爱好设置集成环境的特色界面。213.2简单工程项目的使用在CodeWarrior中通过工程项目来组织用户的源文件、库文件、头文件以及其他的输入文件。这些文件可以按照某种逻辑关系进行分组;一个工程项目中还可以包含其他的子工程项目。一个工程项目中至少包含一个生成目标,每个生成目标定义了一组选项,用于生成特定的目标文件。本节介绍CodeWarrior中工程项目的用法。313.2.1工程项目窗口工程项目窗口如图13.1所示。它包括Files视图、LinkOrder视图和Targets视图3种视图。413.2.1工程项目窗口1.Files视图2.LinkOrder视图3.Target视图513.2.2简单工程项目的使用本小节介绍简单的工程项目的使用方法。对于复杂的工程项目,比如包含子工程项目的工程项目,在后面介绍。1.建立一个新的工程项目2.建立一个新的源文件3.将已经存在的源文件加入到工程项目中4.将工程项目中的文件分组5.删除文件或者组6.保存工程项目7.关闭工程项目8.选择默认工程项目9.移动工程项目613.3配置生成目标一个工程项目中可以包含多个生成目标。各生成目标具有不同的生成选项,这些选项包括编译器选项、汇编器选项和连接器选项等,它们决定了CodeWarriorIDE如何处理本工程项目,以生成特定的输出文件。本节介绍在ADS中如何配置各生成选项。713.3.1DebugSettings对话框介绍在ADS中通过DebugSettings对话框来设置一个工程项目中的各生成目标的生成选项。在TargetSettings窗口中设置的各生成选项只适用于当前的生成目标。例如,当使用ADS中的可执行映像文件工程项目模板生成新的工程项目时,新工程项目中通常包括下面3个生成目标:Debug包含了所有调试信息。DebugRel包含了部分调试信息。Release不包含调试信息。813.3.2设置生成目标的基本选项生成目标基本选项用于设置当前生成目标的一些基本信息,包括生成目标的名称、所使用的连接器等。它包括下面几组选项。下面分别介绍其含义与设置方法。1.设置TargetSettings选项组2.设置AccessPaths选项组3.设置BuildExtras选项组4.设置FileMappings选项组5.设置SourceTrees选项组913.3.3汇编器选项设置打开TargetSettings对话框,在左边TargetSettingsPanels列表框中选择LanguageSettings选项,再在其下选择ARMAssembler选项,即可得到汇编器选项设置对话框,如图13.19所示。在该设置对话框中包含一个选项卡,该选项卡包括下面6个选项卡,分别是Target、ATPCS、Options、Predefines、ListingControl和Extras选项卡。1013.3.3汇编器选项设置在每个选项卡中,EquivalentCommandLine列表框中列出了当前汇编器选项设置的命令行格式。有一些汇编器选项设置没有提供图形界面,需要使用命令行格式来设置。1.Target选项卡2.ATPCS选项卡3.Options选项卡4.Predefines选项卡5.ListingControl选项卡6.Extras选项卡1113.3.4编译器的选项设置本节介绍CodeWarriorIDE中内嵌的编译器的选项设置。打开TargetSettings对话框,在左边TargetSettingsPanels列表框中选择LanguageSettings项下ARMCCompiler选项,即可得到ARMC语言编译器armcc的选项设置对话框,如图13.24所示。1213.3.4编译器的选项设置本节介绍的各编译器选项对于下面这几种编译器来说是相同的。其设置方法与ARMC语言编译器armcc是一样的。1.TargetandSource选项卡2.ATPCS选项卡3.Warnings选项卡4.Errors选项卡5.DebugandOptimization选项卡6.Preprocessor选项卡7.CodeGeneration选项卡8.Extras选项卡1313.3.5连接器的选项设置本节介绍CodeWarriorIDE中内嵌的连接器的选项设置。打开TargetSettings对话框,在左边TargetSettingsPanels列表框中选择Linker选项,再在其下选择Linker,即可得到连接器的选项设置对话框,如图13.32所示。1413.3.5连接器的选项设置在每个选项卡中,EquivalentCommandLine文本框中列出了当前连接器选项设置的命令行格式。有一些连接器选项设置没有提供图形界面,需要使用命令行格式来设置。1.Output选项卡2.Options选项卡3.Layout选项卡4.Listings选项卡5.Extras选项卡中选项设置1513.3.6fromELF工具的选项设置本节介绍CodeWarriorIDE中工具fromELF的选项设置。打开TargetSettings对话框,在左边TargetSettingsPanels列表框中选择Linker选项,再在其下选择ARMfromELF选项,如图13.39所示。1613.4复杂工程项目的使用复杂工程项目是指包括多个生成目标或包含子工程项目的工程项目。在使用复杂工程项目需要考虑下面几个问题。工程项目的结构一个工程项目中生成目标的数量包含经过充分测试的代码包含密切相关的代码对于代码的存取方式1713.4.1建立一个新的生成目标可以在工程项目窗口的Target视图建立一个新的生成目标。具体的操作步骤如下:(1)打开前面建立的工程项目示例example.mcp。(2)在工程项目窗口中选择Target视图。(3)选择Project|CreateNewTarget命令,CodeWarriorIDE弹出NewTarget对话框,如图13.40所示。(4)在Namefornewtarget文本框中输入新生成目标的名称。这里输入“semihosted”。(5)选择新的生成目标的类型(6)单击OK按钮,生成一个新的生成目标。(7)根据具体需要,设置新的生成目标。1813.4.1建立一个新的生成目标使用工程项目窗口中Files视图向生成目标中添加文件的操作步骤如下:(1) 打开前面建立的工程项目示例example.mcp。(2) 在工程项目窗口中选择Files视图,如图13.41所示。(3) 确保希望添加文件的生成目标是当前活动的生成目标。(4) Target栏,对应位置将在符号“●”和空之间切换。 1913.4.1建立一个新的生成目标使用ProjectInspector对话框向生成目标中添加文件的操作步骤如下:(1) 打开前面建立的工程项目示例example.mcp。(2) 在工程项目窗口中选择需要加入某生成目标的文件。(3) 选择Windows|ProjectInspector命令,弹出ProjectInspector对话框。(4) 打开Targets选项卡,其中显示了本工程项目中的所有生成目标,如图13.42所示。(5) 选中相应的复选框,将本文件加入到该生成目标中。(6) 单击Revert按钮放弃所作的修改;单击Save按钮保存所作的修改。2013.4.2将一个生成目标更名修改一个生成目标的名称的操作步骤如下:(1) 打开前面建立的工程项目示例example.mcp。(2) 在工程项目窗口中选择Targets视图。(3) 双击想要更名的生成目标,这里双击semihosted,CodeWarriorIDE弹出semihostedSettings对话框,如图13.43所示。(4) 在semihostedSettings对话框中选择TargetSettings面板。在TargetName文本框中输入新的生成目标名称。(5) 单击Save按钮,保存所作的修改。2113.4.3建立生成目标之间的依赖关系在CodeWarriorIDE中,工程项目生成命令Make仅处理当前活动的工程项目,CodeWarriorIDE中没有提供一个类似于BuildAll的命令来处理一个工程项目中的所有生成目标。在本小节中,建立一个没有实际意义的空生成目标dummy,然后将其他所有的生成目标加入到生成目标dummy中,这样在生成dummy时,所有的生成目标都将被处理。具体操作步骤如下:(1) 打开前面建立的工程项目示例example.mcp。(2) 建立一个新的空类型的生成目标dummy,操作步骤在13.4.1小节已经详细介绍。(3) 建立dummy生成目标对Debug生成目标的依赖关系,具体地操作步骤是在工程项目窗口的target视图中,将Debug生成目标拖放到dummy生成目标的右下方。按照同样的方法,建立dummy生成目标对DebugRel生成目标和Release生成目标的依赖关系。2213.4.3建立生成目标之间的依赖关系(4) 单击dummy生成目标左边的“+”,展开该生成目标,可以看到它所依赖的各生成目标,这些被依赖的生成目标以斜体字方式显示。(5) 当使用Make命令处理dummy生成目标时,工程项目中所有3个生成目标都将被处理,达到了BuildAll命令操作的效果。(6) 注意在本例中,各生成目标的输出文件之间并不进行连接。如图13.45所示。2313.4.4子工程项目的使用CodeWarriorIDE可以在一个工程项目中包含另外一个独立的工程项目,被包含的工程项目称为子工程项目。使用子工程项目包括下面3个步骤:将一个子工程项目加入到主工程项目的一个或者多个生成目标中。指定主工程项目被CodeWarriorIDE处理时,它所包含的子工程项目中的哪些生成目标需被处理。默认情况下,子工程项目的所有生成目标都不会被处理。指定子工程项目的那些生成目标的输出文件需要和主工程项目的输出文件进行连接。默认情况下,所有生成目标的输出文件都不需要和主工程项目的输出文件进行连接。2413.5工程项目模板工程项目模板是一些最小的工程项目,它可以作为模板用来快速、简单地生成其他具有同样特点的工程项目。工程项目模板中包含下面的信息:预先定义的生成目标的各种选项。预先定义的生成目标、子工程以及工程之间的相互依赖关系。一些特定种类的文件。当用户使用一个工程项目模板建立一个工程项目时,CodeWarriorIDE将与该工程项目模板相关的文件复制到新建的工程项目所在的目录中。用户在此基础之上建立自己的工程项目。2513.5.1ADS中工程项目模板的使用ADS中的工程项目模板默认放在路径c:\programfiles\arm\adsv1_1\stationery中。ADS中提供的工程项目模板包括:ARMExecutableImageARM可执行映像文件模板。ARMObjectLibraryARM目标文件库模板。EmptyProject空工程项目模板。MakefileImporterWizardMakefile导入向导模板。ARMThumbInterworkingImageARM/Thumb混合使用的映像文件模板。ThumbExecutableImageThumb可执行映像文件模板。ThumbObjectLibraryThumb目标文件库模板。2613.5.1ADS中工程项目模板的使用这些工程项目模板都使用以下设置:默认的目标系统设置,如ARM7TDMIlittle-endian等。编译器和汇编器使用默认的ATPCS选项。包括3个生成目标:Debug、DebugRel以及Release。1.ADS中预定义的主要工程项目模板2.ARM/Thumb混合使用的映像文件模板的使用3.将一个ARM工程项目转换成一个Thumb工程项目2713.5.2建立用户工程项目模板在CodeWarriorIDE中,作为工程项目模板的特殊的工程项目具有一下两个特点:该工程项目位于CodeWarriorIDE的工程目标模板目录中。默认情况下为c:\programfiles\ARM\ADSv1_1\stationery。该工程项目中包含的文件与该工程项目保存在一起。用户可以建立自己的工程项目模板。然后使用该工程项目模板,CodeWarriorIDE会将与该工程项目模板相关的文件复制到新建立的工程项目的路径中。2813.5.2建立用户工程项目模板建立用户自己的工程项目模板的操作步骤如下:(1)使用ADS中预定义的工程项目模板建立一个新的工程项目,或者建立一个空的工程项目。(2)选择F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年电气制造公司电气设计保密专项管理制度
- 2025年传染病防控指南知识普及试题及答案解析
- 相关方施工现场安全管理手册考试题库与答案
- 2025年马鞍山市花山区保安员招聘考试题库附答案解析
- 妊娠合并肺高压现状及相关指南解读相关试题及答案
- 2025年河北省保定市安新县保安员招聘考试试题题库附答案解析
- 业务流程标准化设计工具集
- 2025年四川省宜宾市宜宾县辅警招聘考试题库附答案解析
- 快乐农场的一天写人记事作文(6篇)
- 2025年电工(高级)资格证考试练习试题一套附答案详解
- 油烟管道清洗方案
- 危重病人的体位管理
- TCWAN0063-XXXX焊接数值模拟固有应变法
- 2024春期国开电大《应用写作(汉语)》形考任务1-6参考答案
- 第11课《以社会主义核心价值观引领文化建设》第1框《社会主义核心价值观》课件 2023-2024学年 中职高教版(2023)中国特色社会主义
- 读书交流 《呼兰河传》课件
- 学习动力的培养与保持
- 小学中学控辍保学防辍学主题班会模版成品课件
- 经纬度丛书 秦制两千年:封建帝王的权力规则
- ppt素材模板超级玛丽
- 金庸短篇小说《越女剑》中英文对照版
评论
0/150
提交评论