【ESP32】反复重启

2023-11-20

ESP32开发 反复重启

串口输出如下所示:

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 188777542, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
Power: Waiting...
Power: ON
Encoder init start...
Guru Meditation Error: Core  1 panic'ed (StoreProhibited). Exception was unhandled.
Core 1 register dump:
PC      : 0x400d12d1  PS      : 0x00060530  A0      : 0x800d15f4  A1      : 0x3ffb1f60
A2      : 0x3ffca144  A3      : 0x40086a94  A4      : 0x0800001c  A5      : 0x00000003
A6      : 0x00000003  A7      : 0x00000000  A8      : 0x00000000  A9      : 0x00000007
A10     : 0x3ff440ec  A11     : 0x400d11a4  A12     : 0x3ffc1a10  A13     : 0x00000000
A14     : 0x3ff59000  A15     : 0x00000000  SAR     : 0x00000005  EXCCAUSE: 0x0000001d  
EXCVADDR: 0x00000000  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xffffffff

ELF file SHA256: 0000000000000000

Backtrace: 0x400d12d1:0x3ffb1f60 0x400d15f1:0x3ffb1f80 0x400ec1ee:0x3ffb1fb0 0x40089a32:0x3ffb1fd0

Rebooting...
ets Jun  8 2016 00:22:57

经过调试,发现是结构体的使用出现了问题。
使用结构体的时候只定义了一个结构体指针,这样并没有给结构体分配空间,所以在给结构体赋值的时候,程序找不到地址空间进行操作,所以出现了CPU异常。
报错信息中,StoreProhibited应该就是指这个原因。

下次得注意结构体的使用,应该是学C过了很久了,期间很少使用结构体,导致不熟练。不过好在,现在排查出来了,但花费的时间过长,之后应该注意调试流程。

