ESP-AT编译失败

Moderator: ESP_XCGuang

qingtai
Posts: 1
Joined: Thu Nov 12, 2020 3:05 am

ESP-AT编译失败

Postby qingtai » Thu Nov 12, 2020 7:47 am

刚开始使用esp32,请多指教!
我从https://github.com/espressif/esp-at/下载了最新的at指令库,并放置在与esp-idf(V4.1)同级的目录下,然后通过Command Prompt进入该目录,运行idf.py menuconfig,提示失败。然后我尝试进入main文件夹,并新建了Makefile文件,运行"idf.py menuconfig", 可出现配置框。再运行“idf.py build”, 提示错误。

makefile文件如下:

Code: Select all

PROJECT_NAME := test_at_main

export ESP_AT_PROJECT_PATH := $(PWD)/..
export IDF_PATH ?= $(ESP_AT_PROJECT_PATH)/esp-idf
export ESP_AT_PROJECT_PLATFORM ?= PLATFORM_ESP32
export ESP_AT_MODULE_NAME ?= WROOM-32

EXTRA_COMPONENT_DIRS := $(ESP_AT_PROJECT_PATH)/tools/mkfatfs

EXTRA_CFLAGS += -DSDK_GIT=IDF_VER

include $(IDF_PATH)/make/project.mk

factory_bin:
	$(PYTHON) $(ESP_AT_PROJECT_PATH)/tools/esp_at_factory_bin_combine.py \
		--module_name $(ESP_AT_MODULE_NAME) \
		--bin_directory $(PWD)/build \
		--flash_mode $(CONFIG_ESPTOOLPY_FLASHMODE) \
		--flash_size $(CONFIG_ESPTOOLPY_FLASHSIZE) \
		--flash_speed $(CONFIG_ESPTOOLPY_FLASHFREQ) \
		--download_config $(PWD)/build/download.config
CMakeLists如下:

Code: Select all

# file(GLOB_RECURSE srcs *.c)

cmake_minimum_required(VERSION 3.5)

set(EXTRA_COMPONENT_DIRS ../components/at/include)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(test_at_main)

# idf_component_register(SRCS ${srcs}
                    # INCLUDE_DIRS "." "../components/at/include")
