TriCore:Interrupt

news2024/12/24 2:15:50

今天简单总结下 TriCore 的中断路由模块。

名词缩写

缩写全程说明
IRInterrupt Router

SRService Request

包括:

1. External Resource

2. Internal Resource

3.SW(Software)

SPService Privoder

包括:

1. CPU

2. DMA

SRNService Request Node
SRCService Request Control Register
GPSRGeneral Purpose Service Request
SRBService Request Broadcast Register
ICUInterrupt Control Units
TOSTypes of Service

中断路由器

IR框架

如上图所示,每一个可以产生 SR(Service Request)的模块分别连接到 IR(Interrupt Router)中的一个或多个 SRN(Service Request Node)上,每一个SRN 内都有一个 SRC(Service Request Control Register)。每一路 SRN 都会连接到某一个 ICU(Interrupt Control Unit)上,一个 ICU 对应一个 SP(Service Privoder)。

比如TC39X系列,有 6 个CPU Core 和 1个 DMA,则 6 CPU + 1 DMA = 7SP 。上图中可以看到 CPU0 之后就是DMA,而不是CPU1,应该是对应 TriCore 家族的设计语言,不同子系列虽然资源不同,但是编址一致,因此不同芯片子系列的程序语言可以保持一致。

TC3XX系列最多支持 1024 个SR,不同的家族系列个数不一样,一般来说,Core 越多,支持的 SR 越多。

每一个 Core 中断向量表有256个入口,即最多支持 256 路 SR。

SRC 寄存器

FieldBitsTypeDescription
SRPN7:0rw

设置中断优先级,数字越大,优先级越高。取值范围:[0~255]

其中 优先级 0 专为 DMA使用,因此,用作 CPU的有效中断优先级范围是 [1, 255]

SRN10rw

0:禁用中断

1:使能中断

TOS13:11rw

设置SP的类型,包括 CPU 和 DMA

0: CPU0

1: DMA 

2: CPU1

3: CPU2

4: CPU3

5: CPU4

6: CPU5

ECC20:16rwhECC检测,进行写操作时更新
SRRrh

中断请求标志位(呈现结果,不可写入)

0: 无中断请求,not pending

1: 有中断请求  is pending

CLRRw

清除中断请求

0: No action

1: 清除 SRR; (读取到的值都是0,因此不建议读。如果和 SETR 并行写入,则无效果).

SETRw

发出中断请求

0: No action

1: 写 SRR 和 SWS; (读取到的值都是0,因此不建议读。如果和 CLRR 并行写入,则无效果)

IOVrh

中断触发溢出标志位

0: 无溢出

1: 有溢出

IOVCLRw

清除中断触发溢出标志位

0: No action

1: 清除 IOV; (读取到的值都是0,因此不建议读)

SWSrh

软件粘滞标志位

0: 中断未通过 SETR 触发

1: 中断通过 SETR 触发

SWSCLRw

清除软件粘滞标志位

0: No action

1: 清除 SWS; (读取到的值都是0,因此不建议读)

Otherrreserved

中断初始化

一般来说,中断初始化要进行的操作包括:

SRC.SRPN : 设置该路中断优先级,有效范围是 [1, 255]

SRC.SRN   : 设置该路中断是否使能

SRC.TOS   : 设置该路中断的 SP. 即进行相应的绑核操作

软中断

TriCore 的中断设计允许每一路中断都可以采用软件触发的方式触发,只需要另 SRC.SETR = 1 就可以触发该路中断。

写SRC.SETR = 1 后,会同时有:

1. SRC.SRR ==1,表明该路中断已经被成功触发,处于 Pending 状态;

2. SRC.SWS ==1,表明该路中断是由软件触发;

要清除软件触发,则需要写:

1. SRC.CLRR =1,清除该路中断的 Pending 状态;

2. SRC.SWSCLR =1,清除该路中断的软件触发粘滞标志位;

笔者认为,相对ARM架构来说,TriCore 的中断设计对软件开发人员来说更友好一些,只需要操作一个寄存器即可完成对该路中断的使能/禁用,触发/清除 等操作,定位问题的时候也相对友好一些。

参考资料:

AURIX TC3xx Family User's Manual Part 1 (infineon.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1667031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity2D 模拟手柄实现玩家移动

1,创建控制器UI 2,挂载脚本 3,脚本编写 基本要素 [Tooltip("玩家游戏体")]public Rigidbody2D player;[Tooltip("玩家速度")]public float speed 1f;[Tooltip("玩家动画")]public Animator animator;public …

本地运行.net项目

有时候需要我们自己做一个.net的课设项目,但是我们有了代码后却不知道怎么运行。我们0基础来学习一下如何运行一个.net项目 1.安装visual studio 2022 不用安装老版本,新版就可以。安装好了2022版本,这是一个支持web的IDE,我们可…

具有CMOS输出,高速响应特点的新型汽车级晶振SG2520CAA

爱普生推出的汽车级晶振SG2520CAA。SG2520CAA是一款CMOS输出的,具有高响应速度的2520封装汽车级晶振,具有低电流消耗,1.6 V至3.63 V的宽工作电压,以及-40C至85C的宽工作温度范围,此外还可提供高达125C的工作温度。符合…

vue3使用setup模式的store报错

