1477_AURIX TC275 iLLD中看门狗密码获取接口分析
全部学习汇总: 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中看门狗密码获取接口分析相关推荐
- 1478_英飞凌AURIX TC275 iLLD中的看门狗禁用接口分析
全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 继续分析手里的第一个工程,这一次看一下看门狗的禁用接口.这样的推进速度 ...
- 嵌入式系统中看门狗概述。。。
一直以来对于嵌入式中的watch dog(看门狗)都比较陌生,一直都不知道它到底是做什么的,单从名字上看也不知其所以然,然后就在网上找到了一篇blog,就是再说看门狗的作用和概述,原文如下: 1.概述 ...
- Linux内核中喂狗,m3352linux内核中看门狗喂狗和应用层喂狗方法
1.linux内核模块喂狗方法: #include #include #include #include #include #include #include #include #include st ...
- 嵌入式系统中看门狗的使用
最近需要在板子上加上一块WatchDog,以确保在系统出错时自动重启,所以看了一些在嵌入式系统中使用看门狗的资料,现在总结如下: 一.看门狗原理 在产品化的嵌入式系统中,为了使系统在异常情况下 ...
- 从零实现 独立看门狗IWDG STM32的待机与唤醒,在待机过程中如何喂狗
欢迎大家留言交流~ 前言: 最近在学习原子的阿波罗,进行到待机实验,实验目的是摁下KEY_UP的时候就可以让MCU从待机模式唤醒了.而KEY1在按下的时候进入休眠.(验证过程比较繁琐,只看结论的小伙伴 ...
- STM32F103五分钟入门系列(十三)独立看门狗IWDG
参考:STM32F103五分钟入门系列(十三)独立看门狗IWDG 作者:自信且爱笑' 发布时间:2021-07-31 19:50:28 网址:https://blog.csdn.net/Curnane ...
- linux需要看门狗喂狗程序,多任务看门狗, 喂狗方法
看门狗分和 软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时, 定时器总不能溢出,也就 ...
- 硬件看门狗和软件看门狗
看门狗分硬件看门狗和软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时,定时器总不能溢出 ...
- 多任务看门狗, 喂狗方法
看门狗分硬件看门狗和 软件看门狗.硬件看门狗是利用一个定时器电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零(俗称"喂狗"),因此程序正常工作时, 定时器总不能 ...
最新文章
- Java程序后台运行,即使关掉Putty终端
- 某同学配置了一台计算机,第六章 计算机硬件系统作业答案.doc
- 【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
- java cookie p3p_P3P解决cookie存取的跨域问题
- LeetCode Algorithm 240. 搜索二维矩阵 II
- linux 挂载硬件设备
- Linux学习笔记(七):Shell与Shell Script
- Predictably Irractional - 期望的效应
- Linux的WIFI架构,Linux Wireless架构总结
- DOS命令大全:MS-DOS命令详解
- EI会议列表--IEEE主办的会议
- 长链接转短链接 在线工具详细教程——附上各大短网址性能详细评测
- Canvas 炫彩小球
- QQ 居然被盗了?原因在这......
- Unity设置和显示FPS
- Windows每天定时启动应用程序
- 分布式与集群的区别?
- 牛奶食疗可治多种疾病(图)
- 分层抽样不按比例如何加权_按比例分层抽样和定额抽样的区别?
- 解决ubuntu和windows电脑之间无法复制粘贴问题
热门文章
- 运动都需要什么装备?运动锻炼必备物品推荐
- html标签的多级列表,word如何将标题样式关联多级列表
- nss什么意思计算机网络用语,扩列cqy是什么意思,nss又是什么意思
- 怎么把图片中的文字转换成word
- [FJOI 2016]bzoj 4408 神秘数 - 线段树
- TUP第25期:IT自动化运维
- 罗马数字和阿拉伯数字之间的转换
- excel删除空行_Word如何转Excel?这样操作,数据清晰又直观!
- 深度学习论文笔记(知识蒸馏)—— FitNets: Hints for Thin Deep Nets
- antdvue的table合计行