servo/controller/fw/embed/README.md

63 lines
1.8 KiB
Markdown
Raw Normal View History

# Встроенное ПО для сервипривода на STM32F446RE
## Для разработки
2025-03-24 14:01:36 +03:00
- Установить platformio
```bash
pip install -U platformio
```
2025-03-24 14:01:36 +03:00
- Скомпилировать проект
```bash
platformio run --environment robotroller_reborn
```
2025-03-24 14:01:36 +03:00
- Загрузить прошивку
```bash
platformio run --target upload --environment robotroller_reborn
```
2025-03-24 14:01:36 +03:00
- Открыть монитор UART
```bash
platformio device monitor
```
2025-03-24 14:01:36 +03:00
## Загрузчик (Bootloader)
В директории `bootloader` расположен код загрузчика, который позволяет загрузить/обновить управляющую программу контроллера.
## Инструкция по загрузке ПО в контроллер по CAN-шине
1. Сместить в линкере прошивки её адрес. В файле с расширением .ld замените область FLASH на 0x08008000 и занимаемую память на 480K
пример (FLASH.ld и RAM.ld):
```cpp
MEMORY
2025-03-24 14:01:36 +03:00
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K
FLASH (rx) : ORIGIN = 0x8008000, LENGTH = 480K
}
```
2.омпилировать в `hex` формате
3. Запустить в терминале
```bash
python3 boot_test.py <адрес на hex файл> <адрес устройства>`
```
4. После завершения процесса прошивки микроконтроллер автоматически перезагрузится и запустится загруженная программа, минуя загрузчик.
## Запись CAN ID в контроллер
TODO
Пример
```bash
python test/write_can_id.py "1"
```