全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com)

在基础的工程中有一组看门狗的接口操作,按照前面看文档的理解,这是因为CPU0的看门狗定时器是默认启动的。因此,为了保证例程能够正常运行,这里进行了看门狗的禁用。

这一组看门狗的接口操作主要是指的这部分,这一次,我来尝试分析一下IfxScuWdt_getCpuWatchdogPassword接口的实现。

从命名语义看,这个函数的功能是明确的,就是获取CPU看门狗定时器的密码。更确切有点,应该是获取当前CPU的看门狗定时器密码,因为这里判断了内核ID。这样,我们的接口分析应该就转向了对立面这个接口实现的分析。

关于MCU的数据结构抽象以及与地址的映射处理,分析的意义不是很大,这只是语言表达技巧,简单注意一下就好。

这是一个内联函数,通过看门狗的控制寄存器0来获取相应的密码信息。这个密码信息的获取不是读取一个寄存器就结束了,而是经过了一定的运算。为了能够看清运算的结果,我增加了两个全局量存储中间的信息,后面就可以通过打印看到这其中的变化。

打印的信息我是按照二进制来打印的,这主要是我看了文档之后进行的一个简单的设计修改。接下来先看打印的结果,之后再结合文档来理解。

从上面的结果可以看出来,读出来的原始信息是0b11,获取到的密码是0b111100。为什么会是这样的状态呢?接下来需要参考一下文档。

这是对这个寄存器位域的解释,这个信息其实是用户定义的密码区域。读取的时候,bit7~bit2的信息是翻转的,这算是一种安全设计。读出来进行了翻转,那么想要恢复就得再翻转回去,这也就解释了前面的代码的行为了。而从打印的结果看,其实也能够看得出来这个翻转的效果。从结果看,获取到的密码其实是默认的密码信息。

那么为什么用这个异或操作呢?按位进行异或操作其实是最简单的一个方式,如果跟每一个bit都是1的数值进行按位异或,那么不是1的信息会出来一个1,而不是1就一定是0。如果是1,那么出来的是0。这也就实现了0变成1,1变成0的翻转操作。

有了上面的基础,其实再处理安全看门狗也就很容易了,这是很类似的操作。

安全看门狗是系统级的,跟独立的CPU没有绑定关系,因此这个接口更简洁了一步。

密码处理方面,采用的方式一致。这样,文档也都不需要再进行分析落实了。

以上是对TC275的看门狗,确切说是看门狗定时器如何获取密码的接口进行的简单分析。看起来,后面似乎得了解下如何去把这个用户密码修改掉,因为这样比较有实用的价值。

1477_AURIX TC275 iLLD中看门狗密码获取接口分析相关推荐

  1. 1478_英飞凌AURIX TC275 iLLD中的看门狗禁用接口分析

    全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 继续分析手里的第一个工程,这一次看一下看门狗的禁用接口.这样的推进速度 ...

  2. 嵌入式系统中看门狗概述。。。

    一直以来对于嵌入式中的watch dog(看门狗)都比较陌生,一直都不知道它到底是做什么的,单从名字上看也不知其所以然,然后就在网上找到了一篇blog,就是再说看门狗的作用和概述,原文如下: 1.概述 ...

  3. Linux内核中喂狗,m3352linux内核中看门狗喂狗和应用层喂狗方法

    1.linux内核模块喂狗方法: #include #include #include #include #include #include #include #include #include st ...

  4. 嵌入式系统中看门狗的使用

    最近需要在板子上加上一块WatchDog,以确保在系统出错时自动重启,所以看了一些在嵌入式系统中使用看门狗的资料,现在总结如下: 一.看门狗原理     在产品化的嵌入式系统中,为了使系统在异常情况下 ...

  5. 从零实现 独立看门狗IWDG STM32的待机与唤醒,在待机过程中如何喂狗

    欢迎大家留言交流~ 前言: 最近在学习原子的阿波罗,进行到待机实验,实验目的是摁下KEY_UP的时候就可以让MCU从待机模式唤醒了.而KEY1在按下的时候进入休眠.(验证过程比较繁琐,只看结论的小伙伴 ...

  6. STM32F103五分钟入门系列(十三)独立看门狗IWDG

    参考:STM32F103五分钟入门系列(十三)独立看门狗IWDG 作者:自信且爱笑' 发布时间:2021-07-31 19:50:28 网址:https://blog.csdn.net/Curnane ...

  7. linux需要看门狗喂狗程序,多任务看门狗, 喂狗方法

    看门狗分和 软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时, 定时器总不能溢出,也就 ...

  8. 硬件看门狗和软件看门狗

    看门狗分硬件看门狗和软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时,定时器总不能溢出 ...

  9. 多任务看门狗, 喂狗方法

    看门狗分硬件看门狗和 软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时, 定时器总不能 ...

最新文章

  1. Java程序后台运行,即使关掉Putty终端
  2. 某同学配置了一台计算机,第六章 计算机硬件系统作业答案.doc
  3. 【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
  4. java cookie p3p_P3P解决cookie存取的跨域问题
  5. LeetCode Algorithm 240. 搜索二维矩阵 II
  6. linux 挂载硬件设备
  7. Linux学习笔记(七):Shell与Shell Script
  8. Predictably Irractional - 期望的效应
  9. Linux的WIFI架构,Linux Wireless架构总结
  10. DOS命令大全:MS-DOS命令详解
  11. EI会议列表--IEEE主办的会议
  12. 长链接转短链接 在线工具详细教程——附上各大短网址性能详细评测
  13. Canvas 炫彩小球
  14. QQ 居然被盗了?原因在这......
  15. Unity设置和显示FPS
  16. Windows每天定时启动应用程序
  17. 分布式与集群的区别?
  18. 牛奶食疗可治多种疾病(图)
  19. 分层抽样不按比例如何加权_按比例分层抽样和定额抽样的区别?
  20. 解决ubuntu和windows电脑之间无法复制粘贴问题

热门文章

  1. 运动都需要什么装备?运动锻炼必备物品推荐
  2. html标签的多级列表,word如何将标题样式关联多级列表
  3. nss什么意思计算机网络用语,扩列cqy是什么意思,nss又是什么意思
  4. 怎么把图片中的文字转换成word
  5. [FJOI 2016]bzoj 4408 神秘数 - 线段树
  6. TUP第25期:IT自动化运维
  7. 罗马数字和阿拉伯数字之间的转换
  8. excel删除空行_Word如何转Excel?这样操作,数据清晰又直观!
  9. 深度学习论文笔记(知识蒸馏)—— FitNets: Hints for Thin Deep Nets
  10. antdvue的table合计行