Емельянов Эдуард Владимирович (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

  • Дурацкий перекресток

    Был на днях в Пятигорске. Ну и движение там! Просто жесть!!! Вечные пробки, куча "кругов" и грохотящие трамваи… А когда выезжал оттуда, на углу пр.…

  • А что, в С так нельзя?

    Пытаюсь передать в функцию цвет как массив. Функция такая: void Pattern_draw3(Img3 *img, Pattern *p, int xul, int yul, uint8_t colr[3]); И…

  • DHT22/DHT11 на STM32F103

    Добил шайтана! Сначала ожидал, что нужно будет полноценным захватом ШИМ пользоваться, но т.к. в протоколе неинформативная часть имеет постоянную…

promo eddy_em august 17, 2019 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 0 comments