完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我试过 在定义时,cv::QRCodeDetector QRdetecter 前面加 EXT_RAM_BSS_ATTR,但是并没有用。IDF文档中提到,利用链接器片段方案 extram_bss 将组件或库的 BSS 段放到片外 RAM 中。然而这方面的具体教程。
|
|
相关推荐
1个回答
|
|
要将OpenCV组件的.bss段放到片外RAM中,您需要遵循以下步骤:
1. 首先,确保您的硬件支持片外RAM。请查阅您的硬件文档以确认这一点。 2. 在您的项目中,创建一个名为`sdkconfig.rename`的文件,用于重命名配置选项。在该文件中,添加以下行: ``` CONFIG_SPIRAM_SUPPORT=y ``` 这将启用片外RAM支持。 3. 在您的CMakeLists.txt文件中,添加以下代码以启用片外RAM: ```cmake set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfix-esp32-psram-cache-issue") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -u _ZN2cv12QRCodeDetector6detectERKSt6vectorIN3cv3MatEESaIS5_EE") ``` 这将修复ESP32的片外RAM缓存问题,并确保QRCodeDetector的BSS段被放置在片外RAM中。 4. 在您的代码中,使用`EXT_RAM_BSS_ATTR`属性来声明需要放置在片外RAM的变量。例如: ```cpp EXT_RAM_BSS_ATTR cv::QRCodeDetector QRdetector; ``` 5. 重新构建您的项目,并确保链接器配置正确地将.bss段放置在片外RAM中。 6. 如果您仍然遇到问题,请检查您的硬件连接和配置,确保片外RAM已正确连接并配置。 请注意,这些步骤可能需要根据您的具体硬件和项目需求进行调整。如果您仍然遇到问题,请查阅相关的硬件和软件文档,或寻求社区支持。 |
|
|
|
只有小组成员才能发言,加入小组>>
538浏览 6评论
451浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
433浏览 5评论
435浏览 4评论
406浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-14 13:19 , Processed in 0.838037 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号