Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

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МГц и спалил из-за переплюсовки приемник ☹. Хорошо хоть два купил, в понедельник возьму из дома второй.
Tags: stm32, железяки
Subscribe

  • Новая железяка - продолжение

    Шел третий день отпуска… Когда собирал железяку, возник насущный вопрос: а сможет ли такой слабенький движочек гонять такую дурищу (прежде всего —…

  • Новая железяка для БТА/Ц1000

    Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую…

  • Кораблик

    Сходил в субботу на Кораблик. Поселок, гаражи, запруда, футбольное поле: Въезд (как обычно, пробка из "понаехавших"), очистные:…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments