完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用IDF版本v4.4.2.因为业务代码涉及内容比较多不方便升级,只能使用这个版本了。
硬件版本使用ESP32S3-N8R2模组。 问题,在app_main函数第一行调用 esp_log_level_set("*", ESP_LOG_WARN); 如果日志级别是INFO的时候没有问题可以正常运行。如果日志设置为WARN以上级别的时候在一个task函数函数中调用 gpio_isr_handler_add(KEY_SW1_PIN, gpio_isr_handler, (void*) KEY_SW1_PIN);注册一个按键中断的时候导致CPU Panic。 同时在之前测试的时候遇到过在配置页面,关闭ROM log也会导致Panic。麻烦给看一下吧。 日志如下: --- WARNING: GDB cannot open serial ports accessed as COMx --- Using \.COM3 instead... --- idf_monitor on \.COM3 115200 --- --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x39c load:0x403c9700,len:0x9b8 load:0x403cc700,len:0x27a8 SHA-256 comparison failed: Calculated: dbaa43c6dc03c8f7a001d74784a6dac40d082488b735a931f22b1d088515d4c3 Expected: 15d1901f36454b1f49ebff6c2a67f681da1cce81d35fb313b9179e27e99f3fee Attempting to boot anyway... entry 0x403c98c0 Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled. Core 0 register dump: PC : 0x4207edbf PS : 0x00060033 A0 : 0x82054c88 A1 : 0x3fcb2380 0x4207edbf: esp_intr_get_cpu at D:/software/Espressif/frameworks/esp-idf-v4.4.2/components/esp_hw_support/intr_alloc.c:704 A2 : 0x00000000 A3 : 0x3fc9e7e4 A4 : 0x3fc9e7e4 A5 : 0x00060023 A6 : 0x00060020 A7 : 0x00000001 A8 : 0x00000000 A9 : 0x3fcb2360 A10 : 0x3fc9bc98 A11 : 0x0000000d A12 : 0x0000000d A13 : 0x3fca6960 A14 : 0x02c9bc84 A15 : 0x00ffffff SAR : 0x00000013 EXCCAUSE: 0x0000001c EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000 Backtrace:0x4207edbc:0x3fcb23800x42054c85:0x3fcb23a0 0x4037ba96:0x3fcb23c0 0x4207edbc: esp_intr_get_cpu at D:/software/Espressif/frameworks/esp-idf-v4.4.2/components/esp_hw_support/intr_alloc.c:703 0x42054c85: gpio_isr_handler_add at D:/software/Espressif/frameworks/esp-idf-v4.4.2/components/driver/gpio.c:473 0x4037ba96: sw1_key_handler_task at E:/ALIC/code/MountainVIew/Firmware/components/alic_peripherals/key_sw1.c:92 |
|
相关推荐
1个回答
|
|
从您的描述来看,问题可能与ESP-IDF v4.4.2版本中的日志系统或中断处理有关。以下是一些建议来帮助您解决问题:
1. **检查日志系统**:关闭日志输出可能导致某些关键信息无法显示,这可能会影响系统的稳定性。尝试在关闭日志输出之前,将日志级别设置为较低的级别(如ESP_LOG_DEBUG),以便在出现问题时能够获取更多信息。 2. **检查中断处理**:在您的代码中,您正在注册一个GPIO中断处理函数。请确保中断处理函数正确实现,并且没有导致任何异常行为。此外,检查中断处理函数是否在正确的上下文中调用,以避免潜在的竞态条件。 3. **检查硬件连接**:请确保您的ESP32S3-N8R2模块与按键之间的连接正确无误。错误的硬件连接可能导致系统不稳定,从而导致CPU Panic。 4. **检查ESP-IDF版本**:尽管您提到无法升级ESP-IDF版本,但建议您查看ESP-IDF的官方文档和GitHub仓库,看看是否有与您的问题的已知问题或修复。如果有,您可以尝试应用这些修复,而无需升级整个ESP-IDF版本。 5. **使用其他调试工具**:如果可能的话,尝试使用其他调试工具(如GDB)来获取更多关于CPU Panic的信息。这可能会帮助您找到问题的根源。 6. **简化代码**:尽管您提到业务代码涉及内容较多,但尝试简化代码,逐步添加功能,以便找到导致问题的确切部分。 |
|
|
|
只有小组成员才能发言,加入小组>>
1076 浏览 1 评论
567浏览 6评论
475浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
458浏览 5评论
458浏览 4评论
429浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-11 23:41 , Processed in 0.985250 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号