Arm 编译器 5 取代了 ARM RVDS 4.1
发布时间:2017-08-01

      ARM RVDS 4.1中的Arm编译器是一个与ARM编译器联合开发的商用编译器,专门设计用于为 ARM 编译器架构程序并提供支持。该编译器的开发历经有20年左右,被公认为是业界标准 C 和 C++ 编译器,用于生成面向 Arm、Thumb、Thumb-2、VFP 和 NEON 指令集的应用程序。
 
      Arm编译器设计用于执行ARM编译器生成的代码。
 
     Arm编译器支持所有ARM处理器中的新增器功能。
 
     基于分析驱动的编译器将自动在运行时优化代码并提供信息。
 
     Arm编译器支持生成 Symbian OS 和 ARM Linux 应用程序及库,RVDS 4.1 编译器与 RVDS 4.0 相比,最佳代码大小减少了多达 6%,并使性能提高了 10-20%。
 
     除了 ARM编译器之外,先进的 NEON 矢量化 ARM编译器(RVDS 专业版的一部分)支持从标准的 C 和 C++ 代码自动生成 ARM NEON SIMD 代码序列。NEON 矢量化ARM编译器可使关键多媒体内核的速度提高 4 倍,最终使整个应用程序性能提高到2 倍。

 

 ARM 编译器
 

     针对成本极为敏感型设备的开发:
 
     为进一步提高基于 Arm编译器的一系列应用程序的代码密度,ARM编译器特别提供了一个可选的 microlib C 库(ISO 标准 C 运行时库的子集),该库的大小已针对微控制器应用进行了最小化。microlib C 库的运行时库代码大小缩减了 90%。
 
     Cortex-M 与 ARM编译器结合使用时,microlib C 库提供完全基于 C 语言的开发环境,而不必还原为汇编语言 - 即便对中断服务例程也是如此。这样就无需具体了解 ARM编译器架构。
 
     microlib C 库所节省的内存空间将取决于应用程序,“hello world”应用程序可节省 97%,Dhrystone 之类的较为复杂的应用程序可节省到 50%。
 
 
     降低 Linux 应用程序开发的风险:
 
     ARM编译器团队所创建的针对 ARM架构的 ABI 同样可在 ARM GNU 编译器中实现。这样,即可支持创建和使用可在不同开发环境间共享的库。
 
     GNU 编译器与 ARM编译器相互兼容意味着可以使用 ARM 编译器生成 Linux 应用程序。ARM 编译器能为您的开发团队提供高质量的商用工具包可提供的卓越的支持和性能、稳定性和代码大小优势。
 
     精确的代码生成:
 
     现今的许多算法都是使用浮点数据表示法从数学建模软件自动生成的。因此,IEEE 位表示和浮点表示的精度对于生成的代码能否正确运算至关重要。ARM编译器选择的默认库提供完整的 C/C++ 功能,包括 C++ 异常处理和 IEEE 754 浮点支持。该编译器可选择性地生成代码以使用软件浮点或任何 ARM编译器硬件浮点单元。不论使用哪种方法,该 ARM编译器均可生成符合 IEEE 754 标准的完整代码。这意味着您的应用程序将生成完全相同的数据,而不论采用哪种目标处理器,从而加快了从某一设备到其他设备的移植。
 
     面向高等数学和 DSP 样式的解决方案。
 
     内部函数提供针对未能很好地映射到高级语言的公用代码序列或指令的支持。
 
     ETSI 内部函数提供用在若干示例算法中的电信基元。
 
     TI C55 内部函数支持为利用特定于 TI 的扩展而编写的算法。
 
     Cortex-M4 内部函数用于面向板载 DSP。
 
     其他内部函数允许访问从 C 语言不易访问的所有 ARM 硬件指令,降低了以汇编语言编写代码的需要。
 
     尽可能在早期 ARM编译器上模拟内部函数。