IT Академия Samsung - Полезности <!-- https://lindevs.com/install-arm-gnu-toolchain-on-ubuntu /--> ## Автоматическая генерация 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 ```