TC234/TC275 是英飞凌推出的较新一代AURIX 系列的单核/三核处理器,适合应用于车载控制器的开发,目前在很多车型上有在使用,下面对两种芯片做个简单的分析对比:
1)TC275
2)TC234
开发工具:
1)软件编程开发环境:首选Tasking,功能强大;其次Hightec,适合个人使用;
2)下载仿真工具:miniwiggler,劳特巴赫、PLS;
3)工具价格功能介绍
4)工具组合介绍
5)根据性价比推荐组合
附录:
HighTec是英飞凌工具合作伙伴。
HighTec EDV Systeme 公司成立于1982年, 是世界上最大的基于开源的商业编译工具供应商。 HighTec GNU-based compiler 在工业应用领域有超过30年的经验,在汽车领域有超过20年的应用经验,客户遍及世界一流的行业公司。由于和一些主要汽车OEMs和半导体供应商有紧密的合作,在GNU-based compiler 和debugger 中融入了支持不同32位核的特别功能和不同的代码优化方法。该产品包括以下基本内容:
* a GNU-based C/C++ compiler 工具链
* 基于Eclipse的集成开发环境
HighTec EDV Systeme 公司在布拉格设立有能力和服务中心,负责嵌入式多核应用开发和功能安全的咨询和工程服务。
HighTec公司总部在德国Saarbrücken,北京西能电子科技发展有限公司是国内的代理商,负责HighTec 编译工具在国内的市场推广和技术支持。
1. HighTec公司GNU C/C++ Compiler开发编译工具平台
德国HighTec公司GNU C/C++ Compiler开发编译工具平台,可以支持infineon Tricore系列产品的嵌入式开发。HighTec公司的开发编译工具平台包括:
* 有强大的代码优化功能的TriCore C/C++ 多核编译器套餐
* Compiler for HSM security module
* GTM/MCS assembler
* EclipseTM集成开发环境
* 通过ISO26262安全认证
2. HighTec公司的开发编译工具平台主要特点
开发编译工具包含有强大的操作引导模板wizards,并支持最新的多核结构,它很好的完成项目管理、从 compiler, assembler 到linker 的整个build process ,以及实现对硬件的初始化。主要功能特点包括:
* 强大的项目管理
* 操作模板引导功能
* 版本控制
* DAvE 工程文件导入功能
* 基于模型驱动的图形化内存分配功能:Eclipse?中基于模型化GUI功能进行内存分配,使代码和数据放置在内存中的合适区域。
其工作流程为:首先选择MCU型号;然后产生工程项目,包括正确的启动代码,必要的硬件初始化,内存分配,头文件描述等
2.1 C/C++ compiler 套餐的特点:
* 产生稳定、紧凑和快速可执行的代码
* Compiler能快速build,能同时多次起动,可以并行编译,加快build过程
* AUTOSAR MCAL driver support:在用到AUTOSAR操作系统时,compiler可以指定寄存器,以便用户特别使用,以免compiler占用或使用。同时支持不同AUTOSAR供应商:ETAS, Elektrobit 和Vector等。
* ANSI/ISO conformance
* Multi-core support (ISO and EABI compliant)
* 为了充分发挥32位MCU核的强大功能,HighTec的compiler套餐采用了领先的代码优化技术,以及必要的对硬件的控制。代码优化策略有闭环优化、函数在线和全局优化两种方式,这样节省代码执行时间和提高代码密度。
* 长期的产品支持和维护
* Commercial standard and math libraries(no open source)
* 多种寻址模式包括:absolute, register relative, circular:Tricore结构可以实现不同寻址模式,这样提高效率,一方面地址计算省略了,同时地址由汇编指令编码。compiler实现不同寻址模式是通过‘pragma’语句的源代码完成的,这样控制和分配代码和数据在合适的内存空间。
* 代码覆盖率功能支持Code coverage support
* SIMD and FPU support
* PCP C-Compiler
HighTec C/C++ compiler产生位置独立的代码PIC和位置独立的数据PID,这个功能在ECUs厂家生产和测试过程编程烧写中很重要,适合汽车软件的多平台运行要求。
2.2 支持ISO-26262标准的应用开发
在Tricore CPU结构核中,所有标注PRO-SILTM的产品都满足ISO 26262(ASIL-D)和IEC 61508(SIL-3)的要求。在infineon的SafeTcore安全套件中,程序启动阶段和正常运行阶段时,有一系列功能强大的自检程序,运行于PCP中,以确保用户的软件和CPU硬件在正常环境运行。HighTec PCP C-Compiler 支持SafeTcore安全套件。
根据ISO-26262,汽车行业的应用程序供应商在随机的时间里可以复制应用程序以及软件的版本状态。HighTec 提供长期的服务,不管是固定的版本号,还是有升级的。
在处理故障检测和防错方法上,HighTec 提供了先进的bug-finding-compiler,适合于已经知道的silicon bug和compiler bug。Compiler可以检测客户的应用代码,看是否被bug影响了,如果影响了,哪个模块受到影响。这样,用户只是重新rebuild受影响的模块,节约build和testing的时间。
关于安全要求高的应用中,对代码覆盖率的分析功能,HighTec C/C++ compiler 支持产生instrumented code。应用程序运行时,采集到的代码覆盖信息写到标准的gcov format格式中,相应的源代码的代码覆盖率信息在Eclipse editor中显示。
在软件的build process过程中,可追溯行是保证软件质量的保障。HighTec C/C++ compiler 通过记录compiler版本号和build可选信息,保证可追溯性。这些信息存储在可执行文件的特定区域,而且不会下载到目标板中,而占用额外的内存空间。
除此之外,HighTec工具里还可以对变量指定’alias’名,这样和客户的命名规则一致。
2.3 支持多核系统开发Multi-core support
单核向多核系统转换:TriCore C/C++ 编译器套餐支持同类或不同类的多核结构。HighTec对多核的支持,不必在linker level对源代码进行匹配。这种ISO- and EABI-compliant多核支持功能使得从单核到多核源代码输出变得简单,容易实现可linker level执行代码和数据代码的指定。不同核之间的数据交换通过hide-and visibility机制处理,即指定核之间用户定义的接口。如果数据和代码要对所有核可视,则要直接指定。所有核共享的数据和代码,在一个单独的文件中输出,可以用来实现核之间的对比分析。hide-and visibility机制降低了分布式系统的复杂性,减少了系统调试的工作量,提高了软件系统的可维护行。
另外,在数据和代码相互分开的情况下,在单独的核中执行独立的应用程序是没有问题的。
资源的访问和映射:一个核可以进入它本地的资源,如通过本地地址空间进入RAM。另外,这些资源可以映射到全局地址空间,其他的核也可以访问。这样,内存可以以不同地址访问,如本地地址空间或全局地址空间,对不同的核结构也是可行的,如GTM/MCS模块。
Linker 和输出文件:HighTec Tricore linker自动处理不同核的内存重新映射。Linker可以连接不同核的目标文件,产生一个输出elf文件,由全球主要的debugger 工具供应商 PLS, Lauterbach, Isystem等都支持多核调试。
HighTec 工具支持不同的核架构,如GTM/MCS和HSM安全模块。Tricore, GTM和HSM的二进制可以连接输出到一个ELF文件中,并上载‘en bloc’到目标系统。
高效的寻址模式,如small addressing mode,可以单独用于每个核中。每个核的对应地址寄存器需要在启动代码中初始化。Linker会自动对每个核的small addressable area必要的基本寄存器初始化