ARM Developer Suite 介 绍
ADS 1.2 ADS1.2是为嵌入式ARM设计的一整套软件开发工具 ADS1.2发布于2001的12月份 支持的主机系统 从最初的软件原型到最终优化的ROM代码。 ADS1.2发布于2001的12月份 支持的主机系统 IBM compatible PCs with Windows 95, 98, 2000, ME or NT4 Sun workstations with Solaris 2.6, 2.7 or 2.8 HP workstations with HPUX 10.20, 11 Red Hat Linux 6.2 & 7.1 使用FLEXLM管理器,管理它的LICENSE 45天的评估版软件 第三方工具支持: http://www.arm.com/DevSupp/
ADS 1.2新增功能 支持最新的ARM内核 支持V5TEJ体系结构 ARMulator仿真执行Java bytecode ARM926EJ-S, ARM9EJ-S, VFPv2 支持V5TEJ体系结构 ARMulator仿真执行Java bytecode Bytecode显示 Jazelle 状态 主机系统可支持Red Hat Linux (6.2 and 7.1) 库管理器可合并各种库 使用pragmas ,可实现出色代码和数据的布局 为可重定位的代码设置新的链接选项 编译器同时输出汇编码和目标码
主要模块 ANSI C 编译器 - armcc and tcc ISO / Embedded C++ 编译器 - armcpp and tcpp ARM / Thumb 汇编器 - armasm Linker - armlink Windows 集成开发环境 - CodeWarrior Debugger - AXD armsd 可向前兼容 格式转换器 - fromelf
主要模块 库管理器 - armar C and C++ 库 指令级仿真 - ARMulator 同时包含 ARM Firmware Suite ARM Application Library RealMonitor
ELF object file(s) with DWARF2 debug tables 工具的使用 命令行 makefile IDE C++ source module(s) ASM source module(s) C source module(s) .o .axf armlink Libraries ELF / DWARF2 image .c armcpp -c tcpp -c armcc -c tcc -c armasm .cpp ELF object file(s) with DWARF2 debug tables .s fromelf ROM format Disassembly Code size Data size etc .o fromelf .o armar Library
CodeWarrior C/C++ Sensitive Editor Project Manager C/C++ Browser
AXD Docking toolbars Docking windows Source/ Disassembly Registers Memory
C / C++ 编译器 – 关键特性 完全支持ANSI 及其兼容 C 编译器 他属于是ISO / Embedded C++ compilers 支持所有的ARM处理器 (用 ‘-cpu’) e.g. ARM7TDMI, StrongARM, ARM9TDMI, ARM9E, ARM10, Xscale 优化的代码可以实现源码级调试: -O0 : 最佳的调试信息, 没有优化(-g) “Debug” -O1 : 大部分优化,比较好的调试信息(–g) “DebugRel” -O2 : 完整优化, 有限的调试信息 “Release” 支持 ROPI / RWPI 内嵌汇编 C和汇编的交叉列表( ‘-S -fs’)
C / C++ Compiler – 数据类型 下面这些数据类型可支持 char 8 bit byte short 16 bit half-word int 32 bit word long 32 bit integer float 32 bit IEEE single-precision double 64 bit IEEE double-precision pointers 32 bits long long 64 bit integer pointer,char(默认为unsigned ,可用-zc变为signed)之外,上述所有的默认值为Signed 。
提供的库 ANSI C库 C++ 库包含: 完整的文件处理,字符,数学库等,在目标平台可支持 默认情况下,使用semihosted SWI’s和主机调试器通讯 比如:文件操作,I/O操作 库、函数包这些不需要为重定向而重新编译 。 适合嵌入式使用- 没有单独的内嵌变量 自动选择正确的库 决定于你所使用的字节对齐方式,独立的位置,堆栈的检查等。 保留了run time 功能支持和浮点支持 C++ 库包含: 标准c++库(2.01版本) C++ 编译器包含run time 功能支持
Communication with debugger running on host Semihosting SWI Handler Library Code Application Code : SWI Communication with debugger running on host : printf(“hello\n”); 库代码在ARM平台上运行,但低级I/O请求由主机提供 SWI机制提供了和主机的通路 SWI 接口由ARMulator, Angel 和Multi-ICE共同提供 Semihosted 程序可在所有的ARM平台上运行,而不需移植 调试工具必须提供这种功能 hello
串口方式调试,目标板上运行monitor 支持的格式 ELF / DWARF2 image Host running debugger ARMulator Angel Multi-ICE 指令级仿真 串口方式调试,目标板上运行monitor JTAG调试
ARMulator 针对某种ARM内核进行指令级仿真 精确的指令 配置所有的ARM核 支持TRACE -提供工具包的扩展 允许对程序的执行进行校验 可以对存储器周期进行统计 允许为指定的存储器和时钟速度,设定系统的基准 配置所有的ARM核 最新的含CACHE的核 e.g ARM946E, ARM966E, ARM10 (incl VFP), XScale 支持TRACE -提供工具包的扩展 所有的模板用C编写,可以容易地用VISUAL C++增加新的外设模板 也可仿真IRQ 或 FIQ中断 ADS 1.2 Debug Target Guide有有关模板的详细说明
Multi-ICE ARM 调试的系统就是最终系统 也存在第三方的协议转换器产品 Debugger and Multi-ICE server (can be run on separate machines) CPU Control Address Data EmbeddedICE Logic-RT 5 wire JTAG BREAKPT TAP ARM 调试的系统就是最终系统 也存在第三方的协议转换器产品 http://www.arm.com/DevSupp/ICE_Analyz/
Angel Debug Monitor 运行在目标板上的调试监控 通过ADP (Angel Debug Protocol)和主机通信 ARM核里不需要EmbeddedICE逻辑 处理器不需要实际的停止 –可用于实时应用 应用程序必须运行在RAM上 (可设置断点、单步等) 通过ADP (Angel Debug Protocol)和主机通信 通常采用串口 ARM Firmware Suite (AFS) 提供全部的源代码 主要部分用C代码来写,易移植到新的硬件。 也可移植到第三方的目标板。
ARM Firmware Suite 板级软件和工具库 在ADS软件中提供最新评估板的ANGEL监控 uHAL (硬件层) 启动监控 屏蔽在不同平台上的硬件及其他模块和应用的区别 通过提供系统初始化、存储器管理、中断管理的代码来缩短开发周期 启动监控 Angel Debug Monitor 有FLASH管理库 PCI管理 (for Integrator /AP) 在ADS软件中提供最新评估板的ANGEL监控
ARM 应用库 一个优化的软件包:包括数学运算和应用 由ARM体系结构专家手工制作的 完全源代码,包含文档和创建(BUILD)工具 在用户应用软件里使用,是免版税的 软件包包括: DSP 变换:- DCT, FFT DSP 过滤 - FIR, IIR & LMS 数学计算 - 快速定点乘法和除法 平方根,立方根,三角函数 有符号的饱和加法 其它大量有用的函数
ADS的使用 创建一个新的工程项目 选择File/New命令, 打开对话框, 选Project
ADS的使用 创建一个新的源文件 选择File/New命令, 打开对话框,选File
ADS的使用
文档 安装和LICENSE管理 入门手册 汇编手册 编译、链接和工具手册 目标调试手册 调试手册 CodeWarrior IDE 手册 Angel, ARMulators, Semihosting 调试手册 CodeWarrior IDE 手册 开发手册 在ARM上写代码 其它 DynaText 在线手册 打印的文档 PDF WINDOWS下的在线帮助 (F1) 应用指南可在如下网址下载: http://www.arm.com/Documentation/AppNotes 技术支持网址: http://www.arm.com/DevSupp/Sales+Support/faq.html