outcastgeek / HackingOnEsp32

Hacking on Arduino Esp32

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hacking on ESP32

Setup

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

Compile and Upload

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 .

Debug and Inspect

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

Miscellaneous

About

Hacking on Arduino Esp32


Languages

Language:C++ 100.0%