Controller_Action * encoder_act_info;
void func(void)
{
	encoder_act_info->xxx = 1; // WRONG!!!!!
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ESP32】反复重启 的相关文章

  • mapState的使用(常用)

    mapState作用 可以辅助获取到多个state的值 怎么使用 1 在 vue组件中引入 在js块中引入 import mapState from vuex 2 在 vue组件中computed下定义一个对象 computed mapSt
  • Go中 Redis Client的使用

    文章目录 常见操作 List 操作 Pipeline 使用 在 Go 语言中使用 Redis 时 可以使用第三方库实现 Redis Client 的封装 本文介绍如何使用 Go 语言的 redisClient 去连接 Redis 服务器 并
  • Vue中数组的常用方法

    数组的方法分为变更方法和替换数组 变更方法 push push 方法可向数组的末尾添加一个或多个元素 并返回新的长度 pop pop 方法用于删除数组的最后一个元素并返回删除的元素 改变数组的长度 shift shift 方法用于把数组的第

随机推荐

  • 通过JSP网页连接并读取MySQL数据库中的表

    学习任务要求 配置JDBC使JSP网页能连接MYSQL数据库 用Navicat Premium在MYSQL数据库中建立一张表 在连接好后的JSP网页中显示出MYSQL数据库中的表 前言 在前面 我们已经学习了如何建立 发布和访问JSP网页
  • windows下如何禁止某个特定的应用程序

    windows下如何禁止某个特定的应用程序 最近 想了下如何禁止打开windows下的特定应用程序 查阅资料后终于解决了 下面把具体方法分享给大家 以禁止当前主流游戏 英雄联盟为例 1 win R打开运行栏 输入gpedit msc 2 点
  • 基于SSM框架实现一个用户系统(登录,用户列表,分页,增删改查,用户角色管理功能)

    首先搭建一个Maven工程 配置好Tomcat mybatis等 数据库 tb role tb user user role 这里只给了第一个用户管理员限权 可以对其他用户添加管理员 必须要用第一个用户登录 bean 这三个就不用多说了 直
  • MVC三层架构

    1 MVC三层架构 MVC Model View Controller 是一种常见的软件设计模式 用于组织和管理应用程序的代码和逻辑 它将应用程序分为三个主要部分 模型 Model 视图 View 和控制器 Controller 每个部分都
  • MOS管原理-1

    P型半导体参杂价电子为3的元素 一般为硼 因为硼的价电子比硅少一个 所以在共价键中少了一个电子 留下了空穴 空穴会吸引自由电子过来 入住 所以参与导电的是空穴 N型半导体参杂价电子为5的元素 一般为砷 因为砷的价电子比硅多一个 所以在N型半
  • Java Word转PDF

    两种方式 documents4j groupdocs 一 documents4j 1 添加依赖
  • Springer独立出版

    会议简介 Brief Introduction 2023年触觉与虚拟现实国际会议 ICHVR 2023 会议时间 2023年12月15日 17日 召开地点 中国 北海 大会官网 www ichvr org 2023年触觉与虚拟现实国际会议
  • C++ primer目录

    目录 第1章 快速入门 1 1 编写简单的C 程序 1 2 初窥输入 输出 1 2 1 标准输入与输出对象 1 2 2 一个使用IO库的程序 1 3 关于注释 1 4 控制结构 1 4 1 while语句 1 4 2 for 语句 1 4
  • IT痴汉的工作现状26-好项目,坏项目

    塞翁失马焉知非福 淮南子 人间训 祸兮 福之所倚 福兮 祸之所伏 老子 命运就是这样 当他给你关闭一扇门的同时也为你打开了另一扇门 同样 当他给你打开一扇门的同时也为你关闭了一扇门 有些事情 我们要用辩证的观点去看 人生如此 项目亦如此 伟
  • 数学建模——论文排版

    目录 一 参考文献的排版 1 三种方案 通常使用方案一 方案一有两种方法 2 参考文献排版要点总结 二 附录的排版 具体方法 补充 代码高亮 三 表格标题自动编号 进阶做法 四 公式编辑软件的介绍 1 LaTeX 较难 有时间可学 2 wo
  • AI会议排名_周志华

    AI会议排名 周志华 http blog sina com cn s blog 631a4cc40100xl7d html 南京大学周志华教授写的一个很经典的帖子 不过IJCAI能不能算成是no 1的会议有待商榷 不过总体还算客观 说明 纯
  • Dubbo远程传输协议详解

    前言 上次小编为大家带来了Dubbo调用及容错机制详解 不知道大家有没有去看小编最后留下的问题 欢迎对文章进行评论也希望大家和小编多多交流 今天接着为大家带来Dubbo的内容 传输协议 上次调用机制中并没有涉及Dubbo传输的协议 这次容小
  • 多线程下载文件(支持暂停、取消、断点续传)

    多线程下载文件 支持暂停 取消 断点续传 多线程同时下载文件即 在同一时间内通过多个线程对同一个请求地址发起多个请求 将需要下载的数据分割成多个部分 同时下载 每个线程只负责下载其中的一部分 最后将每一个线程下载的部分组装起来即可 涉及的知
  • 看完这篇 教你玩转渗透测试靶机Vulnhub——HarryPotter:Aragog(1.0.2)

    Vulnhub靶机HarryPotter Aragog渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机安装 Vulnhub靶机漏洞详解 信息收集 漏洞发现 漏洞利用 数据库语句查询 SSH登入 备份文件提权
  • unable to install breakpoint in com... $ $FastClassBySpringCGLIB$ $12fabbfc due to missing line numb

    问题 unable to install breakpoint in com FastClassBySpringCGLIB 12fabbfc due to missing line number attributes Modify comp
  • linux定时执行shell脚本

    一 cron调度进程 c r o n是系统主要的调度进程 可以在无需人工干预的情况下运行作业 有一个叫做 c r o n t a b的命令允许用户提交 编辑或删除相应的作业 每一个用户都可以有一个c r o n t a b文件 来保存调度信
  • 量化投资学习-36:选股的基本方式

    1 选择的总原则 1 强者恒强 热点龙头 2 超跌反弹 星空雷达 2 策略总原则 1 主策略 1 2 辅策略 N 3 候选指标 趋势 支撑线 压力线 短期趋势通道 长期趋势通道 布林线 震荡 MACD底特征 KDJ震荡超卖 9转序列低9 能
  • 4大主流CPU处理器技术架构

    推荐阅读 浅谈linux 内核网络 sk buff 之克隆与复制 深入linux内核架构 进程 线程 了解Docker 依赖的linux内核技术 导读 RISC 精简指令集计算机 是一种执行较少类型计算机指令的微处理器 起源于80年代的MI
  • 【C++】STL中list容器内部元素的移动和交换

    文章目录 前言 一 list是什么 二 元素移动 1 插入 删除 2 切除 拼接 三 元素交换 1 元素值交换 2 元素 节点 交换 总结 前言 提示 list insert list erase list splice std iter
  • 【ESP32】反复重启

    ESP32开发 反复重启 串口输出如下所示 rst 0xc SW CPU RESET boot 0x13 SPI FAST FLASH BOOT configsip 188777542 SPIWP 0xee clk drv 0x00 q d