第四章ADS集成开发环境的使用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

中国十大品牌IT教育机构裸机开发环境何谓“裸机”?1.裸机是指无操作系统下的ARM系统开发2.其特点是所有硬件资源均开放3.可以把它理解为一个高级单片机的开发裸机开发的作用1.更能深入地从底层去理解ARMCPU的操作过程及系统设计2.为日后自行设计系统打下基础3.为bootloader的编写打好基础编译器目标文件C/C++编译器目标文件汇编语言汇编器目标文件连接器可重定位程序定址器可执行文件中国十大品牌IT教育机构开发环境开发软件有:1.SDT(SoftwareDevelopmentToolkit)2.512.ADS(ARMDeveloperSuite)1.23.RealView®调试软件有:1.AXD(ARMeXtendedDebugger):ARM扩展调试器;2.ARMSD(ARMSymbolicDebugger):ARM符号调试器;3.ADW/ADU(ApplicationDebuggerWindows/Unix):与老版本兼容的Windows或Unix下的ARM调试工具。(相对于SDT)全称:MetrowerksCodeWarriorforARMDeveloperSuitev1.21.ADS的CodeWarriorIDE基于MetrowerksCodeWarriorIDE4.2版本2.它经过适当的裁剪以支持ADS工具链的主要组成部件有:1.命令行开发工具2.ARM运行时库3.GUI开发环境(CodeWarrior和AXD)有了这些部件,用户就可以为ARM系列的RISC处理器编写和调试自己的开发应用程序教育机构命令行开发工具完成将源代码编译,链接成可执行代码的功能1.类似于8086汇编环境下的masm和link工具命令行开发工具需要记忆较多的命令参数,但效率高;通常用集成开发环境(IDE)代替提供下面的命令行开发工具:1.Armcc:ARMC编译器2.Armcpp:ARMC++编译器3.Armasm:ARM汇编编译器:4.Armlink:ARM连接器最基本的用法为:1.armcc[options]file1file2...filen2.这里的option是编译器所需要的选项,fiel1,file2…filen是相关的文件名3.举例:armcc-cinit.sled.s中国十大品牌IT教育机构:表示只进行编译不链接文件;-C:(注意:这是大写的C)禁止预编译器将注释行移走;-Dsymbol:定义预处理宏,相当于在源程序开头使用了宏定义语句#definesymbol,-E:仅仅是对C源代码进行预处理就停止;-goptions:指定是否在生成的目标文件中包含调试信息表;-Idirectory:将directory所指的路径添加到#include的搜索路径列表中去;-ofile:指定编译器最终生成的输出文件名。-O0:不优化;-O1:这是控制代码优化的编译选项,大写字母O后面跟的数字不同,表示的优化级别就不同,-O1关闭了影响调试结果的优化功能;-O2:该优化级别提供了最大的优化功能;-S:对源程序进行预处理和编译,自动生成汇编文件而不是目标文件;-Usymbol:取消预处理宏名,相当于在源文件开头,使用语句#undefsymbol;-Woptions:关闭所有的或被选择的警告信息;有关更详细的选项说明,读者可查看ADS软件的在线帮助文件。中国十大品牌IT教育机构ARM运行时库运行时库就是Crun-timelibrary1.你的C程序运行时需要这些库中的函数2.Crun-timelibrary里面含有初始化代码,还有错误处理代码(例如dividebyzero处理)3.如果没有了Crun-time库,main()就不会被调用,exit()也不能被响应。因为Crun-timelibrary包含了C程序运行的最基本和最常用的函数教育机构库的作用当用户对汇编程序,C程序或C++程序进行链接的时候,链接器会根据在建立时所指定的选项,选择适当的C或C++运行时库的类型选项各种不同组合都有一个相应的ANSIC库类型代码:1.ANSIC库函数:2.C++库函数:库函数由以下几部分组成:1.在ISOC标准中定义的函数;2.在semihosted环境下用来实现C库函数的与目标相关的函数;3.被C和C++编译器所调用的支持函数库函数由以下几部分组成的:1.版本为2.01.01的RogueWaveStandardC++库;2.C++编译器使用的支持函数;3.RogueWave库所不支持的其他的C++函数目录下的两个子目录假设,ADS软件安装在e:\arm\adsv1_2目录,则在e:\arm\adsv1_2\lib目录下的两个子目录armlib和cpplib是ARM的库所在的路径库,浮点代数运算库,数学库等各类库函数ARMC库函数是以二进制格式提供的与这些库相应的头文件在e:\arm\adsv1_2\include目录中库和C++支持函数库RogueWaveC++库和C++支持函数库合在一起被称为ARMC++库与这些库相应的头文件安装在e:\arm\adsv1_2\include目录下中国十大品牌IT教育机构CodeWarrior集成开发环境(IDE)为管理和开发项目提供了简单多样化的图形用户界面用户可以使用ADS的CodeWarriorIDE为ARM和Thumb处理器开发用C,C++,或ARM汇编语言的程序代码全面的项目管理功能是一套完整的集成开发工具,充分发挥了ARMRISC的优势在整个开发周期中,开发人员无需离开CodeWarrior开发环境,提高了效率配置以上所介绍的各种命令工具,实现对工程代码的编译,汇编和链接C/C++编译器目标文件C/C++编译器目标文件汇编语言汇编器目标文件连接器可重定位程序定址器可执行文件的浏览器中,能够根据语法格式,使用不同的颜色显示代码;源代码浏览器1.保存了在源码中定义的所有符号,能够使用户在源码中快速方便的跳转;查找和替换功能1.用户可以在多个文件中,利用字符串通配符,进行字符串的搜索和替换;文件比较功能1.可以使用户比较路径中的不同文本文件的内容格式的文件作为输入文件,将该格式转换为各种输出格式的文件,包括plainbinary(BIN格式映像文件),Motorola32-bitS-recordformat(Motorola32位S格式映像文件),IntelHex32format(Intel32位格式映像文件),和Verilog-likehexformat(Verilog16进制文件)armar1.ARM库函数生成器将一系列ELF格式的目标文件以库函数的形式集合在一起,用户可以把一个库传递给一个链接器以代替几个ELF文件。调试器(AXD)能进行无缝地连接调用教育机构基本概念-target在CodeWarriorIDE中所涉及到的target有两种不同的语义1.目标系统(Targetsystem)①特指代码要运行的环境,是基于ARM的硬件。比如,要为ARM开发板上编写要运行在它上面的程序,这个开发板就是目标系统。2.生成目标(Buildtarget)①指用于生成特定的目标文件的选项设置(包括汇编选项,编译选项,链接选项以及链接后的处理选项)和所用的文件的集合。教育机构实例说明功能:1.循环点亮LED灯(跑马灯)实现方法:1.汇编语言加C语言混合编程目的1.学习ADS的使用2.学习ARM开发语言的编写与调试教育机构建立工程在磁盘里新建一个目录“D:\arm”打开ADS软件点击工具栏“File”,下拉点击“New…”中国十大品牌IT教育机构输入工程名称及其目录中国十大品牌IT教育机构新建工程后的目录中国十大品牌IT教育机构Init.s文件中国十大品牌IT教育机构添加文件到工程

1 / 63
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功