esp-idf-v4.4SDK在ESP32C3编译问题undefined reference to `rom_temp_to_power'
Posted: Wed Jun 22, 2022 10:41 am
PS E:\git\iot\esp32c3-base> idf.py build
Executing action: all (aliases: build)
Running ninja in directory e:\git\iot\esp32c3-base\build
Executing "ninja all"...
[1/9] Performing build step for 'bootloader'
[1/1] cmd.exe /C "cd /D E:\git\iot\esp32c3-base\build\bootloader\esp-idf\esptool_py && D:\Espressif\python_env\idf4.4_py3.8_env\Scripts\python.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:\Espressif\tools\riscv32-esp-elf\esp-2021r2-patch2-8.4.0\riscv32-esp-elf\bin\riscv32-esp-elf-g++.exe -march=rv32imc -nostartfiles -march=rv32imc --specs=nosys.specs @CMakeFiles\esp32c3-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/esp32c3\libphy.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:\git\iot\esp32c3-base>
在esp-idf-v4.4 SDK上编译ESP32C3会在libphy.a提示undefined reference to `rom_temp_to_power'的错误,请问是什么原因?这个函数在哪里实现的?
Executing action: all (aliases: build)
Running ninja in directory e:\git\iot\esp32c3-base\build
Executing "ninja all"...
[1/9] Performing build step for 'bootloader'
[1/1] cmd.exe /C "cd /D E:\git\iot\esp32c3-base\build\bootloader\esp-idf\esptool_py && D:\Espressif\python_env\idf4.4_py3.8_env\Scripts\python.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:\Espressif\tools\riscv32-esp-elf\esp-2021r2-patch2-8.4.0\riscv32-esp-elf\bin\riscv32-esp-elf-g++.exe -march=rv32imc -nostartfiles -march=rv32imc --specs=nosys.specs @CMakeFiles\esp32c3-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/esp32c3\libphy.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:\git\iot\esp32c3-base>
在esp-idf-v4.4 SDK上编译ESP32C3会在libphy.a提示undefined reference to `rom_temp_to_power'的错误,请问是什么原因?这个函数在哪里实现的?