** setup store模式 $reset方法报错 ** 顾名思义就是 使用store 使用的是setup 语法模式 不能执行$reset 方法 解决方式: // main.ts import { createPinia } from pinia const pinia createPinia() pinia.use(({ store }) > {const initialState JSON.pars…

算法学习系列(六十):区间DP

目录 引言区间合并模板一、石子合并二、环形石子合并三、能量项链 引言 关于这个区间 D P DP DP ,其实是有套路和模板的,题型的话也是变化不多,感觉就那几种,只不过有些题会用到高精度或者是要记录方案,所以整体来说…

SpringSecurity安全过滤器工作原理

前面通过三篇文章,从底层代码的角度分析了SpringSecurity的初始化过程。 接下来我们就要具体看一下,Spring Security的安全过滤器初始化、装配好之后,到底是怎么工作的。 还是按图索骥 下面我们简单从底层源码分析一下,请求是怎…

英语复习之英语形近词总结(四)

英语形近词总结复习第四部分: 单词 释义例句 genuine 英 /ˈdʒenjuɪn/ 美 /ˈdʒenjuɪn/ adj.真实的,真正的;诚恳的 1.Only genuine refugees can apply for asylum. 只有真正的难民才能申请政治避难。 《牛津词典》 2.This isnt a genui…

Java 区块链应用 | 割韭菜之假如K线涨跌可随意变动修改的实现

大家好,我是程序员大猩猩。 我一直在想,币圈这个行情时涨时跌,不断的割韭菜,不是由市场决定的!而是由交易所直接输入一个数值后点击确定按钮而变化的,那么是不是很恐怖的行为。 为了验证这么一个想法&…

十个最适合论文写作的GPTs及其应用

文章目录 一、GPTs让一切皆有可能二、最适合论文写作的GPTs及其应用1、[Paper Search Engine](https://chat.openai.com/g/g-9v5gHG9Bo)2、[Academic Paper Specialist(学术论文撰写专家)](https://chat.openai.com/g/g-jryw3pfsH)3、[Paper Connect 论文…

day10-Map集合

Map 1.Map 1.1 Map简介 1.为什么使用Map集合 购物车提供的四个商品和购买的数量在后台需要容器存储。 每个商品对象都一一对应一个购买数量。 把商品对象看成是Map集合的键,购买数量看成Map集合的值。 例如: {商品12 , 商品23 , 商品3 2 , 商品4…

msvcp140dll怎么修复,分享5种有效的解决方法

MSVCP140.dll文件丢失这一现象究竟是何缘由,又会引发哪些令人头疼的问题呢?在探索这个问题的答案之前,我们先来深入了解这个神秘的DLL文件。MSVCP140.dll是Microsoft Visual C Redistributable Package的一部分,它扮演着至关重要的…

梦幻西游全新变现,蓝海热门玩法,小白一部手机可操作,日入2000+

亲爱的朋友们,你们好!今天我要给大家分享一个热门、可行的网络赚钱项目——梦幻西游全新变现,蓝海热门玩法,小白一部手机可操作,日入2000。 这个项目不需要花冤枉钱,也是我自己实操过的,非常可…

ppt转pdf的java实现

一、实现方式 java采用jacob包的功能,把ppt演示文稿转换为pdf。 支持文件格式:pptx,ppt 二、事先准备 1、依赖于office,需安装office办公软件 2、需要下载一个jacob-1.20-x64.dll的文件,放到java的bin目录下。 文件可以网上搜…

day10-集合

day10 集合 1.集合概述 1.1为什么要用集合? 当我们在实现购物车功能时,可能需要随时添加新商品对象进来(个数不确定) ,也随时可能删除商品对象,这个时候之前学习的数组不满足我们的需求 1.2 什么是集合&…

职称论文的AIGC检测

和高校毕业论文一样,职称论文也是需要通过AIGC检测系统(www.checkaigc.com),并且也是有一定的要求的。AIGC检测是因为近年来越来越多人开始使用AI写作工具代写论文,为了防止论文中出现过高的AI论文生成内容&#xff0c…

triton编译学习

一 流程 Triton-MLIR: 从DSL到PTX - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/671434808Superjomns blog | OpenAI/Triton MLIR 迁移工作简介https://superjom

品味Fendi club:精酿啤酒的精致与与众不同

啤酒,作为世界三大饮料之一,其口感和品质的差异能给人们带来截然不同的体验。在众多啤酒中,Fendi club以其与众不同的精酿啤酒风格,吸引了无数热爱啤酒的人。 Fendi club啤酒的精致与与众不同,首先体现在其酿造工艺上。…

pyqt显示指定文件夹的所有文件

pyqt显示指定文件夹的所有文件 目的效果代码 目的 选择文件夹后,显示该文件夹的所有文件。 效果 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QPushButton, QListView, QFileDialog,QWidget from PyQt5.QtCore import…

【目标检测论文解读复现NO.37】基于改进的 YOLOv8 变电设备红外图像检测

前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文&#xff0c…

Vellum for Mac v3.7.2激活版:一键创建,轻松出版

还在为繁琐的电子书制作流程而烦恼吗?Vellum for Mac,让您的电子书创作变得轻松简单!支持多种格式导入,自动构建书籍内容,无需担心排版和格式问题。丰富的编辑和排版功能,让您的书籍更加精美。一键导出多种…