TriCore“时间保护系统”用于防止运行时间超时。该系统由两种主要机制组成,即时间保护计时器和异常计时器。
一、时间保护计时器
时间保护定时器系统由三个独立递减的32位计数器组成,在计数器递减到零时生成一个时间异步异常(TAE) trap (Class-4, Tin-7)
通过在SYSCON寄存器中设置TPROTEN位来启用时间保护系统。通过向TPS_TIMERx寄存器写入一个非零值来激活计时器。激活后,计时器将在每个CPU时钟周期上递减1。计时器将继续递减,直到计数值达到零,或者通过向TPS_TIMERx寄存器写入零来取消定时器的激活。
当前计时器的值可以从TPS_TIMERx寄存器中读取。当计数从1递减到0时,将设置TPS_CON寄存器中相关的TEXP位。对相关的TPS_TIMERx寄存器的任何写操作都将清除该TEXP位。
在TPS_CON寄存器中设置任何TEXP位时,在同一寄存器中设置TTRAP位。当TTRAP位从0转换到1时,触发一个TAE trap。对TPS_CON寄存器的任何写操作都会清除TTRAP位。同时在试图清除寄存器时设置任何TEXP位将导致TTRAP位被重新启用,并产生一个新的TAE trap。这确保在处理另一个TAE Trap期间不会错过超时事件。
二、异常计时器
异常定时器系统提供了一种检测系统中异常处理程序溢出的方法。“TriCore”体系结构定义了一组用于该系统的寄存器(TPS_EXTIM*)。系统的细节是具体实现的。
三、时间保护系统寄存器
1、TPS定时器寄存器
时间保护系统定时器寄存器的定义。
时间保护定时器写0使定时器失效
写入非0值将启动Timer
任何写操作都会清除相应的TPS_CON.TEXP标志位
Read返回当前定时器值。
2、TPS控制寄存器
时间保护系统控制寄存器的定义。
时间保护Trap(TTRAP)
如果设置,表示请求了TAE trap。任何后续TAE trap都被禁用,写操作清除标志并重新启用TAE Trap
Timer0 过期标志(TEXP0)
设置定时器过期时间。在对TPS_TIMER0寄存器进行任何写操作时清除。
3、异常进入定时器加载值寄存器
实现特定寄存器。
4、异常退出定时器加载值寄存器
具体实现寄存器。
5、异常进入定时器当前值寄存器
实现特定寄存器。
6、异常退出定时器加载当前寄存器
实现特定寄存器。
7、异常定时器类使能寄存器
实现特定寄存器。
8、异常定时器状态寄存器
实现特定寄存器。
9、异常定时器FCX寄存器
具体实现寄存器。