北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校1ARMADS开发工具链欢迎您到亚嵌(AKAE)来学习!课程编号:3105北京亚嵌教育研究中心©2007AKAE北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校2◆编译器(armasm/armcc)◆链接器(armlink)◆实用工具辅助开发(fromelf/armar)◆集成开发环境(CodeWarriorIDE)◆调试器(ARMeXtendedDebugger)◆模拟器(ARMulator)ADS高级开发北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校3armcc[options]file1file2...Filen-c:表示只进行编译不链接文件;-goptions:指定是否在生成的目标文件中包含调试信息表;-Idirectory:将directory所指的路径添加到#include的搜索路径列表中去;-ofile:指定编译器最终生成的输出文件名。-O0:不优化;-O1:这是控制代码优化的编译选项,大写字母O后面跟的数字不同,表示的优化级别就不同,-O1关闭了影响调试结果的优化功能;-O2:该优化级别提供了最大的优化功能;◆ARMCC命令用法ARMADS编译器北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校4armasm[keywordarguments]-oobjectfilesourcefile[举例说明]:armasm–gstartup.s-ostartup.oarmcc–O0–g-cmain.c-omain.o◆ARMASM命令用法ARMADS汇编器北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校5armlinkoption-listinput-file-list-ro-baseaddress这个选项将包含有RO(Read-Only属性)输出段的加载地址和运行地址设置为address,该地址必须是字对齐的,如果没有指定这个选项,则默认的RO基地址值为0x8000。-rw-baseaddress这个选项设置包含RW(Read/Write属性)输出段的域的运行时地址,该地址必须是字对齐的。-scatterfile这个选项使用在file中包含的分组和定位信息来创建映像内存映射。◆ARMLINK命令用法ARMADS链接器北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校6armlinkoption-listinput-file-list-entrylocation这个选项指定映像文件中唯一的初始化入口点。一个映像文件可以包含多个入口点,使用这个命令定义的初始化入口点是存放在可执行文件的头部,以供加载程序加载时使用。映像文件的入口点必须位于运行域内;1.入口点地址:这是一个数值,例如-entry0x0;2.符号:该选项指定映像文件的入口点为该符号所代表的地址处,比如:-entry__main表示程序入口点在符号__main所在处。如果该符号有多处定义存在,armlink将产生出错信息。◆ARMLINK命令用法ARMADS链接器北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校7armlinkoption-listinput-file-list[举例说明]:armlinkmain.o-ro-base0x8000-entry__main-odemo.axf◆ARMLINK命令用法ARMADS链接器北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校8fromelf[options]input_file这是ARM映像文件转换工具。该命令将ELF格式的文件作为输入文件,将该格式转换为输出格式的文件,包括plainbinary(BIN格式映像文件),Motorola32-bitS-recordformat(Motorola位S格式映像文件),IntelHex32format(Intel32位格式映像文件),和Verilog-likehexformat(Verilog16进制文件)。FromELF命令也能够为输入映像文件产生文本信息,例如代码和数据长度。-bin:输出二进制格式可执行机器代码-c:输出汇编语言代码-s:输出符号表◆FROMELF命令用法ARMADS实用工具北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校9fromelf[options]input_file[举例说明]:fromelf-bin-outputdemo.bindemo.axffromelf-c-s-odemo.lstdemo.axf◆FROMELF命令用法ARMADS实用工具北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校10ARMARoptionsarchive[file_list]ARM库函数生成器将一系列ELF格式的目标文件以库函数的形式集合在一起,用户可以把一个库传递给一个链接器以代替几个ELF文件。-r:将file_list中的目标文件增添进入库文件archive[举例说明]:armar-rled.aled_driver.oled_api.o◆ARMAR命令用法ARMADS实用工具北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校11uuencodeinputfileencodedoutputfile将bin格式文件转为uue编码格式文件UUE格式作用可以使用串行通讯来传输二进制文件。[举例说明]:uuencodedemo.bindemo.uue◆uuencode命令用法ARMADS实用工具北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校12◆AXD(ARMeXtendedDebugger)ChooseTarget选择目标--调试代理(DebugAgent)Banyan调试软件配合WigglerJtag小板使用JTAG在线调试(JointTestActionGroup)JTAG--联合测试行动小组它是一种国际标准测试协议(IEEE1149.1),主要用来进行芯片内部测试.标准的JTAG接口是由TMS、TCK、TDI、TDO四根信号线组成,允许多个器件通过JTAG接口串连在一起,形成一个JTAG链,对各个器件分别测试.ARMADS调试器北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校13◆ARMulatorARMADS模拟器中断控制器(Interruptcontroller)定时器(Timer)看门狗(Watchdog)StacktrackerTubeProfiling◆举例说明北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校14本次课程知识点总结◆知识点总结1.ARMCC编译器2.ARMLink连接器3.ro-baserw-base的含义和用法4.fromelf实用工具的用法5.uuencode编码算法北京亚嵌教育研究中心(AKAE)-中国嵌入式技术的黄埔军校15Let’sDOit!Thanksforlistening!