完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的系统是基于micropython+espidf(V3.3)。当esp32作为从机被其他设备连接上之后, 一般运行几个小时我的系统就会出现重启或者其他不可能出现的问题。 比如micropython报这样的错误
File "neurons_protocol/neurons_engine.py", line 353, in neurons_request File "neurons_protocol/neurons_engine.py", line 221, in common_neurons_command_request AttributeError: 'bytearray' object has no attribute 'append' 重启时,backtrace也没有打印出有效信息, 类似这样 Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled. Core 0 register dump: PC : 0x40269a07 PS : 0x00060130 A0 : 0x800ea269 A1 : 0x3fafe720 A2 : 0x3fafe740 A3 : 0x00000028 A4 : 0x00060520 A5 : 0x3ffc46a8 A6 : 0x3ffc4aa8 A7 : 0x0000b2b5 A8 : 0x00000000 A9 : 0x800e00cc A10 : 0x800e00cb A11 : 0x3ffcbf08 A12 : 0x8009b94b A13 : 0x3fb0db70 A14 : 0x00000003 A15 : 0x00060023 SAR : 0x00000010 EXCCAUSE: 0x0000001c EXCVADDR: 0x800e00cb LBEG : 0x40094ee8 LEND : 0x40094ef3 LCOUNT : 0x00000000 ELF file SHA256: 0000000000000000000000000000000000000000000000000000000000000000 Backtrace: 0x40269a07:0x3fafe720 系统描述: 1. micropython使用了spiram作为其heap使用。 2. micropython位于core1, 没有其他多余线程。 我的配置信息如下: # MicroPython on ESP32, ESP IDF configuration with SPIRAM support # The following options override the defaults CONFIG_IDF_TARGET="esp32" # Application manager CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y # Bootloader config CONFIG_LOG_BOOTLOADER_LEVEL_NONE=y CONFIG_LOG_BOOTLOADER_LEVEL=0 # log CONFIG_LOG_DEFAULT_LEVEL_NONE=y CONFIG_LOG_DEFAULT_LEVEL=0 # ESP32-specific CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y CONFIG_SPIRAM_SUPPORT=y CONFIG_SPIRAM_IGNORE_NOTFOUND=y CONFIG_SPIRAM_USE_MEMMAP=y CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=n CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=n CONFIG_ESP32_XTAL_FREQ_AUTO=y # Power Management CONFIG_PM_ENABLE=y # FreeRTOS CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=2 CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK=y CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y # UDP CONFIG_PPP_SUPPORT=y CONFIG_PPP_PAP_SUPPORT=y CONFIG_PPP_CHAP_SUPPORT=y CONFIG_TCPIP_LWIP=y CONFIG_BT_ENABLED=y CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY= CONFIG_BTDM_CONTROLLER_MODE_BTDM= CONFIG_BTDM_CTRL_PINNED_TO_CORE_0=y CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 CONFIG_BT_BLUEDROID_PINNED_TO_CORE_1=y CONFIG_BT_BLUEDROID_PINNED_TO_CORE=1 CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=y CONFIG_BT_STACK_NO_LOG=y CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y CONFIG_FREERTOS_HZ=500 CONFIG_TIMER_TASK_PRIORITY=1 CONFIG_INT_WDT_CHECK_CPU0=n CONFIG_INT_WDT_CHECK_CPU1=n CONFIG_TASK_WDT_CHECK_IDLE_TASK=n CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_SPIRAM_CACHE_WORKAROUND=y CONFIG_SPIRAM_IGNORE_NOTFOUND=y CONFIG_SPIRAM_USE_MALLOC=y CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_ESPTOOLPY_FLASHFREQ="80m" CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y # CONFIG_FREERTOS_UNICORE=y # wifi CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=10 目前发现的具体情况是,当BLE开启但是不连接时, 一切正常。但是一旦连接之后就会出问题(即使没有数据传输也会出问题)。 有没有人知道,蓝牙连接后会对系统产生哪些影响。 顺带说一下, 我单独测试蓝牙功能(无micropython)或者单独测试micropython都没有问题。 蓝牙和micropython没有任何代码上的联系。 |
|
相关推荐
1个回答
|
|
根据您提供的信息,您的ESP32系统在使用MicroPython和ESP-IDF(V3.3)时,在与其他设备建立BLE连接并运行数小时后出现重启或其他问题。这可能是由多种原因导致的,以下是一些建议和可能的原因:
1. **内存泄漏**:长时间运行的程序可能会遇到内存泄漏问题,导致可用内存逐渐减少,最终触发系统重启。检查您的代码,确保在不再需要时释放内存。 2. **堆栈溢出**:如果程序中的递归调用过深或局部变量过大,可能导致堆栈溢出。检查递归函数和局部变量的使用,确保它们在合理的范围内。 3. **死锁**:多线程或异步编程可能导致死锁,使系统无法正常运行。检查您的代码,确保没有死锁的情况。 4. **硬件问题**:ESP32硬件本身可能存在问题,如电源不稳定、温度过高等。检查硬件连接和环境,确保它们正常工作。 5. **软件问题**:ESP-IDF或MicroPython的版本可能存在已知的bug或兼容性问题。尝试升级到最新版本,或查看相关社区和论坛,看看是否有其他人遇到类似问题。 6. **BLE连接问题**:长时间保持BLE连接可能导致一些不稳定的行为。检查BLE连接的代码,确保正确处理连接、断开和重连。 7. **错误处理**:确保您的代码能够正确处理各种异常情况,避免因未处理的异常导致系统崩溃。 8. **日志记录**:增加日志记录功能,以便在出现问题时能够快速定位问题原因。 9. **调试和测试**:在开发过程中,使用调试工具和单元测试来检查代码的正确性和稳定性。 10. **查看错误信息**:您提到的错误信息和Guru Meditation Error可能提供了一些线索。尝试理解这些错误信息,并根据它们来定位问题。 综上所述,要解决这个问题,您需要从多个方面进行排查和优化。希望这些建议能帮助您找到问题的原因并解决它。 |
|
|
|
只有小组成员才能发言,加入小组>>
540浏览 6评论
451浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
433浏览 5评论
435浏览 4评论
406浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 07:19 , Processed in 0.713771 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号