AURIX TC275/TC234开发----(1) 开发准备工作

TC234/TC275 是英飞凌推出的较新一代AURIX 系列的单核/三核处理器,适合应用于车载控制器的开发,目前在很多车型上有在使用,下面对两种芯片做个简单的分析对比:

1)TC275

  1. 该芯片有三个运算核、两个校验核,类似于将三个高性能单片机集成在一起,功能非常强大;
  2. 该芯片推出较早、各种开发例子、资料文档、开发工具相对较为齐全;其他型号均是在TC275之后推出,如性价比更高的TC234、TC212、TC297等等
  3. 由于集成3核、价格优势不是太明显;
  4. 有4通道can接口,4个can公用256个接收发送邮箱;
  5. 有电机控制器专用接口;
  6. 内部Flash有4Mbyte;

2)TC234

  1. 该芯片有一个运算核、一个校验核,和普通的单片机基本上没什么区别。
  2. 所有的开发工具对于TC275相对较少,目前还没有相关的中文文档;
  3. TC234的价格不到TC275价格的40%,个人认为已经可以满足车载控制器的要求,是性价比较高的代表。
  4. 有6路can接口,这个是我比较喜欢的,前面3个can公用128个接收发送邮箱,后面3个can公用128个接收发送邮箱。这一点比TC275还有多两路can;
  5. 内部Flash有2Mbyte,184K的RAM;

 

开发工具:

1)软件编程开发环境:首选Tasking,功能强大;其次Hightec,适合个人使用;

2)下载仿真工具:miniwiggler,劳特巴赫、PLS;

3)工具价格功能介绍

  1. TC275要求的最低版本是Tasking 4.2.2,TC234要求的最低版本是4.3.3,选购的时候请注意,否则不能在线仿真;Tasking的试用版仅半个月,需要与MAC地址绑定,可是我一直没有申请到。较新的版本是Tasking6.2,该版本支持所有的芯片,同时内部还有PinMapper功能,可自动生成底层引脚配置程序,但是与电脑的CID吗绑定,不容易破解;
  2. Hightech的价格未知,但是试用期一年,基本上采用试用版既可以完成开发,需要在网上申请license,与MAC地址绑定,我使用的是4.9.1版本,不过已经有更新的版本发布了;
  3. Tasking的价格最低要6万RMB,和画PCB的 Altium Designer同一家公司,非英飞凌出品;
  4. 英飞凌出品:miniwiggler的官方价格约1000RMB,淘宝价格300RMB,自制成本价格低于100RMB;
  5. 劳特巴赫:功能强大,支持n多种芯片,价格从8万到30万RMB之间的各种套装,可怜本人只闻其声,未见其人,欢迎财大气粗的大侠交流下使用体验。

4)工具组合介绍

  1. Tasking +miniwiggler:可以编写代码、生产目标文件,实现基本的调试功能,可设置断点、逐行调试、观察变量等等
  2. Hightec+miniwiggler:Hightec可以编写代码,但是无法在线调试,进支持Startkit开发板的在线调试。使用英飞凌的memtool上位机+miniwiggler将生成的文件下载到单片机里面运行;
  3. Hightec+pls:pls的hightec主推的配套组合,功能和当然非常强大;
  4. Tasking、hightec + 劳特巴赫:这个不用讲了,天下最强组合、没有解决不了的问题。

5)根据性价比推荐组合

  1. Hightec (0RMB)+ 自制(300RMB): 可以在线仿真和调试,性价比最高,有需要的可以联系我

  2. Tasking + miniwiggler(北京干勤300RMB或者英飞凌1000RMB):可以在线调试仿真
  3. 注意:Hightec (0RMB)+ miniwiggler(北京干勤300RMB或者英飞凌1000RMB):无法在线调试,可以编译下载;
  4. 其他组合:有钱就是任性;

附录:

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必要的基本寄存器初始化

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章