ZloyKrot 0 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба Добрый день. Собрал минимальную плату под stm32g030f6p6tr, прошиваю по USART через PA2, PA3. МК сразу пускает в системный бутлоадер, шьется, но после этого загружается только из пользовательский памяти, войти снова в бутлоадер не получается. Подтяжка BOOT0 на землю или на + не даёт никакого эффекта, nRST выведен кинул на землю через кнопку, кнопка просто сбрасывает МК, но загрузка минует бутлоадер и сразу выполняет прошивку. По аналогии делал с Stm32F030f4p6 и там все работало иначе - старт бутлоадера определялся подтяжкой BOOT0. В общем вопрос в том, какие пины и как подтянуть, чтобы МК стартовал из бутлоадера и давал прошиться через USART. Китайский ST-Link пока едет, руки чешутся, а кирпичить ещё МК не хочется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tgruzd 11 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба 13 минут назад, ZloyKrot сказал: По аналогии делал с Stm32F030f4p6 По аналогии может и не получиться. Ищите различия (они есть) в даташитах: 20 минут назад, ZloyKrot сказал: Китайский ST-Link пока едет, руки чешутся, а кирпичить ещё МК не хочется. Чтобы прямо кирпич сделать - ещё постараться надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба 39 minutes ago, ZloyKrot said: старт бутлоадера определялся подтяжкой BOOT0. Здесь то же самое. Только у загрузчика может быть несколько активных последовательных портов для проверки. И если по какой-то причине на входе RX другого порта - шум, то вход может и не произойти. Подтяните все RX к питанию через резистор 10 кОм. После этого установит BOOT0 в надлежащий уровень (лог. 1), удерживая этот уровень, перезагрузите микроконтроллер, подачей импульса лог. 0 на ножку RESET. Теперь загрузчик должен быть активен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZloyKrot 0 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба 21 минуту назад, tgruzd сказал: Ищите различия (они есть) в даташитах: Безусловно. В STM32G03X есть проверка основной памяти и, если она пуста - запускается системный бутлоадер, в STMF03X такой проверки нет. В паттернах запуска бутлоадера из AN2606, для STMF03X все просто: Для STMG03X вариантов больше, но т.к. LOCK_BIT именно в STMG030f6 отсутствует, а прошивка уже залита, то остаётся только один вариант: Различие как раз в этом nBOOT0_SEL (bit), но, если я правильно понял, выставить эти биты при простом подключении по uart не получится, нужен именно st-link? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZloyKrot 0 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба 27 минут назад, haker_fox сказал: Подтяните все RX к питанию через резистор 10 кОм Подтягивать стоит все USART интерфейсы? Тогда получается как-то так: В AN ещё указаны пины PA10, PA9, но, судя по даташиту это cts/rts USART1 и по идее они не должны влиять для конкретного МК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба Все. Не знаю, как точно для конкретной модели, но на других STM32Fxxx загрузчик слушает все RX. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tgruzd 11 10 декабря, 2022 Опубликовано 10 декабря, 2022 · Жалоба 22 минуты назад, ZloyKrot сказал: выставить эти биты при простом подключении по uart не получится, нужен именно st-link? Я конкретно с этой серией не работал, точно не скажу. Но считаю, что jtag/swd-отладчик это очень нужная вещь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
113 3 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба On 12/10/2022 at 12:38 PM, haker_fox said: Все. Не знаю, как точно для конкретной модели, но на других STM32Fxxx загрузчик слушает все RX. Я бы уточнил, что он последовательно перебирает разные порты разных интерфейсов. Подробней можно посмотреть в AN2606 Для сабжа, например так: и вот Но это все равно не поможет, с учетом механизма выбора режима загрузки согласно паттерну 11, описанному выше. Нужно биты изменять конфигурационные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZloyKrot 0 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба 1 час назад, 113 сказал: Но это все равно не поможет, с учетом механизма выбора режима загрузки согласно паттерну 11, описанному выше. Нужно биты изменять конфигурационные Есть у меня подозрение, что китайский прог CH341a это не лучшее решение, т.к. хоть пины USART в STM и толерантны к 5 вольтам, все равно МК ведут себя случайным образом, а некоторые даже умирают. Проблему решил обычный китайский свисток st-link v2, с серией G03 все прекрасно работает, и прошивка и дебаг, причем в этой серии МК пин с BOOT0 совмещен с SWDIO, поэтому даже перемычек ставить не пришлось - при подключении программатора, МК сам сбрасывается и загружает бутлоадер. Вероятно можно организовать перепрошивку через USART, тогда нужно будет подтягивать BOOT0 и настраивать опциональные биты в st Programmer, но, как показала практика, шанс на успех не 100%, да и работа не очень стабильная. Кому нужно, выкладываю пока что финальную разводку платы под этот МК Все резисторы 300 -1500 Ом идут на светодиоды, R2 не запаян, так как BOOT0 подтягивать не нужно. Коденсаторы 10-20пф, в зависимости от кварца, этектролит С3 хотя-бы на 22мкф. U2 - XC6206P332MR, можно поставить что-то помощнее, но вряд-ли МК возьмет больше 200мА. Добавил 2 дополнительных светодиода на 7 и 8 пины, чтобы сразу можно было прошить и убедиться в работоспособности. Разводка двусторонняя, под текстолит 45 х100 в diptrace, плат 4, так как делал лутом и бывает кое-где принтер оставляет косяки. rtrtr.dip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
113 3 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба Не совсем понял зачем тут плата. Если просто посмотреть - в виде картинки было бы куда читабельней, не у всех диптрейс есть. По поводу программатора - st-link и другие нормальные программаторы используют SWD или JTAG, который помимо непосредственно загрузки прошивки, имеют множество полезных функций. UART есть смысл использовать только в конечном продукте, где не требуется отладка (и где уже правильным образом настроена конфигурация, чтобы была возможность подключиться к загрузчику). Ну еще можно свой загрузчик сделать со своим механизмом запуска. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба 2 часа назад, 113 сказал: Я бы уточнил, что он последовательно перебирает разные порты разных интерфейсов. Подробней можно посмотреть в AN2606 Зачем ему "последовательно перебирать" если он может слушать все одновременно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
113 3 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба неправильно выразился. Последовательно перебирает интерфейсы (типы). Хотя сталкивался с ситуацией, когда отладочный интерфейс был ниже по таблице (например USART2), и не отзывался, пока не подтянешь вышестоящий (USART1). Но USART1 в качестве отладочного работал не зависимо от состояния USART2. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZloyKrot 0 28 декабря, 2022 Опубликовано 28 декабря, 2022 · Жалоба 1 час назад, 113 сказал: Не совсем понял зачем тут плата. Если просто посмотреть - в виде картинки было бы куда читабельней, не у всех диптрейс есть. Если вдруг кому лень разводить, а поиграться с мк хочется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZloyKrot 0 22 января, 2023 Опубликовано 22 января, 2023 · Жалоба При подключении программатором по SWD - все прекрасно шьется, биты выставлять не нужно, st-link сам перехватывает управление даже если МК уже выполняет прошивку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 22 января, 2023 Опубликовано 22 января, 2023 · Жалоба В 28.12.2022 в 16:40, ZloyKrot сказал: Если вдруг кому лень разводить, а поиграться с мк хочется. Кому нужно работать с МК, а не играть, тот начинает с покупки отладочной платы. Если с данным МК ранее не было опыта работы. И нормальный эмулятор в комплект конечно сразу же. Это позволяет сэкономить кучу времени и денег. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться