1478_英飞凌AURIX TC275 iLLD中的看门狗禁用接口分析
全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com)
继续分析手里的第一个工程,这一次看一下看门狗的禁用接口。这样的推进速度看起来比较慢,但是其实我觉得比较适合我。对于一个知识体系的学习,只看学习的时间周期是否快是不行的,还得去看自己对这个知识体系了解的深度。如果,有一个知识体系做了深度的思考,其他的类似的知识学习的时候可能会是触类旁通的效果。因此,我看这部分的资料并不是很着急,只需要保证我学习上的充实感就好了。
前面花时间把上面接口中的密码获取接口做了一个简单的分析,这一次分析一下看门狗禁用的函数主体,结合文档理解一下这里面的设计。
接口是接收一个看门狗的密码,之后关闭看门狗。那么,MCU中这么多看门狗这个接口关闭的是哪个呢?其实,关闭的是当前代码执行所在的CPU的CPU看门狗。在这个接口执行的时候,会先判断CPU的ID信息,因此在接口设计中可以省略这个信息传入的设计。
接下来,看一下这个函数中的新的接口IfxScuWdt_clearCpuEndinitInline的实现。
这里分了两部分,第一个是看门狗已经锁了的时候,需要进行解锁。其实,这个解锁对应着文档中提到的密码访问或者验证。涉及到的寄存器是看门狗的控制寄存器0。那么,前半段的信息其实就是传入了一个密码,设置了两个bit的值,其他的信息没有改变。这两个bit为什么这么修改呢?
这里有一个要求就是最低的两个bit需要写成二进制的01,这就是第一段代码中的两个bit设置信息的由来。
相应的信息其实从寄存器的功能描述部分也是可以看得到的。
那么,为什么第二段代码中的内容两个bit又反过来了呢?其实,另一个Pattern的要求可以说明,具体就是上面的表。最后,软件中有一个bit确认等待的设计。等待ENDINIT成为1,之所以等待是因为这个bit是硬件控制的,软件修改只是辅助密码校验。
最后,看这部分修改。DR其实是请求了禁用看门狗,但是这个请求并不是直接生效的。
这部分内容的生效需要ENDINIT再次生效,因此,我们能够从上面看到IfxScuWdt_clearCpuEndinitInline、IfxScuWdt_setCpuEndinitInline组成的三明治结构。至于IfxScuWdt_setCpuEndinitInline的实现分析,其实只是IfxScuWdt_clearCpuEndinitInline的一个类似操作,这里不去做深一步的分析了。
再看安全看门狗的禁用设计,其实跟CPU看门狗的处理是类似的。这个实现其实更加简洁了一些,因为没有了CPU ID的判断。相应的ENDINIT的处理跟CPU也是类似的,而且还没有了看门狗模块具体是哪一个的信息判断,因为只有一个。
以上就是英飞凌AURIX TC 275的看门狗禁用接口的一个简单实现分析,感觉上有一个小怪兽被打倒了,我应该可以尝试进入新的关卡了。
1478_英飞凌AURIX TC275 iLLD中的看门狗禁用接口分析相关推荐
- 1479_英飞凌AURIX TC275 iLLD例子中的CPU同步实现分析
全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 原本计划继续向前推进,看一下全新的例子.后来看了一下,现在的软件中还有 ...
- WINCE平台下C#应用程序中使用看门狗
看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数.如果程序运行正常,过一段时间CPU应发出指令让 ...
- linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...
Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...
- 在多任务(RTOS)环境中使用看门狗
最近在SEGGER的博客上看到一篇有关在实时操作系统使用看门狗的文章.从一个失败的太空项目出发,分析了看门狗的作用及使用,自我感觉很有启发,特此翻译此文并推荐给各位同仁.为了阅读方便,有些航天领域名词 ...
- STM32F10xx中独立看门狗(IWDG)和窗口看门狗(WWDG)介绍
本文大部分内容只用到了键盘的3个按键-你懂的 . 简单总结,Markdown了解一下,推荐. 1.看门狗电路介绍 看门狗电路(watchdog timer),又称监控电路.百度百科解释的很详细: 在由 ...
- Android 中的看门狗—Watchdog
Android 中的看门狗-Watchdog 一.SystemServer 进程中初始化.启动看门狗............................................... ...
- Redisson中的看门狗
Redisson中的看门狗 1 使用看门狗的背景 1.1 普通的Redis分布式锁的缺陷 1.2 用看门狗解决自动续期的问题 2 看门狗自动续期机制的理解 3 redisson 看门狗使用以及原理 3 ...
- 1477_AURIX TC275 iLLD中看门狗密码获取接口分析
全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 在基础的工程中有一组看门狗的接口操作,按照前面看文档的理解,这是因为C ...
- 基于英飞凌AURIX TC275 Lite的三核轮休工程
目录 项目介绍 硬件介绍 电源管理 代码结构及说明 三核主程序 GPIO CPU0请求系统休眠 两个系统定时器中断 功能展示 项目总结 项目介绍 本项目基于AURIX TC275 Lite开发板套件, ...
最新文章
- 你真的会写单例模式吗?
- 2018谷歌学术指数发布——看看综合、生物、生信、微生物领域高引文章和杂志
- 2021年春季学期-信号与系统-第八次作业参考答案-第六小题
- python的特点和优点-Python的优点和缺点有哪些?Python语言的特点
- linux下安装glibc-2.14,解决“`GLIBC_2.14‘ not found”问题
- java http请求插件_java http请求工具整理
- EditPlus 文件查找功能:在指定文件夹,用正则查寻包含指定内容的文件,指定文件类型,并排除特殊文件名文件
- linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(上传安装包并解压_05)
- 如何解决PHP startup: Unable to load dynamic library的错误
- javamail 解码 base64 html格式邮件_Spring整合javaMail
- springMVC入门二
- 在本地视频播放中硬解与软解的能耗比体现
- 今晚8:00 | 杜克大学计算进化智能中心(CEI Lab)—— 联邦学习专题!
- 1000瓶药水,其中1瓶有毒,最少要几只老鼠?
- faker 无敌了,专注于制作假数据
- Ng-Alain 菜单图标引入iconfront 版本9.5.5
- 人工智能时代特征初步显现,主要体现在哪几个方面?
- KafkaConsumer is not safe for multi-threaded access
- 自动驾驶(三十二)---------车辆行人识别
- 磊科linux无线网卡驱动安装步骤,如何安装磊科无线网卡驱动教程