/u1/Projects/RISCV/esp32c3/esp-idf/tools/idf.pyNote that typing "idf.py" gives a bunch of information.
At least this is python, which from among many options is among the better ones. Thanks be to God it isn't Tcl or Java. I've had enough wretched slow Java based tools (yes, Eclipse, I am looking at you!).
[tom@trona tools]$ esptool.py flash_id esptool.py v4.1 Found 1 serial ports Serial port /dev/ttyUSB0 Connecting.... Detecting chip type... ESP32-C3 Chip is ESP32-C3 (revision 3) Features: Wi-Fi Crystal is 40MHz MAC: 34:b4:72:4c:xx:xx Uploading stub... Running stub... Stub running... Manufacturer: 20 Device: 4016 Detected flash size: 4MB Hard resetting via RTS pin... [tom@trona tools]$ esptool.py chip_id esptool.py v4.1 ..... Stub running... Warning: ESP32-C3 has no Chip ID. Reading MAC instead. MAC: 34:b4:72:4c:xx:xx Hard resetting via RTS pin...You can also directly run "idf_monitor.py" which runs /u1/Projects/RISCV/esp32c3/esp-idf/tools/idf_monitor.py
So, things are split between stuff that you got via the initial clone (which is in /u1/Projects/RISCV/esp32c3/esp-idf/) and stuff the install script installed (which is in /home/tom/.espressif).
cd /u1/Projects/RISCV/esp32c3/blinkIn here we have "sdkconfig" which has a bunch of options. The action is in the "build" directory. To have any clue about what is going on here, a person will need to learn about "build ninja": Just for the record, the "build.ninja" file for the simple blink demo is 14,411 lines !! And indeed the "build.ninja" file is the equivalent of the Makefile for build-ninja.
cd /u1/Projects/riscv/esp32c3/blink touch main/*.c idf.py -v build ... Constraint file: /home/tom/.espressif/espidf.constraints.v5.0.txt Requirement files: - /u1/Projects/RISCV/esp32c3/esp-idf/tools/requirements/requirements.core.txt Python being checked: /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python Executing action: all (aliases: build) Running ninja in directory /u1/Projects/RISCV/esp32c3/blink/build Executing "ninja -v all"... [1/9] cd /u1/Projects/RISCV/esp32c3/blink/build/bootloader && /usr/bin/cmake --build . [1/1] cd /u1/Projects/RISCV/esp32c3/blink/build/bootloader/esp-idf/esptool_py && /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python /u1/Projects/RISCV/esp32c3/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /u1/Projects/RISCV/esp32c3/blink/build/bootloader/bootloader.bin Bootloader binary size 0x50e0 bytes. 0x2f20 bytes (37%) free. [2/7] /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc ..................... -o esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj -c /u1/Projects/RISCV/esp32c3/blink/main/blink_example_main.c [3/7] : && /usr/bin/cmake -E rm -f esp-idf/main/libmain.a && /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-ar qc esp-idf/main/libmain.a esp-idf/main/CMakeFiles/__idf_main.dir/blink_example_main.c.obj && /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-ranlib esp-idf/main/libmain.a && : [4/7] cd /u1/Projects/RISCV/esp32c3/blink/build/esp-idf/esp_system && /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python /u1/Projects/RISCV/esp32c3/esp-idf/tools/ldgen/ldgen.py --config /u1/Projects/RISCV/esp32c3/blink/sdkconfig --fragments-list "/u1/Projects/RISCV/esp32c3/esp-idf/components/riscv/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_ringbuf/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/driver/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_pm/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/spi_flash/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_system/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_system/app.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_rom/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/hal/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/log/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/heap/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/soc/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_hw_support/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/freertos/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/newlib/newlib.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/newlib/system_libs.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_common/common.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_common/soc.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/app_trace/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_event/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_phy/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/lwip/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/bt/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_gdbstub/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_lcd/linker.lf; /u1/Projects/RISCV/esp32c3/esp-idf/components/espcoredump/linker.lf" --input /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_system/ld/esp32c3/sections.ld.in --output /u1/Projects/RISCV/esp32c3/blink/build/esp-idf/esp_system/ld/sections.ld --kconfig /u1/Projects/RISCV/esp32c3/esp-idf/Kconfig --env-file /u1/Projects/RISCV/esp32c3/blink/build/config.env --libraries-file /u1/Projects/RISCV/esp32c3/blink/build/ldgen_libraries --objdump /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-objdump [5/7] : && /home/tom/.espressif/tools/riscv32-esp-elf/esp-2022r1-RC1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-g++ -march=rv32imc -nostartfiles -march=rv32imc --specs=nosys.specs CMakeFiles/blink.elf.dir/project_elf_src_esp32c3.c.obj -o blink.elf esp-idf/riscv/libriscv.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/app_update/libapp_update.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/app_trace/libapp_trace.a esp-idf/vfs/libvfs.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_netif/libesp_netif.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/lwip/liblwip.a esp-idf/asio/libasio.a esp-idf/unity/libunity.a esp-idf/cmock/libcmock.a esp-idf/console/libconsole.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_adc_cal/libesp_adc_cal.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/esp_hid/libesp_hid.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/esp_lcd/libesp_lcd.a esp-idf/protobuf-c/libprotobuf-c.a esp-idf/protocomm/libprotocomm.a esp-idf/mdns/libmdns.a esp-idf/esp_local_ctrl/libesp_local_ctrl.a esp-idf/sdmmc/libsdmmc.a esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a esp-idf/espcoredump/libespcoredump.a esp-idf/wear_levelling/libwear_levelling.a esp-idf/fatfs/libfatfs.a esp-idf/json/libjson.a esp-idf/mqtt/libmqtt.a esp-idf/spiffs/libspiffs.a esp-idf/wifi_provisioning/libwifi_provisioning.a esp-idf/main/libmain.a esp-idf/led_strip/libled_strip.a -Wl,--cref -Wl,--defsym=IDF_TARGET_ESP32C3=0 -Wl,--Map="/u1/Projects/RISCV/esp32c3/blink/build/blink.map" -fno-rtti -fno-lto -Wl,--gc-sections -Wl,--warn-common esp-idf/app_trace/libapp_trace.a esp-idf/app_trace/libapp_trace.a -lgcov esp-idf/app_trace/libapp_trace.a -lgcov esp-idf/asio/libasio.a esp-idf/cmock/libcmock.a esp-idf/unity/libunity.a esp-idf/esp_adc_cal/libesp_adc_cal.a esp-idf/esp_hid/libesp_hid.a esp-idf/esp_lcd/libesp_lcd.a esp-idf/esp_local_ctrl/libesp_local_ctrl.a esp-idf/mdns/libmdns.a esp-idf/espcoredump/libespcoredump.a esp-idf/fatfs/libfatfs.a esp-idf/wear_levelling/libwear_levelling.a esp-idf/mqtt/libmqtt.a esp-idf/spiffs/libspiffs.a esp-idf/wifi_provisioning/libwifi_provisioning.a esp-idf/protocomm/libprotocomm.a esp-idf/console/libconsole.a esp-idf/protobuf-c/libprotobuf-c.a esp-idf/json/libjson.a esp-idf/riscv/libriscv.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/app_update/libapp_update.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/vfs/libvfs.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_netif/libesp_netif.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/lwip/liblwip.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/sdmmc/libsdmmc.a esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a esp-idf/mbedtls/mbedtls/library/libmbedtls.a esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a esp-idf/mbedtls/mbedtls/library/libmbedx509.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libcoexist.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libcore.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libespnow.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libmesh.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libnet80211.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libpp.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libsmartconfig.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libwapi.a esp-idf/riscv/libriscv.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/app_update/libapp_update.a esp-idf/bootloader_support/libbootloader_support.a esp-idf/spi_flash/libspi_flash.a esp-idf/pthread/libpthread.a esp-idf/esp_system/libesp_system.a esp-idf/esp_rom/libesp_rom.a esp-idf/hal/libhal.a esp-idf/log/liblog.a esp-idf/heap/libheap.a esp-idf/soc/libsoc.a esp-idf/esp_hw_support/libesp_hw_support.a esp-idf/freertos/libfreertos.a esp-idf/newlib/libnewlib.a esp-idf/cxx/libcxx.a esp-idf/esp_common/libesp_common.a esp-idf/esp_timer/libesp_timer.a esp-idf/vfs/libvfs.a esp-idf/esp_eth/libesp_eth.a esp-idf/esp_netif/libesp_netif.a esp-idf/esp_event/libesp_event.a esp-idf/nvs_flash/libnvs_flash.a esp-idf/esp_phy/libesp_phy.a esp-idf/wpa_supplicant/libwpa_supplicant.a esp-idf/esp_wifi/libesp_wifi.a esp-idf/lwip/liblwip.a esp-idf/http_parser/libhttp_parser.a esp-idf/esp-tls/libesp-tls.a esp-idf/esp_gdbstub/libesp_gdbstub.a esp-idf/tcp_transport/libtcp_transport.a esp-idf/esp_http_client/libesp_http_client.a esp-idf/esp_http_server/libesp_http_server.a esp-idf/esp_https_ota/libesp_https_ota.a esp-idf/sdmmc/libsdmmc.a esp-idf/esp_serial_slave_link/libesp_serial_slave_link.a esp-idf/mbedtls/mbedtls/library/libmbedtls.a esp-idf/mbedtls/mbedtls/library/libmbedcrypto.a esp-idf/mbedtls/mbedtls/library/libmbedx509.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libcoexist.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libcore.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libespnow.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libmesh.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libnet80211.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libpp.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libsmartconfig.a /u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3/libwapi.a esp-idf/riscv/libriscv.a esp-idf/esp_ringbuf/libesp_ringbuf.a esp-idf/efuse/libefuse.a esp-idf/driver/libdriver.a esp-idf/esp_pm/libesp_pm.a esp-idf/mbedtls/libmbedtls.a esp-idf/app_updd" -T esp32c3.rom.ld -T esp32c3.rom.api.ld -T esp32c3.rom.libgcc.ld -T esp32c3.rom.newlib.ld -T esp32c3.rom.version.ld -T esp32c3.rom.eco3.ld -u __assert_func -L "/u1/Projects/RISCV/esp32c3/esp-idf/components/soc/esp32c3/ld" -T esp32c3.peripherals.ld -Wl,--undefined=uxTopUsedPriority -Wl,--undefined=FreeRTOS_openocd_params -u app_main -lc -lm esp-idf/newlib/libnewlib.a -u newlib_include_heap_impl -u newlib_include_syscalls_impl -u newlib_include_pthread_impl -u newlib_include_assert_impl -Wl,--wrap=_Unwind_SetEnableExceptionFdeSorting -Wl,--wrap=__register_frame_info_bases -Wl,--wrap=__register_frame_info -Wl,--wrap=__register_frame -Wl,--wrap=__register_frame_info_table_bases -Wl,--wrap=__register_frame_info_table -Wl,--wrap=__register_frame_table -Wl,--wrap=__deregister_frame_info_bases -Wl,--wrap=__deregister_frame_info -Wl,--wrap=_Unwind_Find_FDE -Wl,--wrap=_Unwind_GetGR -Wl,--wrap=_Unwind_GetCFA -Wl,--wrap=_Unwind_GetIP -Wl,--wrap=_Unwind_GetIPInfo -Wl,--wrap=_Unwind_GetRegionStart -Wl,--wrap=_Unwind_GetDataRelBase -Wl,--wrap=_Unwind_GetTextRelBase -Wl,--wrap=_Unwind_SetIP -Wl,--wrap=_Unwind_SetGR -Wl,--wrap=_Unwind_GetLanguageSpecificData -Wl,--wrap=_Unwind_FindEnclosingFunction -Wl,--wrap=_Unwind_Resume -Wl,--wrap=_Unwind_RaiseException -Wl,--wrap=_Unwind_DeleteException -Wl,--wrap=_Unwind_ForcedUnwind -Wl,--wrap=_Unwind_Resume_or_Rethrow -Wl,--wrap=_Unwind_Backtrace -Wl,--wrap=__cxa_call_unexpected -Wl,--wrap=__gxx_personality_v0 -u __cxa_guard_dummy -lstdc++ esp-idf/pthread/libpthread.a -lgcc esp-idf/cxx/libcxx.a -u __cxx_fatal_exception -u vfs_include_syscalls_impl -L "/u1/Projects/RISCV/esp32c3/esp-idf/components/esp_phy/lib/esp32c3" -u include_esp_phy_override -lphy -lbtbb esp-idf/esp_phy/libesp_phy.a -lphy -lbtbb esp-idf/esp_phy/libesp_phy.a -lphy -lbtbb -L "/u1/Projects/RISCV/esp32c3/esp-idf/components/esp_wifi/lib/esp32c3" && : [6/7] cd /u1/Projects/RISCV/esp32c3/blink/build && /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python /u1/Projects/RISCV/esp32c3/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32c3 elf2image --flash_mode dio --flash_freq 80m --flash_size 2MB --elf-sha256-offset 0xb0 --min-rev 3 -o /u1/Projects/RISCV/esp32c3/blink/build/blink.bin /u1/Projects/RISCV/esp32c3/blink/build/blink.elf && /usr/bin/cmake -E echo "Generated /u1/Projects/RISCV/esp32c3/blink/build/blink.bin" && /usr/bin/cmake -E md5sum /u1/Projects/RISCV/esp32c3/blink/build/blink.bin > /u1/Projects/RISCV/esp32c3/blink/build/.bin_timestamp esptool.py v4.1 Creating esp32c3 image... Merged 1 ELF section Successfully created esp32c3 image. Generated /u1/Projects/RISCV/esp32c3/blink/build/blink.bin [7/7] cd /u1/Projects/RISCV/esp32c3/blink/build/esp-idf/esptool_py && /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python /u1/Projects/RISCV/esp32c3/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 partition --type app /u1/Projects/RISCV/esp32c3/blink/build/partition_table/partition-table.bin /u1/Projects/RISCV/esp32c3/blink/build/blink.bin blink.bin binary size 0x27090 bytes. Smallest app partition is 0x100000 bytes. 0xd8f70 bytes (85%) free. Project build complete. To flash, run this command: /home/tom/.espressif/python_env/idf5.0_py3.10_env/bin/python ../esp-idf/components/esptool_py/esptool/esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32c3 write_flash --flash_mode dio --flash_size 2MB --flash_freq 80m 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/blink.bin or run 'idf.py -p (PORT) flash' [tom@trona blink]$
Tom's Computer Info / tom@mmto.org