ESP-AT Unable to Generate at_customize.bin

Jpwolfe9912
Posts: 1
Joined: Wed Mar 22, 2023 6:20 am

ESP-AT Unable to Generate at_customize.bin

Postby Jpwolfe9912 » Wed Mar 22, 2023 6:33 am

I am trying to use esp-at to flash my ESP32-C3 Mini with the correct firmware. I can do

Code: Select all

python3 build.py install
and

Code: Select all

python3 build.py menuconfig
just fine. I use the menuconfig to add WPA2 Enterprise support which isn't default. The changes I make to the file structure are as follow, I add my own certs under mqtt_ca, mqtt_cert, mqtt_key so that I can connect to AWS. Under generation tools, I also copy in mqtt_ca.py, mqtt_cert.py, and mqtt_key.py which aren't already there but ARE in the release/v3.0.0.0 branch. I also have to change at_customize.csv to add the correct partitions for my certs. This file is correct in the other branches of the repo, but not the HEAD.
When I then do

Code: Select all

python3 build.py build
I get the following output:

Code: Select all

python3 build.py build
Platform name:ESP32C3	Module name:MINI-1	Silence:0
submodules check completed for updates.
patches check completed for updates.
Ready to set up environment variables..
PATH is /home/jpwolfe/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
IDF_PYTHON_ENV_PATH is None
sys.platform is linux
export str is OPENOCD_SCRIPTS=/home/jpwolfe/.espressif/tools/openocd-esp32/v0.11.0-esp32-20221026/openocd-esp32/share/openocd/scripts
ESP_ROM_ELF_DIR=/home/jpwolfe/.espressif/tools/esp-rom-elfs/20220823/
IDF_PYTHON_ENV_PATH=/home/jpwolfe/.espressif/python_env/idf5.0_py3.10_env
ESP_IDF_VERSION=5.0
PATH=/home/jpwolfe/.espressif/tools/riscv32-esp-elf-gdb/11.2_20220823/riscv32-esp-elf-gdb/bin:/home/jpwolfe/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin:/home/jpwolfe/.espressif/tools/openocd-esp32/v0.11.0-esp32-20221026/openocd-esp32/bin:/home/jpwolfe/.espressif/python_env/idf5.0_py3.10_env/bin:/home/jpwolfe/Documents/ESP/esp-at/esp-idf/tools:$PATH
IDF_DEACTIVATE_FILE_PATH=/tmp/tmpehcrx7i7idf_110308

PATH is /home/jpwolfe/.espressif/tools/riscv32-esp-elf-gdb/11.2_20220823/riscv32-esp-elf-gdb/bin:/home/jpwolfe/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin:/home/jpwolfe/.espressif/tools/openocd-esp32/v0.11.0-esp32-20221026/openocd-esp32/bin:/home/jpwolfe/.espressif/python_env/idf5.0_py3.10_env/bin:/home/jpwolfe/Documents/ESP/esp-at/esp-idf/tools:$PATH:/home/jpwolfe/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
IDF_PYTHON_ENV_PATH is /home/jpwolfe/.espressif/python_env/idf5.0_py3.10_env
Executing action: all (aliases: build)
Running ninja in directory /home/jpwolfe/Documents/ESP/esp-at/build
Executing "ninja all"...
[208/1109] Performing configure step for 'bootloader'-- Found Git: /usr/bin/git (found version "2.34.1") 
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/jpwolfe/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/jpwolfe/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/jpwolfe/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32c3
-- Project sdkconfig file /home/jpwolfe/Documents/ESP/esp-at/sdkconfig
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of time_t
-- Check size of time_t - done
-- Adding linker script /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/soc/esp32c3/ld/esp32c3.peripherals.ld
-- App "bootloader" version: v5.0-541-g885e501d99
-- Adding linker script /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.ld
-- Adding linker script /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.api.ld
-- Adding linker script /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.libgcc.ld
-- Adding linker script /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_rom/esp32c3/ld/esp32c3.rom.newlib.ld
-- Adding linker script /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/bootloader/subproject/main/ld/esp32c3/bootloader.ld
-- Adding linker script /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/bootloader/subproject/main/ld/esp32c3/bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp_app_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table riscv soc spi_flash
-- Component paths: /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/bootloader /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/bootloader_support /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/efuse /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_app_format /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_common /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_hw_support /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_rom /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esp_system /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/esptool_py /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/freertos /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/hal /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/log /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/bootloader/subproject/main /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/bootloader/subproject/components/micro-ecc /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/newlib /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/partition_table /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/riscv /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/soc /home/jpwolfe/Documents/ESP/esp-at/esp-idf/components/spi_flash
-- Configuring done
-- Generating done
-- Build files have been written to: /home/jpwolfe/Documents/ESP/esp-at/build/bootloader
[213/1109] Running utility command for customized_binibesp_eth.a
Creating NVS binary with version: V2 - Multipage Blob Support Enabled

