完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
信息:
芯片: ESP32-PICO-D4 ESP-AT version: release/v2.1.0.0_esp32的基础上新增了自定义指令(原本使用IDF release v4.0,但该版本不再维护,故切换到v4.3) ESP-IDF version: release v4.3 commit:588436db47da792736dade1c21fcbf2c879456a4 (官方固件ESP32-PICO-D4_AT_Bin_V2.4.0.0.zip 基于这个版本的IDF) 工具链环境等:通过install.sh 安装 工具链 python环境 依赖包等,通过export.sh设置环境变量 编译时出现如下问题: log:CC build/newlib/locks.o /home/yq/esp/esp-idf/components/newlib/locks.c:240:23: error: invalid application of 'sizeof' to incomplete type 'struct __lock' _Static_assert(sizeof(struct __lock) >= sizeof(StaticSemaphore_t), ^~~~~~ /home/yq/esp/esp-idf/components/newlib/locks.c:240:16: error: expression in static assertion is not an integer _Static_assert(sizeof(struct __lock) >= sizeof(StaticSemaphore_t), ^~~~~~ /home/yq/esp/esp-idf/components/newlib/locks.c: In function '__retarget_lock_init': /home/yq/esp/esp-idf/components/newlib/locks.c:286:11: warning: assignment to '_LOCK_T' {aka 'int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion] *lock = NULL; /* In case lock's memory is uninitialized */ ^ /home/yq/esp/esp-idf/components/newlib/locks.c: In function '__retarget_lock_init_recursive': /home/yq/esp/esp-idf/components/newlib/locks.c:292:11: warning: assignment to '_LOCK_T' {aka 'int'} from 'void *' makes integer from pointer without a cast [-Wint-conversion] *lock = NULL; /* In case lock's memory is uninitialized */ ^ In file included from /home/yq/esp/esp-idf/components/esp_common/include/esp_err.h:18, from /home/yq/esp/esp-idf/components/hal/include/hal/cpu_hal.h:20, from /home/yq/esp/esp-idf/components/esp_hw_support/include/soc/cpu.h:32, from /home/yq/esp/esp-idf/components/newlib/locks.c:19: /home/yq/esp/esp-idf/components/newlib/locks.c: In function 'check_lock_nonzero': /home/yq/esp/esp-idf/components/newlib/locks.c:309:17: warning: comparison between pointer and integer assert(lock != NULL && "Uninitialized lock used"); ^~ /home/yq/esp/esp-idf/components/newlib/platform_include/assert.h:50:42: note: in definition of macro 'assert' #define assert(__e) (__builtin_expect(!!(__e), 1) ? (void)0 : __assert_func (__FILENAME__, __LINE__, ^~~ /home/yq/esp/esp-idf/make/component_wrapper.mk:291: recipe for target 'locks.o' failed make[1]: *** [locks.o] Error 1 /home/yq/esp/esp-idf/make/project.mk:635: recipe for target 'component-newlib-build' failed make: *** [component-newlib-build] Error 2 |
|
相关推荐
1个回答
|
|
以下是一些建议来解决这个问题:
1. 首先,请确保您的ESP-IDF v4.3和ESP-AT工程是兼容的。由于您提到之前使用的是ESP-IDF v4.0,可能存在一些不兼容的问题。建议您查看ESP-AT工程的文档,了解它支持的ESP-IDF版本。 2. 清理编译环境:在编译之前,运行以下命令以清理之前的编译生成的文件: ``` make clean ``` 3. 检查环境变量:确保您的环境变量设置正确。您可以在终端中运行以下命令来检查环境变量: ``` printenv ``` 确保`IDF_PATH`指向您的ESP-IDF v4.3目录。 4. 更新ESP-IDF:尝试更新您的ESP-IDF到最新版本,以解决可能的已知问题。您可以使用以下命令: ``` cd ~/esp/esp-idf git pull git checkout release/v4.3 ./install.sh ./export.sh ``` 5. 检查代码:检查您的ESP-AT工程中的`locks.c`文件,确保没有语法错误或其他问题。错误信息提示在第240行,可能需要您手动检查该行代码。 |
|
|
|
只有小组成员才能发言,加入小组>>
416浏览 6评论
346浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
329浏览 5评论
331浏览 4评论
313浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 17:57 , Processed in 0.788376 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号