04.07.2018, 17:15
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Блин. Сделал кофе, открыл тему ... а срач закончился.
|
|
|
|
04.07.2018, 17:37
|
|
Прописка
Регистрация: 07.12.2007
Адрес: Омск
Сообщений: 251
Сказал спасибо: 44
Сказали Спасибо 86 раз(а) в 45 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
Чтобы впредь не было срачей, в ветке "STM32" обязательно нужен подфорум с названием "калокуб". И пусть эти товарищи там тусят. Те, кто всякой дрянью не пользуются, не будут туда просто заходить — вот и все!
|
Согласен.
KAZUS стал...???? Где строгие модераторы?
Всякую хню пишут.Противно заходить.
|
|
|
|
04.07.2018, 18:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,629
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сейчас наткнулся на такую фигню: если запитать STM32F042 от USB, то в режиме бутлоадера включается не загрузчик по UART1, а DFU!!!
Я месяц назад с одной платой полдня колупался, понять не мог (а надо было глянуть выхлоп dmesg), почему она не прошивалась при помощи stm32flash. А сейчас интереса ради глянул — ба! Подключается некое устройство, и dfu-util его опознает.
Но беда в том, что dfu-util прошивает флеш крайне медленно. Нет ли какой-нибудь возможности, кроме запитывания МК не с USB, сделать приоритетным загрузчик на USART1? А то я отдельного разъема под питание от 5В не предусмотрел (только 12В от CAN-шины)...
И еще вопрос: в STM32F042 есть загрузчик по CAN-шине. Железяки у меня будут висеть на ней (и только последняя по USB связываться с "апельсинкой"). И вот подумалось: мало ли, надо будет прошить, а к ним потом подлезть будет крайне проблематично.
Может, кто-то пользовался прошивкой по CAN-шине? Насколько это вообще возможно? Просто я не представляю себе, как можно активировать встроенный загрузчик на конкретном устройстве шины... Да и can-бутлоадеров под линукс что-то не встречал...
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
04.07.2018, 19:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Цитата:
|
Сейчас наткнулся на такую фигню: если запитать STM32F042 от USB, то в режиме бутлоадера включается не загрузчик по UART1, а DFU!!!
|
Это зависит не от питания, а от коммутации пинов BOOT0 ( и возможно BOOT1).
|
|
|
|
04.07.2018, 19:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,011
Сказал спасибо: 2,770
Сказали Спасибо 2,715 раз(а) в 2,007 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
А то я отдельного разъема под питание от 5В не предусмотрел
|
Предусмотреть отдельный шнурок питания от USB разъема, без сигнальных проводников?
Ибо, как я представляю, встроенный загрузчик опрашивает порты по определенному порядку, а запретить ему использовать "более первый" порт - только отключив его к-л образом.
|
|
|
|
04.07.2018, 19:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,011
Сказал спасибо: 2,770
Сказали Спасибо 2,715 раз(а) в 2,007 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от DanilinSA
|
зависит ... от коммутации пинов BOOT0 ( и возможно BOOT1)
|
В STM32F205/405 процессорах - выбор загрузки из flash, ram или встроенного загрузчика.
|
|
|
|
04.07.2018, 19:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,629
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от Yuri222
|
Предусмотреть отдельный шнурок питания от USB разъема, без сигнальных проводников?
|
Да понял уже, что финт не пройдет и придется запитывать от 12В на время прошивки.
Про бутлоадер почитал: как-то уныло все. Теоретически, можно заставить устройство уйти в бут-режим программно (поотключать всю периферию и перейти на исполнение кода по адресу загрузчика, либо во временный регистр сохранить флаг и перезагрузиться, а в самом начале проверять значение этого флага). Встроенный CAN-бутлоадер активируется, как только на CAN-Rx появятся данные, если данные идентификатору 2 переданы, то они воспринимаются.
Только беглый поиск не дал мне готовых утилит, чтобы по CAN-шине бинарник прошить в МК.
Ну и еще одна проблема: как после завершения загрузки через встроенный бутлоадер выполнить перезапуск МК. Разве что поочередно все перепрошить и отключить, а потом заново включить питание...
Как-то сложно все это.
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
04.07.2018, 19:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,629
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от STM32F0
|
А разве ресета недостаточно?
|
Ясен пень, недостаточно! Кто ногу boot будет подтягивать?
Программно только два варианта: 1) отключить все прерывания, настроить все ноги на вход и вырубить тактирование лишнего, после чего перейти по адресу расположения бутлоадера; 2) какую-нибудь свободную ногу неподалеку от boot снабдить кондером с резистором, выставить на ней лог.1 в течение времени, достаточного, чтобы кондей зарядился, а затем вызвать программный резет.
Но остается еще проблема: как перезапустить устройство после окончания загрузки. Похоже, здесь только один вариант — отключить его питание и затем включить снова.
Вариант "написать свой загрузчик" не рассматриваю, т.к. уж очень это геморно. Да и место во флеше займет (а у меня там из-за долбаных флоатов уже не так уж много осталось + еще USB-CDC поднять надо и добавить помимо протокола работы по UART протоколы USB и CAN!)...
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
08.07.2018, 06:06
|
|
Прописка
Регистрация: 02.03.2010
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 49 раз(а) в 26 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от andries5
|
не понравился своим монструозным кодом. Это действительно так. На HAL-е можно составлять программы, почти не вдаваясь в железо. С использованием HAL получается каша. Я куб использую только для наглядного распределения ножек МК. Это удобно. А инициализацию делаю сам. Но не более.
|
Еще КУБ можно использовать как генератор семплов кода. Например, не запускался adc1 adc2 в попеременном режиме , сгенерировал код кубом, подсмотрел порядок сбросов , запуска , задержек - заработало.
|
|
|
|
08.07.2018, 11:31
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,629
Сказал спасибо: 115
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от 6ap6oc
|
подсмотрел порядок сбросов , запуска , задержек
|
А в RM для этого заглянуть не судьба?
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:10.
|
|