eddy_em: (Костерок)
eddy_em ([personal profile] eddy_em) wrote2014-06-20 12:07 pm
Entry tags:

Bootloader на STM32

Сколько уже собирался, а только сейчас руки дошли проверить, как работает загрузчик STM32.

На макетке STM32P103 (с 64-ножечным STM32F103RBT6) от Olimex впаял резистор на 15кОм между перемычкой B0_L (подтяжка к земле для нормальной загрузки). Правда, резисторы SMD'шные у меня дома, пришлось паять обычный на 1/8Вт (уродство, конечно, но очень хотелось). Подключил четырьмя проводками (земля, +3.3В, Rx, Tx) к баксовому переходничку USB<->TTL (я их несколько штук на ибее купил) и воткнул в USB. Нажал кнопочку RESET, проводом закоротил B0_H и отпустил RESET. Отсутствие свечения тестового светодиода подсказало, что выполнение программки, которая там была прошита, не активировано.
Еще давно отсюда я скачал утилиту stm32flash, позволяющую прошивать эти МК через загрузчик. И даже собрал для арча бинарный пакет.

На форумах пишут, что UART STM32 больше 115200 бит/с не тянет, поэтому запускаем так:
stm32flash -b115200 /dev/ttyUSB0           
stm32flash - http://stm32flash.googlecode.com/

Serial Config: 115200 8E1
Version      : 0x22
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0410 (Medium-density)
- RAM        : 20KiB  (512b reserved by bootloader)
- Flash      : 128KiB (sector size: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB

Resetting device... done.

Ура! Работает!
Кстати, последняя строчка не очень-то нужна иногда. Можно на досуге внести патчик — добавить еще ключ, по которому перезагрузка по выходу не будет произодиться (а то неудобно проводком замыкать). На плате систему управления ИК-спектрометром надо будет обязательно кнопочку воткнуть!

Для проверки записал в МК то же самое, что там уже было:
stm32flash -b115200 /dev/ttyUSB0 -w testproject.bin 
stm32flash - http://stm32flash.googlecode.com/

Using Parser : Raw BINARY
Serial Config: 115200 8E1
Version      : 0x22
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0410 (Medium-density)
- RAM        : 20KiB  (512b reserved by bootloader)
- Flash      : 128KiB (sector size: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB

Wrote address 0x08003754 (100.00%) Done.

Resetting device... done.


Вполне быстро. Я доволен. Можно забыть об огороженном st-link'е с JTAG!

P.S. Вот же рукожопие! Хотел сейчас проверить работоспособность "копеечного" приемника-передатчика на 315МГц и спалил из-за переплюсовки приемник ☹. Хорошо хоть два купил, в понедельник возьму из дома второй.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org