《点滴时间学ARM》原始问题:ARM裸机程序开发环境?从OS角度来分,可以分为两类:Windows系统下的开发环境和Linux系统下的开发环境。这里所说的OS是我们PC机上使用的。 Ø Windows平台下:SDT、ADS、RVDS、MDK、DS-5 ADS的前身是SDT,RVDS的前身是ADS,目前在ARM公司的推荐下,工具链官方推荐的有三个即RVDS、MDK、DS-5。下面分别对这三种工具进行介绍。 (一)RVDSRVDS全称为Real View Development Suite,主要有四大模块组成: 1、IDE:RVDS中集成了Eclipse IDE,用于代码的编辑和管理。支持语句高亮和多颜色显示,以工程的方式管理代码,支持第三方Eclipse功能插件 2、RVCT:编译器,支持全系列的ARM和XSCALE架构,支持汇编、C和C++。 3、RVD:调试软件,支持Flash烧写和多核调试,支持多种调试手段,快速错误定位。 4、RVISS:指令集仿真器,支持外设虚拟,可以使软件开发和硬件开发同步进行,同时可以分析代码性能,加快软件开发速度。 同时RVDS有如下特点: ADS1.2是ARM公司在1998年的产品,RVDS结合一流的ARM编译器和市场领先的ARM® Profiler ,使应用程序可以同时实现高性能和最佳代码密度。相比ADS来说能够生成更小的可执行文件,节省ROM空间。此外,此产品还包括针对 NEON™ 媒体处理引擎的矢量化编译,这可以将以标准 C 代码编写的多媒体应用程序的性能提高两倍以上。支持最新的 Cortex™-A9 、Cortex™-A5 和Cortex™-M4 处理器。高度优化的 ARM 编译器,支持所有当前版本的 ARM 处理器、Thumb 和 Thumb-2 指令集并支持 NEON SIMD 指令集以及矢量化 NEON 编译器。非侵入式实时追踪调试和以分钟、小时或天为单位跟踪软件执行情况,同时确保处理器以正常工作频率运行。Profiler 插件能基于软件的动态行为进行自动优化。也可以让开发者通过更主动的方式优化源程序的热点区域性能来提高代码性能,并通过分析代码覆盖率来改进代码大小。使用实时系统模型(以约 200MHz 频率运行的完整 ARM 处理器实时系统模型)开发高性能软件。链接时代码生成,这样,不仅可以跨源代码文件进行优化,同时极好地与现有 makefile 技术相结合。 (二)MDKMDK是Keil公司开发的ARM开发工具,MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,能帮助工程师按照计划完成项目。 MDK-ARM有四个可用版本,分别是MDK-Lite、MDK-Basic、MDK-Standard、MDK-Professional。所有版本均提供一个完善的C / C++开发环境,其中MDK-Professional还包含大量的中间库。 IDE环境是μVision IDE,对于早期开发单片机的同学们来说,这个倍感亲切,至少对于AlexLee来说,非常的亲切。 其特点如下: 完美支持Cortex-M、Cortex-R4、ARM7和ARM9系列器件。 业行领先的ARM C/C++编译工具链 确定的Keil RTX ,小封装实时操作系统(带源码) μVision4 IDE集成开发环境,调试器和仿真环境 TCP/IP网络套件提供多种的协议和各种应用 为带图形用户接口的嵌入式系统提供了完善的GUI库支持 ULINKpro可实时分析运行中的应用程序,且能记录Cortex-M指令的每一次执行 关于程序运行的完整代码覆盖率信息 执行分析工具和性能分析器可使程序得到最优化 大量的项目例程帮助你快速熟悉MDK-ARM强大的内置特征 符合CMSIS (Cortex微控制器软件接口标准)
(三)DS-5DS-5全称为ARM Development Studio 5,是一款针对 ARM 支持的 Linux 和 Android 平台的全面的端到端软件开发工具套件。ARM DS-5 提供具有跟踪、系统范围性能分析器、实时系统模拟器和编译器的应用程序和内核空间调试器。这些功能包括在定制、功能强大且用户友好的基于 Eclipse 的 IDE 中。借助于该工具套件,可以很轻松地为 ARM 支持的系统开发和优化基于 Linux 的系统,缩短开发和测试周期,并且可帮助工程师创建资源利用效率高的软件。这个工具被ARM官方极力的推荐,对于AlexLee来说,这个工具非常的陌生,还没有用过。 相对于KEIL和RVDS两款开发软件,DS-5新增了以下功能。 DS-5 调试器:可访问 NEON 寄存器,能够导出跟踪数据,增强了内联支持,具备 Linux 内核跟踪筛选功能等。 Streamline:用于分析报告的基于时间的筛选,用于时间测量和快速热点分析的可伸缩、跨部分的标记,独立的共享库分析,以及支持 CPU 热插拔。 IDE采用定制的 Eclipse IDE,与第三方插件兼容,这对于JAVA工程来说,一定会非常的高兴。 ARM 工具系列为 JTAG/SWD 调试连接和非侵入性跟踪提供两种 DS-5 兼容的调试适配器。ARM 强烈建议将 DSTREAM 用于新项目。
Ø Linux平台下:GNU Cross-Toolchain (四)GNU Cross-Toolchain这个对于嵌入式Linux工程师来说非常的熟悉,它主要集成了四种工具: cross assembler:汇编器 cross compile:编译器 cross library:库 交叉编辑器的工作流程为: 源代码 (source code) →预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
|