servo/controller/fw/README.md
2025-06-04 11:44:10 +03:00

3 KiB

Встроенное ПО для сервопривода на STM32F446RE

Для разработки

pip install -U platformio
  • Установить python3
sudo apt install python3
  • Устаноивть st-link
sudo apt install st-link

Прошивка делится на два файла один для загрузчика другой для основной прошивки. Чтобы загрузить как описано ниже нужно находится в директории этого проекта. Нужно сделать как для bootloader так и для embed

platformio run --environment robotroller_reborn
platformio run --target upload --environment robotroller_reborn 

Другой способ прошивки

Выбор интерфейса прошивки

Для основной прошивки в директории ./embed

  • Если уже есть какя-то основная прошивка, то чтобы перепрошить другую прошивку, добавляем флаг для бутлоадера
python3 firmw_update_flag.py [адрес устройства]
  • Передача прошивки по CAN
python3 firmware_can.py firmware.hex [адрес устройства]
python3 st-link.py firmware.hex

Прошивает и программатор и основную прошивку можно находится как в ./embed, так и в ./bootloader(в директории где есть данный тест в папке test).

  • Если до этого сохраняли адреса и данные, то они останутся даже при полной перепрошивке

  • Если бутлоадер не был прошит и FLASH микрокотроллера полностью стерта

  • [Скачать прошивку и бутлоадер в hex формате] ССЫЛКА

  • [Прошить через программатор]

python3 st-link_full.py bootloader.hex firmware.hex

Работа по CAN

Для основной прошивки в директории ./embed

  • Установка адреса(если до этого не был установлен адрес, то адрес устройства = 0)
python3 set_id.py [адрес устройства]
  • Установка PID коэффициентов для угла
python3 writePID_angle_parametrs.py [адрес устройства]

-Чтение PID коэффициентов для угла

python3 readPID_angle_parametrs.py [адрес устройства]