ASH WARE eTPU C Compiler Toolkit
C Cross-Compiler(C 交叉编译器)与 Preprocessor(预处理器)
Symbolic Macro Assembler(符号宏汇编器)
Optimizer(优化器)、Analyzer(分析器)与 Linker(链接器)
概述
兼容模式——完全支持现有的遗留代码,基本上按原状编译您现有的 code base(代码基数)。
C 编译器基于 C99(ISO/IEC 9899:1999)与“嵌入式 C”(ISO/IEC TR1803)规范草案。
支持 eTPU 与 eTPU2 目标。
Windows 命令行工具集可与以下 IDE 集成,例如 Eclipse、PSPad、Developer Studio 等等。ETEC 还可运行于安装在 Linux/UNIX 平台上的 WINE Windows 仿真程序之下。
ASH WARE Inc,的理念就是:最糟糕的问题就是您不了解的问题。我们的公共站点交叉引用所有发布版本的一切已知问题。请注册问题通知来了解所有最新发现的问题。最新发现的问题都会进行回归测试,并对所有支持的发布进行完整报告。
支持的目标
对 Freescale 旗下 MPC55xx、MPC56xx Power Architecture 微处理器与 MCF52xx ColdFire 微处理器的完全 eTPU/eTPU2 支持。
对 STMicroelectronics/Freescale SPC563Mxx 系列的完全 eTPU2 支持——用于自动化应用程序的 32-位微控制器。
Perennial 测试
ETEC 编译器工具套装 V1.10A 现已采用行业标准的 Perennial CVSA 测试套具进行了广泛的测试。Perennial 的授权协议禁止我们将测试结果放置在我们的网站上(即使我们非常希望这样做),当然这些结果确实非常,非常出色。所有较新的发布都经过 Perennial 的回归测试,以此来确保不断的改进。请致电我们进行讨论。
代码大小与 Freescale eTPU 代码库
在使用 ETEC 编译时,Freescale Set 1 - Set 4 类似(较少代码)。ETEC 已编译的代码与现有的主机端接口与应用程序代码无缝工作。这些端口都可下载(按原状提供,无担保)。
最近版本中的新功能与改进
支持静态 Worst Cast Thread Length(WCTL)分析功能!在 Analyses(分析)文件中提供 WCTL,包括“steps(步骤)”与“RAM-accesses(内存访问)”。
#pragma verify_wctl <steps>、<rams> 支持基于要求的 WCTL 方法,这样的话,如果没有满足用户指定的要求,构建就会失败。
虽然默认的 ETEC 编程模型/调用约定是基于堆栈的(以此来防止两个 eTPU 相一致的问题),ETEC 确实提供使用全局临时存储模型进行编译的选项。
尽管应慎用此选项,某些案例表明它简化了现有代码的移植,并/或能生成严密的代码。
至于 eTPU2,提供临时存储型引擎编程模型/调用约定。其优点在于提供全局临时存储方式的同时不会出现两个 eTPU 相一致的问题(仅 eTPU2)。
在使用共享代码时,片段支持改进了 WCTL。片段改进了结构与可读性,并在众多情况下避免了对于麻烦的“goto(转至)”的需求。
快速的“switch(切换)”减小了代码大小并改进了 “C”切换的 WCTL。link-time(链接时)生成的计数大体上避免了从“dispatch(调度)”进行跳跃,这样的话,dispatch-offset (调度-偏移)就是最终目标位置(非常酷!)。
公开一套内函数,允许用户访问所有源于 C 代码的 ALU/MDU 操作。
功能详细信息
可以在所有的 Windows 平台下运行命令行界面。
运行于安装在 Linux/UNIX 平台上的 WINE Windows 仿真程序之下。
与 ASH WARE Inc, 的 eTPU/eTPU2 模拟器与 Lauterbach 的 eTPU 调试器完全兼容。
若干与 GNU Make 集成的演示高亮显示 Freescale Set1,完整的引擎演示等等。
Long Term Release Support(长期发布支持)——10年可用性,并支持所有拥有活跃客户群的发布版本。[您要保留您的技术支持协议,我们将支持该发布。]
生成高度优化的 eTPU 代码,众多情况下,在 Worst Case Thread Length(WCTL)、Latency(执行速度)、Code Density(代码密度)、Data RAM(数据内存)使用、以及减少的 Data RAM 访问计数(影响 Latency)这些方面胜过现有的解决方案。
支持双 eTPU 引擎模型。引擎间只能共享实际全局变量;代码在两个引擎上运行时不会发生冲突。(这修复了大量用户代码基数中的固有问题,而且没有更改代码!)
不会生成静态已知“dead code(死码)”,有助于符合 DO178B 100% 代码覆盖要求(用于航空电子应用程序)。
遇到次级最优代码时发出性能警告(例如:次级最优位置中的8或16位变量,有/无号数除法等等)。
支持以现有的汇编语言语法进行内嵌汇编与单独汇编。
自动生成主机集成所需的一切:
所有全局与通道框架变量的位置信息。
函数号码与条目表类型信息。
全局与通道框架初始化数据。
代码阵列与已计算的 MISC。
大量报告文件——例如 .map、.lst。我们的分析文件提供详细信息,例如最大堆栈深度与最糟情况线程长度
性能验证包括对于关键指标的验证,例如 WCTL 验证。
内置错误处理库。
支持多种数据打包模式,帮助用户编译减小的数据内存(SDM)大小,或者可能消耗更多 SDM 使用率的更小更快速的代码。
代码和调试信息既可输出成目标中实际内容的适用格式,还可输出成标准的 ELF/DWARF2.0 格式用于 eTPU 模拟器与其它调试工具。
包含带有少量超越 C99 额外语法的增强模式,为重要的 eTPU 硬件提供更直观、更不易失败的 Windows 事件/软件的响应样式映射(eTPU 函数、线程、数据)。
以下为支持的基本数据类型(根据情况签署或未签署):
_Bool、char (未签署 int8)、short (int16)、int (int24)、long int (int32)、long long int (与 int32 同义)
fract8、short _Fract (fract16)、_Fract (fract24)
支持 Embedded C Specification(内嵌式 C 规范 TR18037)命名寄存器。
Legacy Merging(遗留合并)——使用 ASH WARE 的 eTPU Development Tool Suite 将现有的生成代码按原状(.COD 文件)与新编写的代码合并。将旧代码向前合并到新代码。
ETEC 库函数为编程人员提供方法来显式控制他们代码中的原子数、同步性与一致性。
使用“典型”二级编译/链接构建进程的翻译单元正交性(不过为了兼容性,所有代码仍可包含在单个翻译单元中)
完全支持现有的 eTPU C 编程模型,用于通道硬件访问、条件代码访问与条目表定义。
Eclipse 集成软件包含有集成版本与单击错误编辑器(我们的网站即将提供下载)
Ash-Print——利用您的代码来提供用户定义与格式化的模拟跟踪文件。
汇编器支持现有客户的“内嵌”与“单独”语法。
销售咨询热线:021-52400198