Как стать автором
Обновить

Комментарии 26

Есть мнение, что в этих доках встретится клевета, будто F103 в USB-бутлоадер не умеет.

Хотя если взять F105, то вся проблема решается сама собой, да.
Кгхм, извиняюсь, не заметил что это ардуинщики. Беру свои слова обратно — им вредно такое читать. :)
Не вредно. Но не всегда заходит с первого раза и в нужное время
Ко второму пункту инструкции — чтобы прошить бутлоадер через ST-Link без uart нужна утилита STM32 ST-Link Utility (http://www.st.com/en/embedded-software/stsw-link004.html)
Спасибо, добавил в статью
stm32duino отличается чем-нибудь от Energia при работе с платами TI?
Я никогда не работал с Energia и платами TI.
Но я скачал Energia и чуток пошарился по файлам. Выглядит как обычный ардуино фреймворк.

Так что отвечая на Ваш вопрос: наверняка отличается реализацией, т.к. чип другой. Но с точки зрения использования я думаю очень похоже
Огромное спасибо. В данный момент тоже перехожу с атмеги на стм, и этот пост был крайне интересен и полезен. А можете еще рассказать про две перемычки boot на smt32f103c8t6?
А чего там рассказывать? BOOT0 переключает обычный или альтернативный режим загрузки, а BOOT1 выбирает тип альтернативной загрузки — программа в оперативной памяти, или встроенный загрузчик прошивки по UART.
Судя по документации есть 3 варианта загрузки:
— обычная загрузка из флеша
— загрузка из ОЗУ. Т.е. ктото влил код в память, а микроконтроллер просто его выполняет
— загрузка из системного загрузчика. Этот загрузчик прошивается на заводе, его нельзя стереть, а его задача прошивать микроконтроллер через UART

Как именно нужно выставлять перемычки для этих режимов описал предыдущий оратор. Еще можно глянуть в табличку под спойлером «Для чего нужны BOOT0 и BOOT1 джамперы» в этой статье. Ну а наилучшим вариантом, пожалуй, будет вдумчивое и неспешное (возможно, многократное) чтение reference manual
У st есть примеры USB бутлоадеров, довольно легко пример можно поправить под себя)
Вспоминая себя 3 дня назад, я бы с радостью воспользовался пошаговой интсрукцией, нежели пачкой примеров, которые еще нужно править под себя.

Примеры хороши, когда ты пишешь бутлоадер. Тогда да, ты читаешь документацию, изучаешь примеры, правишь под себя, пробуешь варианты.

Но это не подходит, когда у тебя голая железка, которая даже лампочкой мигать не хочет. При этом у тебя нет за плечами многолетнего опыта ARM/STM32 что бы понять почему.

Напомню, что задача была не написать свой бутлоадер, а воспользоваться готовым
Ок, если интересно вот мой чуть правленый проект бутлоадера от ST.
https://github.com/denruss/stm32_MyDfu

вот проект который с ним работает
https://github.com/denruss/usb_gen_v2_stm32

с компа залить прошивку можно пользуясь утилитой от ST
http://www.st.com/en/development-tools/stsw-stm32080.html
Спасибо, обязательно гляну
А можете добавить небольшую инструкцию прямо в Github? Действительно было бы более информативно.
Сделал https://github.com/denruss/stm32_MyDfu
Спасибо огромное!
Вопрос, а как добавить checksum к своей прошивке?
Либо на гитхабе есть ответ, либо я не понял вопрос

Не подскажете, где взять оригинальный проект от ST? Никак не могу отыскать.

Да вроде в exemples
Спасибо. Ценно! Сам перехожу с arduino на что то более серьезное, буду весьма благодарен за подобные статьи про STM. Жгите еще, невзирая на коменты типа «очередной перевод мануала на хабре». На ваш материал есть спрос.
Оффтоп:
Препода, который у нас читал программирование как-то поставили на какой-то гуманитарный факультет преподавать компьютерную грамотность. Во время сессии пара-тройка студентов заваливала зачет. Тогда препод выбирал одного, который знал чуток лучше других и назначал его «учителем» для остальных. Говорит, что очень много нового узнавал о «преподавателях», «студентах», компьютерах и программе обучения

Спасибо, что оценили. Но нужно понимать, что я сам нахожусь в начале пути. Что накопал — про то и написал. Надеюсь при этом разобрался достаточно глубоко, что бы закрыть этот конкретный вопрос. А то получится как с этими студентами.
Главный ресурс, которого сегодня не хватает спецам, это время. С тем же успехом я и другие подписавшиеся могли бы накопать подобный материал и даже написать статью. И вот делема, в ремени на это найти сложно ( есть более приоритетные задачи), а разобраться в сабже максимально быстро хочется. Поэтому и прошу вас, не стесняйтесь собирать в кучу и делиться тем, что надергали из снопа. С уважением)
спасибо
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.