ESP8266调试方法

2023-05-16

ESP8266在开发的过程中无法进行仿真,所以,为了排查问题,我们只能用别的方法,下面一起来看看常用的两种方法:添加UART打印和Fatal 查证方法。


添加UART打印


对于 ESP8266_NONOS_SDK,示例代码:

os_printf("SDK version:%s\n", system_get_sdk_version());

对于 ESP8266_RTOS_SDK,示例代码:

printf("SDK version:%s\n", system_get_sdk_version());



Fatal 查证方法


如果运行过程中,出现 fatal exception 打印信息,ESP8266 会触发看门狗异常重启。

 

下面以我在开发中实际遇到的一次Fatal信息为例,来说明下查证方法,我使用的是ESP8266_RTOS_SDK的工程,实际出现此信息的打印如下:

Fatal exception (28): 
epc1=0x401000e3
epc2=0x00000000
epc3=0x00000000
epcvaddr=0x00011bb0
depc=0x00000000
rtn_add=0x401003d4

查证步骤如下:

1. 在当前运行固件的文件夹 (ESP8266_RTOS_SDK-master\bin\upgrade)中,找到当前运行固件对应的.s文件,注意目录可能跟你的不一样。

例如,烧录运行的是user1.4096.new.6.bin,则对应user1.4096.new.6.s文件。

2. 在运行固件对应的 .s 文件中搜索 exception 报错的 epc1 地址,如上例中是epc1=0x401000e3,那就在对应的.s文件中搜索401000e3,定位问题出现在哪个函数。搜索结果显示如下:


3. 在工程中搜索定位的函数接口,然后查看是否能明显看出问题所在。如果不能,就在出现问题的函数调用前后,添加 UART 打印信息,进一步查证来排查问题。





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ESP8266调试方法 的相关文章

随机推荐

  • C++简介( C++ Primer Plus)

    C 43 43 历史 xff1a 1980年 xff0c 贝尔实验室的 Bjarne Stroustrup 本贾尼 斯特劳斯 开始对C进行改进和扩充 1983年正式命名为C 43 43 支持3钟不同的程序设计 过程化程序设计 数据 43 算
  • 树莓派3B+ 引脚图说明

    如上图所示 xff0c 我们可以很清楚的看到各个引脚的功能 例如我们想使用pwm引脚来控制舵机 xff0c 则我们可以考虑使用其中的 BCM18 PWM0 和 BCM13 PWM1 在使用wiringPi库时 xff0c 我们定义的引脚即B
  • 树莓派3B+ 串口使用大全(实现串口通信功能)

    1 树莓派串口控制台功能 在2018 10 09 raspbian stretch img镜像中 xff0c 要使用串口来调试设备 xff0c 需要修改conig txt文件 1 sudo systemctl disable hciuart
  • Java学习笔记(三)函数——学习MOOC网翁恺老师课程记录

    七 函数 7 1 函数定义与调用 Java的函数必须定义在类的内部 xff0c 成为类的成员 定义一个函数 xff0c 要像这样写 xff1a lt 返回类型 gt lt 方法名称 gt lt 参数表 gt lt 方法体 gt 返回类型是这
  • STL笔试面试题总结(干货)

    STL笔试面试题总结 一 STL有哪些组件 STL提供六大组件彼此此可以组合套用 1 容器 容器就是各种数据结构 我就不多说 看看下面这张图回忆一下就好了 从实现角度看 STL容器是一种class template 2 算法 各种常见算法
  • Framebuffer 机制【转】

    本文转载自 xff1a http blog csdn net paul liao article details 7706477 Framebuffer Framebuffer是Linux系统为显示设备提供的一个接口 xff0c 它将显示缓
  • 单片机——蜂鸣器

    1 蜂鸣器 2 所用元件 2n5771 at89c51 button cap cap elec crystal res speaker 例图 xff1a 例图代码 xff1a include lt REGX51 H gt sbit BEEP
  • Linux获取机器码

    1 准备工作 安装php xff0c 并已经配置好环境变量path 2 运行hardware sh获取机器码 shell gt php span class token punctuation span span class token o
  • Windows远程桌面卡顿问题(包含网络调优)

    注 xff1a 以下操作需管理员权限执行CMD 关闭自动调节 xff1a netsh interface tcp span class token function set span global autotuninglevel 61 di
  • ESXI VIB升级报错

    一 兼容性问题 1 通过VIB升级ESXI时 xff0c 可能会出现类似报错 span class token namespace DependencyError span VIB LSI bootbank scsi mpt3sas 04
  • MySQL 8.0安装

    1 安装MySQL 8 0 Server shell gt dnf span class token operator span y install 64 mysql 2 开启服务 shell gt systemctl span class
  • 华为镜像启动报错

    shell gt span class token function rm span span class token operator span etc span class token operator span udev span c
  • ThinkPad T14s 安装Ubuntu22踩坑记

    讲一个我装机历经的一个小故事 首先 xff0c 花个万把块 xff0c 买个心仪的撸码神奇 xff0c 我买的是2022款ThinkPad T14s 官网关注了好久就是不出32G内存版本的 xff0c 无奈只能买一个16G内存版本的 xff
  • STM32F429入门(二十一):SPI协议及SPI读写FLASH

    IIC主要用于通讯速率一般的场合 xff0c 而SPI一般用于较高速的场合 一 SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议 Serial Peripheral Interface xff0c 即串行外围设 备接口 xff0c
  • Dell清除BIOS密码及硬盘锁

    1 获取System Number F2进入BIOS xff0c 点击Unlock出现以下界面 xff0c 记录System Number 2 获取password 访问https bios pw org xff0c 将记录的System
  • 论文阅读:Learning Deep Features for Discriminative Localization(CAM)

    Learning Deep Features for Discriminative Localization 文章目录 Learning Deep Features for Discriminative Localization摘要1 引言
  • 上下文切换

    上下文切换 xff08 有时也称做进程切换或任务切换 xff09 是指 CPU 从一个 进程或线程 切换到另一个进程或线程 进程 xff08 有时候也称做任务 xff09 是指一个 程序运行的 实例 在 Linux 系统中 xff0c 线程
  • CAS服务器搭建

    一 CAS是Central Authentication Service的缩写 xff0c 中央认证服务 xff0c 一种独立开放指令协议 CAS 是 Yale 大学发起的一个开源项目 xff0c 旨在为 Web 应用系统提供一种可靠的单点
  • 如何查linux服务器的带宽占用?哪些进程占用带宽?

    前言 操作系统 xff1a Linux 操作环境 xff1a Centos7 ubuntu linux查看服务器带宽具体方法 一 使用speedtest cli命令查看下载和上传最大流量值 因为命令是python的 xff0c 所以需要先下
  • ESP8266调试方法

    ESP8266在开发的过程中无法进行仿真 xff0c 所以 xff0c 为了排查问题 xff0c 我们只能用别的方法 xff0c 下面一起来看看常用的两种方法 xff1a 添加UART打印和Fatal 查证方法 添加UART打印 对于 ES