1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近从 ESP32切到了 ESP32C3,发现 riscv编译链编出来的组件不完整——例如 mbedtls组件,之前在 ESP32平台、使用 xtensa编出来的libmbedtls.a有 5131KB(使用GNU make编译,在工程目录下执行 make即可),而 ESP32C3平台编出来的 libmbedtls.a只有 128KB(因为平台限制,使用的 cmake编译,直接使用 idf.py build编译的)。
求指教这个是什么原因? |
|
相关推荐
1个回答
|
|
这个问题可能是由以下几个原因导致的:
1. **编译选项不同**:在 ESP32 和 ESP32C3 平台上,可能使用了不同的编译选项。这可能导致了不同的库大小。请检查您的编译选项,确保它们在两个平台上是一致的。 2. **CMakeLists.txt 配置问题**:由于您提到使用了 CMake 进行编译,可能是 CMakeLists.txt 文件中的配置不正确。请检查 CMakeLists.txt 文件,确保所有必要的组件和库都已正确添加。 3. **组件配置问题**:在切换到 ESP32C3 平台时,可能需要对某些组件进行重新配置。例如,mbedtls 组件可能需要针对 RISC-V 架构进行特定的配置。请检查您的组件配置,确保它们适用于 ESP32C3 平台。 4. **依赖问题**:在编译过程中,可能存在一些未解决的依赖问题。这可能导致某些库或组件没有被正确编译。请检查您的依赖链,确保所有依赖都已正确解决。 5. **编译器或工具链问题**:可能存在编译器或工具链的问题,导致库没有被正确编译。请确保您使用的是适用于 ESP32C3 的编译器和工具链。 为了解决这个问题,您可以尝试以下步骤: 1. 检查并确保两个平台上的编译选项一致。 2. 检查 CMakeLists.txt 文件,确保所有必要的组件和库都已正确添加。 3. 检查并重新配置可能需要针对 RISC-V 架构进行特定配置的组件。 4. 检查依赖链,确保所有依赖都已正确解决。 5. 确保使用的是适用于 ESP32C3 的编译器和工具链。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
1132 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 22:39 , Processed in 0.811564 second(s), Total 77, Slave 61 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号