SmartCode 是 TASKING 为 Infineon AURIX™ TC4x 微控制器家族量身打造的认证级编译器工具集开发环境,是该架构下安全关键型嵌入式软件的创新型开发解决方案。
作为 TC4x 架构的专属开发载体,SmartCode 具备可靠的代码优化能力与高级多核支持,可全面兼容 TC4x 中集成的所有架构及微处理器内核;同时提供 Base、Performance 两个版本,适配不同开发需求。
其核心价值之一是通过 PPU Run-Time Environment 库,实现 TriCore 与 PPU(并行处理单元)之间的数据交互,帮助开发者无需关注架构细节,专注于应用逻辑开发;同时支持通过 Eclipse 插件对接 winIDEA 及 TASKING BlueBox 调试器,实现从开发到调试的全流程衔接。
此外,SmartCode 遵循 Automotive SPICE® Level 2 标准开发,通过了 ISO 26262(最高至 ASIL D 等级)功能安全认证与 ISO/SAE 21434:2021 车载网络安全合规认证,是高安全等级场景下 TC4x 项目的标准化工具。
特性
(一)性能优化(Performance)
- 通过工具集优化生成高效代码,同时兼顾性能与代码体积;
- 借助可验证的链接器脚本语言,实现多核应用的性能优化;
- 内置 PPU Run-Time Environment 库:利用 PPU(Parallel Processing Unit)的向量处理能力,减少计算耗时,让开发者无需关注架构细节,专注于应用逻辑开发。
(二)可靠性(Reliability)
- 开发流程符合 Automotive SPICE® Level 2 标准;
- 与主流第三方解决方案兼容(包括 AUTOSAR、MCAL 驱动);
- 经 Perennial、Plum Hall 验证测试套件验证,符合 ISO C99/C11 及 ISO C++ 标准。
(三)安全与网络安全(Safety & Cybersecurity)
- 全生命周期保持 ISO 26262(功能安全)与 ISO/SAE 21434(网络安全)合规性;
- 提供符合 ISO 26262(最高至 ASIL D 等级)的 Qualified run-time libraries,适配 TriCore 与 PPU 架构;
- 确保代码符合多项行业标准:ISO/IEC 9899:1999 (E)、ISO/IEC 14882:2011、MISRA C、CERT C、TriCore EABI v3.1、Synopsys ARC EV7xFS EABI、ANSI/IEEE-754、ELF/DWARF;
- 无需额外的 Qualification Kit(资格认证套件)。
功能特性
(一)IDE 与 C/C++ 优化编译器
- 基于 Eclipse 的集成开发环境(IDE);
- 内置编译器组件:
- 支持 TriCore TCv1.8 与 PPU 的 C/C++ 编译器;
- 支持 AURIX™ TC4x 中 Cybersecurity Real Time Module(CSRM)、XC800 Standby controller(SCR)、MCS/GTM 定时器模块的 C 编译器;
- C/C++ 编译器集成 MISRA C、CERT C 静态代码分析功能;
- 支持 Infineon PPU Vector DSP 指令集架构;
- PPU 编译器支持自动生成向量代码与多指令自动绑定;
- 支持复用现有 AURIX™ TC2xx/TC3xx 代码,降低迁移成本;
- 包含 TASKING® Pin Mapper for AURIX™(引脚映射工具)。
(二)汇编器、链接器 / 定位器与工具集
- 提供高级多核与简化风格多核支持(与 Infineon 及主流汽车 Tier One 供应商联合开发);
- 强大的数据 / 代码覆盖功能;
- 支持自动与用户指定的目标内存分配;
- 内置 Make 工具:支持多核系统并行构建,加快编译速度;
- 提供全面的映射文件,用于详细的构建与栈分析。
(三)集成调试器
- 通过 Eclipse 插件接入 winIDEA IDE(功能强大且通用的调试环境);
- 支持通过模拟器或片上调试器(On-Chip,OCSD)对 C++、C 及汇编代码进行调试;
- 提供适用于 TC4x 所有集成内核的模拟器调试器;
- SmartCode Eclipse IDE 可通过 TASKING BlueBox 连接目标硬件;
- 支持通过 Infineon miniWiggler 调试 TriCore 内核。
(四)集成调试器
SmartCode 是适用于 Infineon AURIX™ TC4x 微控制器的多核开发环境,支持 Windows、Linux 操作系统;