Надо запрограммировать STM32... Как?
23.05.2017, 11:55
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.11.2009
Адрес: Свердловская область, г. Ирбит
Сообщений: 3,981
Сказал спасибо: 165
Сказали Спасибо 1,242 раз(а) в 732 сообщении(ях)
|
Надо запрограммировать STM32... Как?
Привет всем! Есть контроллер STM32F100C8T6B. Есть к нему прошивка. Есть программа для заливки в контроллер прошивки- Flash Loader Demonstrator. Программатора нет, но есть USB-UART на CP2102... Ну и вопрос: как прошить контроллер???
__________________
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
|
|
|
|
23.05.2017, 12:51
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
Так вроде надо BOOT1 на землю и RESET... СТМка стартанет на загрузчик
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
23.05.2017, 14:07
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.11.2009
Адрес: Свердловская область, г. Ирбит
Сообщений: 3,981
Сказал спасибо: 165
Сказали Спасибо 1,242 раз(а) в 732 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
Корпус у меня LQFP-48. Верно ли я понимаю, что адаптер на CP2102 надо подключить по трём проводам:
TxD к выводу 37 (SWDCLK)
RxD к выводу 34 (SWDIO).
Потом при нажатии кнопок BOOT и RESET и их одновременном удерживании, произойдёт запуск загрузчика, а потом после вливании самой прошивки, отпустить кнопки и перезапустить девайс? Всё верно, ничего не упустил?
__________________
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
|
|
|
|
23.05.2017, 14:58
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
Нет, не правильно. Для такого режима работает программирование с обычного UART1. Поэтому подсоединяем RX и TX CP2102 к TX и RX (PA9, PA10) микроконтроллера, вывод Boot0 микроконтроллера подсоединяем к +питания (Boot1 при этом должен быть к земле подключен), нажимаем ресет, отпускаем его и запускаем программирование
Последний раз редактировалось NewWriter; 23.05.2017 в 15:04.
|
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
23.05.2017, 15:18
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.11.2009
Адрес: Свердловская область, г. Ирбит
Сообщений: 3,981
Сказал спасибо: 165
Сказали Спасибо 1,242 раз(а) в 732 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
Теперь картинка у меня вроде складывается...
Ну и последнее- в момент включения у меня нажаты будут BOOT и RESET. Так как процессор ещё не прошит, то BOOT я отпустить не могу, так как питание на проц поступать не будет. А программирование я запущу отпусканием кнопки сброса... Вот сейчас по-ламерски верно?
__________________
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
|
|
|
|
23.05.2017, 15:59
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
Я не знаю, что там за кнопки бут и ресет и как они подключены, но вот как работает такой метод прошивки:
- сразу после сброса (отпускания кнопки сброса!) проверяется состояние Boot0, Boot1. Если Boot0 = 1 (высокий уровень, подключен к VCC), то переходит в режим программирования через встроенный загрузчик и далее уже не важно состояние выводов Boot, ожидаетс яприем по UART и собственно идет сама прошивка.
Последний раз редактировалось NewWriter; 23.05.2017 в 16:01.
|
|
|
|
19.06.2017, 10:19
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.11.2009
Адрес: Свердловская область, г. Ирбит
Сообщений: 3,981
Сказал спасибо: 165
Сказали Спасибо 1,242 раз(а) в 732 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
Никак прошить контроллер не могу. Вот если по схеме посмотреть, то с BOOT1 всё сделано, а вот BOOT0 сделан так, что требуется кнопку BOOT удерживать на весь период времени в процессе прошивки. Я вчера сделал все замеры по напряжениям на плате управления, проверил работу кнопки загрузчика. Вроде всё верно. Сначала пытался прошить через гальваноразвязку на оптопарах, потом, так как ничерта не вышло, то напрямую, соединив контакты на площадке для ADUM1201 попарно- 2-7 и 3-6... Ничего не получается.. В чём может быть проблема? Во вложении принципиальная схема сабжа (Схема управления на стр. 3)
__________________
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
|
|
|
|
19.06.2017, 10:41
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.11.2009
Адрес: Свердловская область, г. Ирбит
Сообщений: 3,981
Сказал спасибо: 165
Сказали Спасибо 1,242 раз(а) в 732 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
ну или вдруг удобнее, то в скрине схема платы управления
__________________
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
|
|
|
|
19.06.2017, 12:24
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
Сообщение от Андрей К
|
|
Вот если по схеме посмотреть, то с BOOT1 всё сделано, а вот BOOT0 сделан так, что требуется кнопку BOOT удерживать на весь период времени в процессе прошивки.
|
А я вот по схеме вижу, что если держать кнопку BOOT, то на выводе RESET МК будет низкий уровень, и, разумеется, ничего делаться не будет, пока кнопка не отпущена. А вот если нажать и отпустить кнопку BOOT (кнопку RESET вообще трогать не надо, кнопка BOOT все сама сделает)), то проц будет сброшен, и сразу после сброса на выводе BOOT0 будет высокий уровень (за счет задержки, пока не разрядится С3), и МК перейдет в режим, описанный выше NewWriter-ом.
Сообщение от NewWriter
|
|
и далее уже не важно состояние выводов Boot, ожидается прием по UART
|
Нажмите, чтобы открыть спойлер
- Ваша программа не работает!!!
- Не горячитесь, опишите подробнее, что именно не работает.
- Да ничего не работает, написано - нажмите кнопку, я нажимаю - а ничего не происходит!
- Так, давайте по шагам. Запустите программу.
- Запустил.
- Нажмите кнопку.
- Нажал! Не работает!
- Хм. Отпустите кнопку.
- О! Заработало...
Последний раз редактировалось AR_Favorit; 19.06.2017 в 12:31.
|
|
|
|
Сказали "Спасибо" AR_Favorit
|
|
|
19.06.2017, 12:44
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 10.11.2009
Адрес: Свердловская область, г. Ирбит
Сообщений: 3,981
Сказал спасибо: 165
Сказали Спасибо 1,242 раз(а) в 732 сообщении(ях)
|
Re: Надо запрограммировать STM32... Как?
AR_Favorit, спасибо, попробую сегодня ещё раз... Заодно, если что не пойдёт, то скрины ошибок приложу.
__________________
"У принца Лимона всё наоборот: воры и убийцы у него во дворце, а в тюрьме сидят честные граждане" (с) Дж. Родари "Приключения Чипполино"
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:57.
|
|