Ensure the Arduino CLI is installed on your system and added to your PATH
Create a new configuration file arduino-cli.yaml
:
board_manager:
additional_urls:
- https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
#- https://dl.espressif.com/dl/package_esp32_index.json
Update packages index:
> arduino-cli core update-index --config-file arduino-cli.yaml
Install Esp32 package:
> arduino-cli core install esp32:esp32
> arduino-cli board list
List available boards:
> arduino-cli board list
Compile project:
> arduino-cli compile -b esp32:esp32:esp32-poe-iso -v .
Upload artifacts to board:
> arduino-cli upload -p /dev/cu.usbserial-144120 -b esp32:esp32:esp32-poe-iso .
Build and export to current project folder:
> arduino-cli compile -b esp32:esp32:esp32-poe-iso -v . -e
Inspect binaries in build
folder:
> ll your-project-folder/build/esp32.esp32.esp32-poe-iso
> file your-project-folder/build/esp32.esp32.esp32-poe-iso/*
> nm -gU your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf
> nm -g your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf
> nm -a your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf
> objdump -TC your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf
> objdump -TC your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf
> objdump -a your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf
> nm -gU your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf
> nm -g your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf
> nm -a your-project-folder/build/esp32.esp32.esp32-poe-iso/your-project-folder.ino.elf