全部学习汇总: 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系统不是很复杂,至少从结构路线上看,整体的复杂度甚至还不如中断。这类问题让人望而却步的很大原因或许不是它难,而是少见。

1536_AURIX_TriCore内核架构_Trap相关推荐

  1. 【Linux 内核 内存管理】内存管理架构 ① ( 内存管理架构组成 | 用户空间 | 内核空间 | MMU 硬件 | Linux 内核架构层次 | Linux 系统调用接口 )

    文章目录 一.内存管理架构组成 ( 用户空间 | 内核空间 | MMU 硬件 ) 二.Linux 内核架构层次 三.Linux 系统调用接口 一.内存管理架构组成 ( 用户空间 | 内核空间 | MM ...

  2. Tensorflow源码解析1 -- 内核架构和源码结构

    1 主流深度学习框架对比 当今的软件开发基本都是分层化和模块化的,应用层开发会基于框架层.比如开发Linux Driver会基于Linux kernel,开发Android app会基于Android ...

  3. Cortex M3内核架构

    CortexM3内核架构 宗旨:技术的学习是有限的,分享的精神是无限的. 1.ARMCortex-M3处理器 Cortex-M3处理器内核是单片机的中央处理单元( CPU). 完整的基于CM3的MCU ...

  4. ARM CORTEX-M3 内核架构理解归纳

    ARM CORTEX-M3 内核架构理解归纳 来源:网络 个人觉得对CM3架构归纳的非常不错,因此转载 基于<ARM-CORTEX M3 权威指南>做学习总结: 在我看来,Cotex-M3 ...

  5. 关于ARM的内核架构

    @TOC张凌001 关于ARM的内核架构 很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是 ...

  6. STM32 快速入门(内核架构,启动方式,开发参考资料,芯片选型)

    文章目录 1.启动方式(Start up) 2.开发参考资料 2.1 STM32 中文参考手册 3.通常的芯片选型步骤 4.存储器和总线构架 4.1 系统构架 4.1.1 ICode 总线 4.1.2 ...

  7. 风雷影音v2.1.1.0落雪梨花绿色精简版【首家独创双播放内核架构、全面支持高清格式】...

    风雷影音v2.1.1.0落雪梨花绿色精简版[首家独创双播放内核架构.全面支持高清格式] 软件名称: 风雷影音v2.1.1.0版精简绿化制作: ㊣:保留基本解码组件,已能满足日常视频播放要求: ㊣:保留 ...

  8. 搭建《深入Linux内核架构》的Linux环境

    搭建<深入Linux内核架构>的Linux环境 阅读目录(Content) 作者 软件 概述 正文 一.安装GCC 二.编译Linux内核 三.制作跟文件系统 四.运行qemu 五.启动l ...

  9. 1541_AURIX_TriCore内核架构_内核调试控制器CDC

    全部学习汇总: GitHub - GreyZhang/g_tricore_architecture: some learning note about tricore architecture. 这一 ...

最新文章

  1. Lintcode: Kth Smallest Number in Sorted Matrix
  2. 新手入门深度学习 | 2-3:文本数据建模流程示例
  3. Zookeeper实现注册与发现
  4. jedis jedispool Redistemplate
  5. 【js】JavaScript parser实现浅析
  6. 软件验收测试报告报价,软件验收测试介绍和软件验收报告的费用是多少?
  7. 一篇个人认为对RNN写的比较好的文章
  8. Java基础,无许复杂语句,倒序输出整数,int i = 123;输出321
  9. 在线考试系统源码 在线教育源码
  10. O365 Onedrive使用手册
  11. 微信记账小程序-共享账本(附源码及说明),你值得拥有
  12. 全新体验的飞冰 2.0 正式发布
  13. Unity3D 学习笔记6 ——协程
  14. 更换android开机动画须选择好正确的压缩格式
  15. 计算机社团活动效果取得成绩,电脑社团工作总结
  16. android更新软件,Android软件的自动更新
  17. dns缓存、cnd缓存、浏览器缓存
  18. 4.9. 相等的多项式
  19. 高效开发,项目中是否有聚合服务接口
  20. asp.net web快速开发mvc网站框架源码

热门文章

  1. 京东搜索页爬虫商品店铺信息
  2. Mac 上使用Charles抓包 抓不到手机端的原因
  3. 如何使用Google Chrome的画中画模式
  4. 【技术分享】MPL3115A2模块测量气压与海拔高度
  5. 深入理解微信小程序的底层框架(一)
  6. ubuntu服务器系统操作,Ubuntu服务器入门操作手册.pdf
  7. Pygame:飞机大战5(详细解读)
  8. Python中GIL详解
  9. Unity3D 实现六角形花纹效果
  10. 我的武功太争气,居然能自己修炼(三)