完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我使用的是ESP_RTOS_SDK git上170316的版本
在多次操作TCP时,偶尔select会返回-1,但得到的errno是0,同时select无法做到让出cpu 这是什么原因呢?是不是170316的版本TCP_WND无法设置导致? 我原本想自己编译third_part中的lwip看看log,但编译出来的.a在生成最后的镜像时,提示`iram1_0_seg' error |
|
相关推荐
1个回答
|
|
|
首先,我们来分析一下问题:
1. select 函数返回 -1,但 errno 为 0。 2. select 无法让出 CPU。 3. 是否与 ESP_RTOS_SDK 170316 版本中的 TCP_WND 设置有关? 4. 编译 third_part 中的 lwip 时出现错误。 接下来,我们逐一解决这些问题: 1. select 函数返回 -1,但 errno 为 0: 通常情况下,select 函数返回 -1 表示发生错误,而 errno 为 0 表示没有错误。这种情况可能是由于 select 函数内部的某些原因导致的。建议检查 select 函数的实现,看是否有特殊情况导致返回 -1 但未设置 errno。 2. select 无法让出 CPU: select 函数通常用于等待 I/O 操作,但它本身并不会导致 CPU 让出。要实现让出 CPU,可以使用其他方法,例如在等待 select 时使用任务调度器(如 ESP_RTOS_SDK 中的 FreeRTOS)来切换任务。 3. 是否与 TCP_WND 设置有关: TCP_WND(TCP 窗口大小)通常用于控制 TCP 传输的流量控制。如果 select 函数的问题与 TCP_WND 无关,那么可能需要检查其他方面的原因。建议查看 ESP_RTOS_SDK 的文档和源代码,了解 TCP_WND 的设置方法和影响。 4. 编译 third_part 中的 lwip 时出现错误: 这个错误提示可能是由于生成的 .a 文件在链接时出现问题。建议检查以下方面: a. 确保 lwip 库的编译选项和 ESP_RTOS_SDK 的其他部分兼容。 b. 检查 lwip 库的源代码,确保没有错误或遗漏。 c. 检查 ESP_RTOS_SDK 的链接脚本,确保正确处理 .a 文件。 总之,要解决这些问题,需要从多个方面进行排查和调试。建议仔细阅读 ESP_RTOS_SDK 的文档,了解其工作原理和配置方法,并根据问题进行相应的调整。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
944 浏览 0 评论
1671 浏览 0 评论
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
1330 浏览 1 评论
1233 浏览 1 评论
5015 浏览 2 评论
为blufi_device设置自定义名称,但是无法修改,为什么?
1250浏览 4评论
请问ESP32-S2-WROOM怎么获得ESP32-S2外接FLASH的唯一序列号?
927浏览 3评论
2330浏览 3评论
ESP-IDF的VScode插件的build按钮点击会报错的原因?
2525浏览 3评论
ESP-Jumpstart例程中第5个工程:5_cloud连接报错是哪里的问题?
1051浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 20:24 , Processed in 0.750513 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1303
