## Автоматическая генерация HEX-файла
Добавляем в `platformio.ini` вызов скрипта с именем, например, `extra_script.py`:
```
extra_scripts = post:extra_script.py
```
Создаем сам скрипт `extra_script.py` в корне проекта (рядом с `platformio.ini`) следующего содержания:
```
Import("env")
# Custom HEX from ELF
env.AddPostAction(
"$BUILD_DIR/${PROGNAME}.elf",
env.VerboseAction(" ".join([
"$OBJCOPY", "-O", "ihex", "-R", ".eeprom",
"$BUILD_DIR/${PROGNAME}.elf", "$BUILD_DIR/${PROGNAME}.hex"
]), "Building $BUILD_DIR/${PROGNAME}.hex")
)
```
В результате по окончании компиляции у нас будет создаваться файл с расширением `.hex`, который можно залить в микроконтроллер.
Например, сделать это утилитой `stm32flash`:
```sh
stm32flash -E -b 230400 -w firmware.hex /dev/ttyACM0
```