Created NVS binary: ===> /home/jpwolfe/Documents/ESP/esp-at/build/customized_partitions/mfg_nvs.bin
generating mqtt_ca.bin: /home/jpwolfe/.espressif/python_env/idf5.0_py3.10_env/bin/python /home/jpwolfe/Documents/ESP/esp-at/tools/AtPKI.py generate_bin -b /home/jpwolfe/Documents/ESP/esp-at/build/customized_partitions/mqtt_ca.bin  ca /home/jpwolfe/Documents/ESP/esp-at/components/customized_partitions/raw_data/mqtt_ca/Amazon-root-CA-1.cer
[93/94] Generating binary image from built executableesptool.py v4.5.1
Creating esp32c3 image...
Merged 1 ELF section
Successfully created esp32c3 image.
Generated /home/jpwolfe/Documents/ESP/esp-at/build/bootloader/bootloader.bin
[94/94] cd /home/jpwolfe/Documents/ESP/esp-at/build/bootloader/esp.../home/jpwolfe/Documents/ESP/esp-at/build/bootloader/bootloader.binBootloader binary size 0x4f10 bytes. 0x30f0 bytes (38%) free.
[1107/1109] Generating binary image from built executableesptool.py v4.5.1
Creating esp32c3 image...
Merged 3 ELF sections
Successfully created esp32c3 image.
Generated /home/jpwolfe/Documents/ESP/esp-at/build/esp-at.bin
[1108/1109] cd /home/jpwolfe/Documents/ESP/esp-at/build/esp-idf/es...tion-table.bin /home/jpwolfe/Documents/ESP/esp-at/build/esp-at.binesp-at.bin binary size 0x1a4d40 bytes. Smallest app partition is 0x1d0000 bytes. 0x2b2c0 bytes (9%) free.
[1109/1109] Running utility command for factory_binFAILED: CMakeFiles/factory_bin.util 
cd /home/jpwolfe/Documents/ESP/esp-at/build && /home/jpwolfe/.espressif/python_env/idf5.0_py3.10_env/bin/python /home/jpwolfe/Documents/ESP/esp-at/tools/esp_at_factory_bin_combine.py --module_name MINI-1 --bin_directory /home/jpwolfe/Documents/ESP/esp-at/build --flash_mode dio --flash_size 4MB --flash_speed 40m --download_config /home/jpwolfe/Documents/ESP/esp-at/build/flash_project_args
0x0,bootloader/bootloader.bin
0x60000,esp-at.bin
0x8000,partition_table/partition-table.bin
0xd000,ota_data_initial.bin
0xf000,phy_multiple_init_data.bin
0x1e000,at_customize.bin
Traceback (most recent call last):
  File "/home/jpwolfe/Documents/ESP/esp-at/tools/esp_at_factory_bin_combine.py", line 81, in <module>
    main()
  File "/home/jpwolfe/Documents/ESP/esp-at/tools/esp_at_factory_bin_combine.py", line 77, in main
    esp_at_combine_bin(args.module_name.upper(), args.flash_mode.upper(), args.flash_size.upper(), 
  File "/home/jpwolfe/Documents/ESP/esp-at/tools/esp_at_factory_bin_combine.py", line 48, in esp_at_combine_bin
    with open(os.path.join(build_dir, bin_file), 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/home/jpwolfe/Documents/ESP/esp-at/build/at_customize.bin'
ninja: build stopped: subcommand failed.
ninja failed with exit code 1, output of the command is in the /home/jpwolfe/Documents/ESP/esp-at/build/log/idf_py_stderr_output_110347 and /home/jpwolfe/Documents/ESP/esp-at/build/log/idf_py_stdout_output_110347
A fatal error occurred: idf.py build failed
As you can see, it doesn't generate at_customize.bin which it DOES do if I don't change the partition table. I'm not sure why this is happening and was hoping for more guidance on how to change partitions. I have read through all the READMEs and guides and can't figure it out. This problem is common to both Mac and Linux. I have not tried Windows and do not have access to it.

esp-at
Posts: 123
Joined: Mon May 09, 2022 3:00 am

Re: ESP-AT Unable to Generate at_customize.bin

Postby esp-at » Fri Mar 24, 2023 6:35 am

1. If you don't modify anything, can ESP-AT compile successfully?
2. For certificate modification, you only need to replace the corresponding file content in the esp-at/components/customized_partitions/raw_data directory. No need to modify any scripts such as mqtt_ca.py, mqtt_cert.py, and mqtt_key.py.
3. If the problem still exists, could you synchronize your code to GitHub so that I can check it?

Who is online

Users browsing this forum: No registered users and 11 guests