1536_AURIX_TriCore内核架构_Trap

news2025/2/27 5:45:35

全部学习汇总: GreyZhang/g_tricore_architecture: some learning note about tricore architecture. (github.com)

近段时间一直在跟trap打交道,但是处理得毫无头绪,因此找出来了这一章节看一下。暂时,这方面稍微有了一点框架感,但是还是缺少一些实践上的印证来丰富理论以及实践的结合点。

1. 首先这里引入了一个全新的知识点概念,后面需要去学习一下,那就是不可屏蔽中断。这个在接触ARM的时候就已经看到过了,但是没有弄清楚究竟是什么。

2. Trap一共有8类,这些概念之前的学习中也已经看过了。

3. 出问题之后,TIN会由硬件存储到D[15]之中。

4. 分类方式上,可以分成同步/异步、硬件/软件。

从这个表格看,其实只有少数几个trap是软件触发类的,其他的应该都是MCU内核硬件层面的行为。

1. 同步trap:执行或者尝试执行特殊的指令;访问了需要存储管理系统干预的地址。这样的trap在执行结束之前就可以判定。

2. 异步的trap类似中断,但是不可屏蔽。

3. 硬件中断,主要是MMU相关的。

4. 软件trap,可以通过断言等实现。这里顺便学到了,溢出其实是有几个断言支持的。

不可恢复的中断有一个FCU,之前也看到过。这么看,其实很多trap还是可以恢复的。而我现在看到的大部分的trap处理都是干脆利落,直接停止运行。看起来,这种处理的方式还是有一些欠缺。

1. Trap的处理与中断类似,但是中断的寄存器不会进行修改。

2. Trap的向量处理类似中断,可以类比理解。中断向量的入口是由硬件计算实现的。

3. 返回地址在不同的情况下返回意义以及解析方式不同,这个需要结合具体情况来分析。

4. trap向量表可以放在任意代码区中。

1. 这一页前面这部分与之前的章节有很大的重复,内容重复似乎是这个内核架构手册中的一大特点。但是这也非常好,可以让不同的章节可以有更好的可理解度。

2. 下面的trap处理过程,以及相应寄存器的设置看上去跟中断的处理都十分相似。

这里的一个信息让我觉得奇怪,前面刚刚看到trap不会处理中断,那么为什么又在这里关中断了?

这里,针对不同的trap以及原因做了一个简单的了解。具体的信息倒是可以直接参考笔记中的标注了。

FCD trap出现后的两种处理方法,这个在之前的文档中也是看到过的。看起来,这个内核架构手册的重复度的确是很大。

上面这部分信息主要也是对于TIN的理解,简单看了一下可能的原因。针对load以及fetch的差异后面需要专门学习。

这里看了几个新的TIN的解释,但是针对最后这个计数器减到零之后触发trap,感觉有一些意外。难道现在我接触到的项目中都不会有这种情况?或者说,以增加溢出滚动的方式到0不会触发?

前面还记录了想了解的不可屏蔽中断,这里接着出现了答案。几种典型的情况:NMI直接绑定到一个外部PIN脚;看门狗订一起中断响应;电源失效。

1. trap发生之后,中断不是不可以发生,而是优先级更低。

连续的几个表格给出来了一些trap的优先级。

整体看下来,trap系统不是很复杂,至少从结构路线上看,整体的复杂度甚至还不如中断。这类问题让人望而却步的很大原因或许不是它难,而是少见。

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

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

相关文章

观世界赛事,品足球人生--2022世界杯

观世界赛事,品足球人生 – 2022世界杯 1.卡塔尔世界杯百科 2022年卡塔尔世界杯(英语:FIFA World Cup Qatar 2022)是第二十二届世界杯足球赛,是历史上首次在卡塔尔和中东国家境内举行、也是第二次在亚洲举行的世界杯足…

iwebsec靶场 SQL注入漏洞通关笔记7- 空格过滤绕过

