当前位置: 首页 > news >正文

STM32MP135裸机编程:使用软件触发硬件复位

0 参考资料

STM32MP13xx参考手册.pdf

1 使用寄存器实现软件复位

1.1 复位电路概述

在这里插入图片描述
重点关注下面标红的路线:
在这里插入图片描述
通过这条路线可以清楚看到,我们可以通过设置RCC_MP_GRSTCSETR寄存器让RPCTL(复位脉冲控制器)给NRST(硬件复位引脚)一个复位脉冲信号,从而让软件实现硬件复位。

1.2 RCC全局复位控制设置寄存器描述

在这里插入图片描述
通过设置RCC_MP_GRSTCSETR寄存器的bit0为1即可通过软件实现硬件复位。

1.3 实践

#define RCC_MP_GRSTCSETR_MPSYSRST_Pos              (0U)
#define RCC_MP_GRSTCSETR_MPSYSRST_Msk              (0x1UL << RCC_MP_GRSTCSETR_MPSYSRST_Pos)             /*!< 0x00000001 */
#define RCC_MP_GRSTCSETR_MPSYSRST                  RCC_MP_GRSTCSETR_MPSYSRST_Msk                       /*!< System reset Set by software, cleared by hardware. */
/*** @brief CPU复位* */
void cpu_reset(void)
{RCC->MP_GRSTCSETR = RCC_MP_GRSTCSETR_MPSYSRST;
}

stm32MP135的HAL库已经有RCC_MP_GRSTCSETR寄存器的定义,我们只需要将bit0设置为1即可触发硬件复位。

相关文章:

  • Android系统system.exit(10);里面10代表的涵义,以及其他可以赋值数字可以是多少?
  • 如何使用PHP根据输入文字动态调整图片尺寸?
  • 数据库。
  • IDEA 一键部署Docker
  • Unity动画系统(2)
  • Zookeeper底层原理
  • 【Linux】虚拟机安装 openEuler 24.03 X86_64
  • 【Linux】正确的关机方法
  • 通过代理从ARDUINO IDE直接下载开发板包
  • LLMs之gpt_academic:gpt_academic的简介、安装和使用方法、案例应用之详细攻略
  • 板凳----Unix 网络编程卷1: 第三章: 套接字编程简介
  • Leetcode秋招冲刺--(专题7-9)
  • 原生js如何播放m3u8文件的视频,并且实现切换视频源
  • 现代智能宠物喂食器方案定制
  • Node.js的应用场景
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 4. 路由到控制器 - Laravel从零开始教程
  • Codepen 每日精选(2018-3-25)
  • emacs初体验
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • mysql外键的使用
  • node.js
  • Python 基础起步 (十) 什么叫函数?
  • vue总结
  • 关于for循环的简单归纳
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 用 Swift 编写面向协议的视图
  • 用element的upload组件实现多图片上传和压缩
  • 源码安装memcached和php memcache扩展
  • ​如何防止网络攻击?
  • ### RabbitMQ五种工作模式:
  • #WEB前端(HTML属性)
  • (AngularJS)Angular 控制器之间通信初探
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (五)IO流之ByteArrayInput/OutputStream
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET构架之我见
  • [<事务专题>]
  • [20170705]lsnrctl status LISTENER_SCAN1
  • [CF543A]/[CF544C]Writing Code
  • [Cloud Networking] Layer3 (Continue)
  • [Google Guava] 1.1-使用和避免null
  • [Google Guava] 2.1-不可变集合
  • [hive] posexplode函数
  • [IE编程] WebBrowser控件中设置页面的缩放
  • [iOS]如何删除工程里面用cocoapods导入的第三方库
  • [JavaScript]如何讓IE9, IE8, IE7, IE6關閉視窗時不彈出對話訊息