全部学习汇总: 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中的看门狗禁用接口分析相关推荐

  1. 1479_英飞凌AURIX TC275 iLLD例子中的CPU同步实现分析

    全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 原本计划继续向前推进,看一下全新的例子.后来看了一下,现在的软件中还有 ...

  2. WINCE平台下C#应用程序中使用看门狗

    看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数.如果程序运行正常,过一段时间CPU应发出指令让 ...

  3. linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...

    Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...

  4. 在多任务(RTOS)环境中使用看门狗

    最近在SEGGER的博客上看到一篇有关在实时操作系统使用看门狗的文章.从一个失败的太空项目出发,分析了看门狗的作用及使用,自我感觉很有启发,特此翻译此文并推荐给各位同仁.为了阅读方便,有些航天领域名词 ...

  5. STM32F10xx中独立看门狗(IWDG)和窗口看门狗(WWDG)介绍

    本文大部分内容只用到了键盘的3个按键-你懂的 . 简单总结,Markdown了解一下,推荐. 1.看门狗电路介绍 看门狗电路(watchdog timer),又称监控电路.百度百科解释的很详细: 在由 ...

  6. Android 中的看门狗—Watchdog

     Android 中的看门狗-Watchdog 一.SystemServer 进程中初始化.启动看门狗............................................... ...

  7. Redisson中的看门狗

    Redisson中的看门狗 1 使用看门狗的背景 1.1 普通的Redis分布式锁的缺陷 1.2 用看门狗解决自动续期的问题 2 看门狗自动续期机制的理解 3 redisson 看门狗使用以及原理 3 ...

  8. 1477_AURIX TC275 iLLD中看门狗密码获取接口分析

    全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 在基础的工程中有一组看门狗的接口操作,按照前面看文档的理解,这是因为C ...

  9. 基于英飞凌AURIX TC275 Lite的三核轮休工程

    目录 项目介绍 硬件介绍 电源管理 代码结构及说明 三核主程序 GPIO CPU0请求系统休眠 两个系统定时器中断 功能展示 项目总结 项目介绍 本项目基于AURIX TC275 Lite开发板套件, ...

最新文章

  1. 你真的会写单例模式吗?
  2. 2018谷歌学术指数发布——看看综合、生物、生信、微生物领域高引文章和杂志
  3. 2021年春季学期-信号与系统-第八次作业参考答案-第六小题
  4. python的特点和优点-Python的优点和缺点有哪些?Python语言的特点
  5. linux下安装glibc-2.14,解决“`GLIBC_2.14‘ not found”问题
  6. java http请求插件_java http请求工具整理
  7. EditPlus 文件查找功能:在指定文件夹,用正则查寻包含指定内容的文件,指定文件类型,并排除特殊文件名文件
  8. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(上传安装包并解压_05)
  9. 如何解决PHP startup: Unable to load dynamic library的错误
  10. javamail 解码 base64 html格式邮件_Spring整合javaMail
  11. springMVC入门二
  12. 在本地视频播放中硬解与软解的能耗比体现
  13. 今晚8:00 | 杜克大学计算进化智能中心(CEI Lab)—— 联邦学习专题!
  14. 1000瓶药水,其中1瓶有毒,最少要几只老鼠?
  15. faker 无敌了,专注于制作假数据
  16. Ng-Alain 菜单图标引入iconfront 版本9.5.5
  17. 人工智能时代特征初步显现,主要体现在哪几个方面?
  18. KafkaConsumer is not safe for multi-threaded access
  19. 自动驾驶(三十二)---------车辆行人识别
  20. 磊科linux无线网卡驱动安装步骤,如何安装磊科无线网卡驱动教程

热门文章

  1. dell笔记本开机时,U盘启动盘不能识别的问题
  2. 大数据培训技术Kibana
  3. css使用font-face引入阿里图标库的图标 - Kaiqisan
  4. selenium模拟登陆淘宝
  5. 区块链技术之“局”待破
  6. 查询mysql的函数_数据库基本查询函数
  7. 【转贴】解析IAR的ILINK链接器icf配置文件
  8. 名编辑电子杂志大师教程 | 主题应用设置
  9. ubuntu任务管理器
  10. Mac下安装Tomcat以及IDEA中的配置