系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1- 数字型注入_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2- 字符型注入(宽字节注入)_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记3- bool注入(布尔型盲注&#…

关于mac上如何U盘

关于mac上如何U盘 背景 使用macbook的大概都会遇到 “如何连接U盘” 的问题,网上会搜到很多教程,我觉得很多都不太实用。 首先这个需求是有的,但是对很多人来说很低频几个月用不到一次,所以得找个顺手靠谱的方法。下面是我经历…

【机器学习入门项目10例】(十):PCA降维:简易人脸识别模型

🌠 『精品学习专栏导航帖』 🐳最适合入门的100个深度学习实战项目🐳🐙【PyTorch深度学习项目实战100例目录】项目详解 + 数据集 + 完整源码🐙🐶【机器学习入门项目10例目录】项目详解 + 数据集 + 完整源码🐶🦜【机器学习项目实战10例目录】项目详解 + 数据集 +

C++——电话号码的字母组合问题

文章目录电话号码的字母组合题目链接思路:代码:调试演示电话号码的字母组合 题目链接 思路: 首先使用string类的数组存储每个数字对应的所有可能的字母,然后进行回溯操作。 string arr[] { "","","…

分享88个NET源码,总有一款适合您

链接:https://pan.baidu.com/s/1dPlj8w-rvVQXuJOHPO6tBA?pwddj0d 提取码:dj0d 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。 启明星Appform员工请假系统 25175云酒店管…

微模块化炙手可热,数据中心走向智能化取胜

近年来,“微模块化”成为数据中心领域炙手可热的话题。 Gartner《企业数据中心未来趋势报告》预测,AI、5G、新型电池、模块化设计思想等将改变数据中心的未来,数据中心将走向分散化,并且预计到2025年,微数据中心的数量…

(附源码)python电影院信息管理系统 毕业设计 021844

电影院信息管理系统的设计与实现 摘 要 在信息飞速发展的今天,网络已成为人们重要的信息交流平台。电影院每天都有大量的信息需要通过网络发布,为此,本人开发了一个基于B/S(浏览器/服务器)模式的电影院信息管理系统。 …

你的NET程序需要保护吗?Agile.net 6.6.X 注入式Crack

Agile.net 使用专利技术将 MSIL 代码转换为虚拟操作码,只有安全的虚拟机才能理解。虚拟机直接处理虚拟操作码,模拟原始代码行为而不将代码转换回其原始形式。破坏保护成为NP完全问题,从而使Agile.net成为唯一保证您的代码不会被破坏的混淆器&…

【保姆级】手把手Debug循环依赖的整体流程

我们先看一下循环依赖,这样看、 或者这样看、 一提到循环依赖基本必提三级缓存,本篇又是篇保姆级的Debug教程,详解出现循环依赖Spring处理的全过程,之前也介绍过一些与本篇相关的内容: 想瞅瞅三级缓存的庐山真面目可以…

2022/11/27[指针] 指针与函数基础

程序&#xff1a;求10个数的最大数 1、定义指向函数的指针变量调用函数的方法 一般定义形式为&#xff1a;类型名 &#xff08;*指针变量名)()&#xff1b; #include<stdio.h> int main() {int i, m, a[10], max(int* p);int (*f)();for (i 0; i < 10; i)scanf_s(&q…

牛客网基础知识强化巩固-周结03

数组强化训练篇 2022-11-21 打卡 知识点总结 什么是渐进时间复杂度 渐进时间复杂度是指n趋于无穷时的复杂度。向有序表中任意一个位置插入元素&#xff0c;插入位置之后的元素依次挪动一个位置&#xff0c;假设元素插入的位置坐标为k&#xff0c;则时间复杂度为O(k)&#xf…

名词性从句

目录 1.名词性从句 1.1陈述句 1.2一般疑问句变名词性从句 1.3特殊疑问句变名词性从句 1.4特别的what 2.同位语从句 3.同位语从句与定语从句的区别 4.同位语从句的巅峰知识点 5.主语从句 5.2 并列主语从句 5.3主语从句巅峰知识点 6.宾语从句 主系表是不能被动的。所以第…

WPF-控件的常用属性-单例-隧道事件

特殊字符 小于< 大于> 空格xml:space"preserve" 例如&#xff1a;TextBox Grid.Column"1" xml:space"preserve">aaaaa .</TextBox> 从一个xaml文件中获取xaml内容 //DependencyObject是wpf控件的基类&#xff0c;它可以放到…

Ubuntu 安装“安装程序向硬盘复制文件时遇到错误[Errno 5] Input/output error”错误解决过程记录

前阵子装 Ubuntu&#xff0c;原本已经装了几百遍的系统它又双叒叕出问题了&#xff0c;问题内容就如标题看到的那样。解决过程中经历了很多坎坷&#xff0c;不过好在最后还是成功了~ 下面整理了一下我解决问题的过程&#xff0c;需要自取~ 方法 1&#xff1a;烧录 U 盘时文件格…

chapter3——处理多个时钟

目录1.多时钟域2.多时钟域设计的难题3.多时钟设计的处理技术时钟命名规则分模块设计跨时钟域4.跨时钟域同频零相位差时钟同频恒定相位差时钟非同频、可变相位差时钟整数倍频率的时钟非整数倍频率的时钟5.握手信号方法6.使用同步FIFO传输数据7.异步FIFO1.多时钟域 常见的多时钟…

linux环境验证c++程序库间调用

目录 0 背景 1 VMware、以及linux安装 2 安装QtCreator 2.1 下载速度慢&#xff0c;使用国内镜像 2.2 执行有问题&#xff0c;修改权限 2.3 验证是否可用 2.4 调试&#xff08;待解决&#xff09; 3 开发程序进行验证 4 其他问题 4.1 虚拟机与主机无法拷贝文件&#x…

python3-函数与参数以及空值

目录画星星空值None函数与Lambda一、函数定义二、引用变量查找三、传值调用函数四、函数对象五、函数文档旋转角度绘制函数图形画星星 程序2-7-7主要使用turtle.forward前进操作和turtle.left左转操作在屏幕上画星星。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- #2-7-…

操作符详解(1)

目录 一、操作符分类 二、算术操作符 三、位移操作符 1、<< 左位移操作符号 2、>> 右位移操作符 四、位操作符 1、& --- 按位与 2、| --- 按位或 3、^ --- 按位异或 变态题 五、赋值操作符 符合赋值符 一、操作符分类 操作符也被称为运算符。 …

小程序注册安装以及新手快速入门教程

一、注册并安装微信小程序 1.打开 https&#xff1a;//mp.weixin.qq.com/ 网址&#xff0c;点击立即注册即可进入小程序开发账号的注册流程&#xff0c;注册的账号类型选择小程序。 2.根据注册要求注册&#xff0c;发送邮箱信息&#xff0c;接收到微信团队发送的邮箱信息后&am…