完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PS E:gitiotesp32c3-base> idf.py build
Executing action: all (aliases: build) Running ninja in directory e:gitiotesp32c3-basebuild Executing "ninja all"... [1/9] Performing build step for 'bootloader' [1/1] cmd.exe /C "cd /D E:gitiotesp32c3-basebuildbootloaderesp-idfesptool_py && D:Espressifpython_envidf4.4_py3.8_envScriptspython.exe D:/Espressif/frameworks/esp-idf-v4.4/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 E:/git/iot/esp32c3-base/build/bootloader/bootloader.bin" Bootloader binary size 0x4d80 bytes. 0x3280 bytes (39%) free. [4/9] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj ../main/main.c: In function 'app_main': ../main/main.c:30:9: warning: unused variable 'flag' [-Wunused-variable] int flag = 0; ^~~~ [7/9] Linking CXX executable esp32c3-base.elf FAILED: esp32c3-base.elf cmd.exe /C "cd . && D:Espressiftoolsriscv32-esp-elfesp-2021r2-patch2-8.4.0riscv32-esp-elfbinriscv32-esp-elf-g++.exe -march=rv32imc -nostartfiles -march=rv32imc --specs=nosys.specs @CMakeFilesesp32c3-base.elf.rsp -o esp32c3-base.elf && cd ." d:/espressif/tools/riscv32-esp-elf/esp-2021r2-patch2-8.4.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld.exe: D:/Espressif/frameworks/esp-idf-v4.4/components/esp_phy/lib/esp32c3libphy.a(phy_chip_v7.o): in function `phy_get_romfunc_addr': (.text.phy_get_romfunc_addr+0x1a): undefined reference to `rom_temp_to_power' collect2.exe: error: ld returned 1 exit status ninja: build stopped: subcommand failed. ninja failed with exit code 1 PS E:gitiotesp32c3-base> 在esp-idf-v4.4 SDK上编译ESP32C3会在libphy.a提示undefined reference to `rom_temp_to_power'的错误,请问是什么原因?这个函数在哪里实现的? |
|
相关推荐
1个回答
|
|
这个问题可能是由于以下原因导致的:
1. **ESP-IDF版本不兼容**:确保你使用的ESP-IDF版本与ESP32-C3兼容。如果你使用的是ESP-IDF v4.4,那么请检查这个版本是否支持ESP32-C3。如果不兼容,你需要升级到支持ESP32-C3的ESP-IDF版本。 2. **项目配置问题**:检查你的项目配置文件(如`sdkconfig`),确保所有与ESP32-C3相关的配置都已正确设置。 3. **依赖库问题**:`libphy.a`是一个静态库,它可能没有正确链接到你的项目中。检查你的`CMakeLists.txt`或`component.mk`文件,确保已经正确地添加了对`libphy`的依赖。 4. **编译环境问题**:确保你的编译环境设置正确,包括Python版本、ESP-IDF环境变量等。 5. **源代码问题**:`rom_temp_to_power`可能是一个在ESP32-C3的ROM中定义的函数,但是在你的项目中没有正确引用。检查你的代码,确保你已经正确地包含了所有必要的头文件。 解决这个问题的步骤: 1. **检查ESP-IDF版本**:确认你使用的ESP-IDF版本是否支持ESP32-C3。如果不支持,请升级到支持的版本。 2. **检查项目配置**:检查`sdkconfig`文件,确保所有与ESP32-C3相关的配置都已正确设置。 3. **检查依赖库**:在`CMakeLists.txt`或`component.mk`文件中,确保已经正确地添加了对`libphy`的依赖。 4. **检查编译环境**:确保你的编译环境设置正确,包括Python版本、ESP-IDF环境变量等。 5. **检查源代码**:检查你的代码,确保你已经正确地包含了所有必要的头文件,并且正确地引用了`rom_temp_to_power`函数。 6. **清理并重新编译**:在尝试上述步骤后,执行`idf.py clean`清理项目,然后再次执行`idf.py build`重新编译项目。 |
|
|
|
只有小组成员才能发言,加入小组>>
1042 浏览 1 评论
562浏览 6评论
470浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
454浏览 5评论
456浏览 4评论
428浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-5 11:58 , Processed in 0.931988 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号