编译错误如下:
Executing action: all (aliases: build)
Running ninja in directory d:\mywork\esp\esp-at\test-main\build
Executing "ninja all"...
[0/1] Re-running CMake...
-- ccache will be used for faster recompilation
-- Project version: v2.1.0.0_esp32s2-122-g0c15ea3-dirty
-- Building ESP-IDF components for target esp32
-- Could NOT find Perl (missing: PERL_EXECUTABLE)
-- Adding linker script D:/myWork/esp/esp-at/test-main/build/esp-idf/esp32/esp32_out.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp32/ld/esp32.project.ld.in
-- Adding linker script D:/myWork/esp/esp-idf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-time.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Components: app_trace app_update asio bootloader bootloader_support bt cbor coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_http_client esp_http_server esp_https_ota esp_https_server esp_local_ctrl esp_netif esp_ringbuf esp_rom esp_serial_slave_link esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos heap idf_test jsmn json libsodium log lwip mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: D:/myWork/esp/esp-idf/components/app_trace D:/myWork/esp/esp-idf/components/app_update D:/myWork/esp/esp-idf/components/asio D:/myWork/esp/esp-idf/components/bootloader D:/myWork/esp/esp-idf/components/bootloader_support D:/myWork/esp/esp-idf/components/bt D:/myWork/esp/esp-idf/components/cbor D:/myWork/esp/esp-idf/components/coap D:/myWork/esp/esp-idf/components/console D:/myWork/esp/esp-idf/components/cxx D:/myWork/esp/esp-idf/components/driver D:/myWork/esp/esp-idf/components/efuse D:/myWork/esp/esp-idf/components/esp-tls D:/myWork/esp/esp-idf/components/esp32 D:/myWork/esp/esp-idf/components/esp_adc_cal D:/myWork/esp/esp-idf/components/esp_common D:/myWork/esp/esp-idf/components/esp_eth D:/myWork/esp/esp-idf/components/esp_event D:/myWork/esp/esp-idf/components/esp_gdbstub D:/myWork/esp/esp-idf/components/esp_http_client D:/myWork/esp/esp-idf/components/esp_http_server D:/myWork/esp/esp-idf/components/esp_https_ota D:/myWork/esp/esp-idf/components/esp_https_server D:/myWork/esp/esp-idf/components/esp_local_ctrl D:/myWork/esp/esp-idf/components/esp_netif D:/myWork/esp/esp-idf/components/esp_ringbuf D:/myWork/esp/esp-idf/components/esp_rom D:/myWork/esp/esp-idf/components/esp_serial_slave_link D:/myWork/esp/esp-idf/components/esp_websocket_client D:/myWork/esp/esp-idf/components/esp_wifi D:/myWork/esp/esp-idf/components/espcoredump D:/myWork/esp/esp-idf/components/esptool_py D:/myWork/esp/esp-idf/components/expat D:/myWork/esp/esp-idf/components/fatfs D:/myWork/esp/esp-idf/components/freemodbus D:/myWork/esp/esp-idf/components/freertos D:/myWork/esp/esp-idf/components/heap D:/myWork/esp/esp-idf/components/idf_test D:/myWork/esp/esp-idf/components/jsmn D:/myWork/esp/esp-idf/components/json D:/myWork/esp/esp-idf/components/libsodium D:/myWork/esp/esp-idf/components/log D:/myWork/esp/esp-idf/components/lwip D:/myWork/esp/esp-idf/components/mbedtls D:/myWork/esp/esp-idf/components/mdns D:/myWork/esp/esp-idf/components/mqtt D:/myWork/esp/esp-idf/components/newlib D:/myWork/esp/esp-idf/components/nghttp D:/myWork/esp/esp-idf/components/nvs_flash D:/myWork/esp/esp-idf/components/openssl D:/myWork/esp/esp-idf/components/partition_table D:/myWork/esp/esp-idf/components/perfmon D:/myWork/esp/esp-idf/components/protobuf-c D:/myWork/esp/esp-idf/components/protocomm D:/myWork/esp/esp-idf/components/pthread D:/myWork/esp/esp-idf/components/sdmmc D:/myWork/esp/esp-idf/components/soc D:/myWork/esp/esp-idf/components/spi_flash D:/myWork/esp/esp-idf/components/spiffs D:/myWork/esp/esp-idf/components/tcp_transport D:/myWork/esp/esp-idf/components/tcpip_adapter D:/myWork/esp/esp-idf/components/ulp D:/myWork/esp/esp-idf/components/unity D:/myWork/esp/esp-idf/components/vfs D:/myWork/esp/esp-idf/components/wear_levelling D:/myWork/esp/esp-idf/components/wifi_provisioning D:/myWork/esp/esp-idf/components/wpa_supplicant D:/myWork/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: D:/myWork/esp/esp-at/test-main/build
[1/7] cmd.exe /C "cd /D D:\myWork\esp\esp-at\test-main\build\esp-idf\p...*********************************************************************"
Partition table binary generated. Contents:
*******************************************************************************
# Espressif ESP32 Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,
*******************************************************************************
[3/7] Linking CXX executable test_at_main.elf
FAILED: test_at_main.elf
cmd.exe /C "cd . && D:\myWork\esp\tools\xtensa-esp32-elf\esp-2020r2-8.2.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address @CMakeFiles\test_at_main.elf.rsp -o test_at_main.elf && cd ."
d:/mywork/esp/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/esp32/libesp32.a(cpu_start.c.obj):(.literal.main_task+0x18): undefined reference to `app_main'
d:/mywork/esp/tools/xtensa-esp32-elf/esp-2020r2-8.2.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/esp32/libesp32.a(cpu_start.c.obj): in function `main_task':
D:/myWork/esp/esp-idf/components/esp32/cpu_start.c:551: undefined reference to `app_main'
collect2.exe: error: ld returned 1 exit status
[4/7] Performing build step for 'bootloader'
[0/1] Re-running CMake...
-- Project version: v4.1
-- Building ESP-IDF components for target esp32
-- Adding linker script D:/myWork/esp/esp-idf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.ld
-- Adding linker script D:/myWork/esp/esp-idf/components/bootloader/subproject/main/ld/esp32/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_rom esptool_py log main micro-ecc partition_table soc spi_flash xtensa
-- Component paths: D:/myWork/esp/esp-idf/components/bootloader D:/myWork/esp/esp-idf/components/bootloader_support D:/myWork/esp/esp-idf/components/efuse D:/myWork/esp/esp-idf/components/esp32 D:/myWork/esp/esp-idf/components/esp_common D:/myWork/esp/esp-idf/components/esp_rom D:/myWork/esp/esp-idf/components/esptool_py D:/myWork/esp/esp-idf/components/log D:/myWork/esp/esp-idf/components/bootloader/subproject/main D:/myWork/esp/esp-idf/components/bootloader/subproject/components/micro-ecc D:/myWork/esp/esp-idf/components/partition_table D:/myWork/esp/esp-idf/components/soc D:/myWork/esp/esp-idf/components/spi_flash D:/myWork/esp/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: D:/myWork/esp/esp-at/test-main/build/bootloader
ninja: no work to do.
ninja: build stopped: subcommand failed.
还请多多指教,非常感谢!

ESP_Alson
Posts: 106
Joined: Mon Mar 22, 2021 3:37 am

Re: ESP-AT编译失败

Postby ESP_Alson » Mon Mar 22, 2021 7:30 am

从你的描述来看,下载 ESP-AT 固件之前是不是已经有了我们的 ESP-IDF 了?我们的 ESP-AT 固件是要跟 ESP-IDF 匹配才行。所以最好参考我们 ESP-AT 的入门指导文档。
请参考:https://docs.espressif.com/projects/esp ... le_it.html

Who is online

Users browsing this forum: No registered users and 36 guests