【ESP-IDF】IDF的vscode插件 menuconfig无法打开
最近研究小智ai的项目时,发现项目的IDF的无法打开。主要原因是小智的依赖组件过多,导致sdkconfig过大,从而使得menuconfig配置服务器出现了问题。报错。可以通过增加缓冲区容量来解决这个问题。这是的流导致的。
·
Server running, waiting for requests on stdin...
---------------------------ERROR--------------------------
Traceback (most recent call last):
File "/usr/lib/python3.9/asyncio/streams.py", line 540, in readline
-----------------------END OF ERROR-----------------------
---------------------------ERROR--------------------------
line = await self.readuntil(sep)
File "/usr/lib/python3.9/asyncio/streams.py", line 618, in readuntil
-----------------------END OF ERROR-----------------------
---------------------------ERROR--------------------------
raise exceptions.LimitOverrunError(
asyncio.exceptions.LimitOverrunError: Separator is not found, and chunk exceed the limit
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/dai/esp/v5.5.1/esp-idf/tools/idf.py", line 871, in <module>
main()
File "/home/dai/esp/v5.5.1/esp-idf/tools/idf.py", line 761, in main
cli(argv, prog_name=PROG, complete_var=SHELL_COMPLETE_VAR)
File "/home/dai/esp/v5.5.1/tools/python_env/idf5.5_py3.9_env/lib/python3.9/site-packages/click/core.py", line 1161, in __call__
-----------------------END OF ERROR-----------------------
最近研究小智ai的项目时,发现项目的IDF的vscode插件 menuconfig无法打开。主要原因是小智的依赖组件过多,导致sdkconfig过大,从而使得menuconfig 配置服务器出现了问题。
报错 LimitOverrunError: Separator is not found, and chunk exceed the limit 表明配置数据超过了缓冲区限制。
可以通过增加缓冲区容量来解决这个问题。这是 Python asyncio 的流读取缓冲区限制导致的。
解决方案
修改 ESP-IDF 的 esp-idf/tools/idf_py_actions/tools.py:351 ,增加缓冲区大小即可。
# 找到类似这样的代码:
p = await asyncio.create_subprocess_exec(
*cmd,
env=env_copy,
# limit=1024 * 256, # 默认大小 256k
limit=1024 * 1024, # 修改这个参数,增大到 1MB
cwd=self.cwd,
stdout=asyncio.subprocess.PIPE,
stderr=asyncio.subprocess.PIPE)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)