编辑:CrazyRabbit
日期:2022年7月27日
本文是英飞凌官方培训的笔记摘录,入门篇第一节课。
首先看功能框图:
以TC275为例,3个核CPU0/1/2有各自的RAM,分为程序RAM和数据RAM,即PSPR和DSPR。PSPR(或者叫做PRAM)主要用于放置静态函数,提高函数执行效率,或放置Fash驱动函数以擦写Flash(可参考官方Flash Demo);DSPR主要用于全局变量、现场保护的上下文管理和堆栈等数据。
接下来,围绕这三个关键特性做讲解
内嵌式FLASH的框图如下:
AURIX的FLASH分为多个模块,如上图的PF0~PFx(最多PF5)以及DF0和DF1,PF是存储代码,DF是存储数据。
PF0~PF5是每个CPU的Local Flash,CPU访问Local PFlash是不需要访问系统总线的,只需要访问自己的Local总线即可。每个CPU也可以访问其他核的PFLASH,但需要跨总线访问,速度会慢。正式这个特性,我们最好把需要在本地直行的代码放到对应的CPU的Local PFLASH中。
DFLASH主要是存放数据,具有UCB功能(User Configure Block,用户配置模块),UCB中可以配置启动方式、启动地址,也可以设置FLASH访问权限,设置DEBUG保护口等功能。
由于有分块的概念,TC3xx系列支持云端刷写。
每个模块有自己的SRI(Shared Resource Interconnnect)、ECC解码和预取指功能。用户可以配置SMU(Safety Management Unit)和IR(Interrupt Router)单元配置相应的中断报错来调用服务函数。
总结:正因为有内嵌式FLASH和Local的分块概念,使得我们的代码存储更加高效,也具有更高等级的安全机制。
TriCore集成了以下三种功能于一身:
另外,以TC 1.6.2P核(视频制作时)为例:
每个CPU都有一个32位的浮点数计算单元。
支持的外设有: