Arlleex 173 19 мая, 2022 Опубликовано 19 мая, 2022 · Жалоба 28 минут назад, Сергей Борщ сказал: Забавно. А живьем кто-то может проверить - без конденсатора, в программе сделать программный сброс и глянуть осциллографом - дергается ли нога? У меня был случай (STM32), когда вот такой же конденсатор на 4.7мкФ не давал МК сброситься от внутреннего WDT. Поэтому да, там будет импульс на NRST. 1 час назад, DAndy_boy сказал: Попробую, но загрузчик не запускается если жестко не сажать BOOT0 на +3,3В МК не обязательно должен влететь в загрузчик. При барахле на BOOT0/1 управление может передаться в ОЗУ, а там, полагаю - в Вашем случаем мусор. P.S. А еще, по-хорошему, надо смотреть разводку платы и наличие/тип VCAP-ов. P.S. Немного по теме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 19 мая, 2022 Опубликовано 19 мая, 2022 · Жалоба 2 часа назад, Arlleex сказал: У меня был случай (STM32), Про STM32 все понятно из документации. Вопрос был про GD32 - у него эту функцию не реализовали при слизывании или просто забыли в документации упомянуть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 173 19 мая, 2022 Опубликовано 19 мая, 2022 · Жалоба 1 час назад, Сергей Борщ сказал: Вопрос был про GD32 - у него эту функцию не реализовали при слизывании или просто забыли в документации упомянуть? За GD32, к сожалению, не скажу, т.к. не знаю. Я думал там полная копия STM32... Проверить сейчас только ТС может. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DAndy_boy 0 19 мая, 2022 Опубликовано 19 мая, 2022 · Жалоба 39 минут назад, Arlleex сказал: За GD32, к сожалению, не скажу, т.к. не знаю. Я думал там полная копия STM32... Проверить сейчас только ТС может. обязательно проверю... сейчас нет доступа к железу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DAndy_boy 0 20 мая, 2022 Опубликовано 20 мая, 2022 · Жалоба 19.05.2022 в 09:53, Arlleex сказал: Для начала можно попробовать заменить 40кОм на BOOT0 на что-то поменьше, например, на 0-перемычку. этот вариант не дал каких либо изменений. сейчас буду пробовать подключить программатор без сброса МК Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DAndy_boy 0 20 мая, 2022 Опубликовано 20 мая, 2022 · Жалоба попробовал подключиться программатором без сброса МК получается он встает в начало обработчика прерывания сброса и там висит, по ядру у него просто halted в статусе Что можно еще предпринять? ну кроме как заменить камень... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 232 20 мая, 2022 Опубликовано 20 мая, 2022 · Жалоба 5 часов назад, DAndy_boy сказал: попробовал подключиться программатором без сброса МК получается он встает в начало обработчика прерывания сброса Видимо всё-таки - со сбросом. Без сброса не получилось. Цитата и там висит, по ядру у него просто halted в статусе Ну так а какой у него должен быть статус если ваш отладчик его остановил? Цитата Что можно еще предпринять? ну кроме как заменить камень... Пошагать по инструкциям. Если шагается - значит подключиться без сброса вам не удалось. Тогда шагать дальше и искать где стопорится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 5 августа, 2023 Опубликовано 5 августа, 2023 · Жалоба Добрый день! Столкнулся с этой же проблемой, но на GD32F405RGT6. Пока не подашь RESET - не работает. Если при подаче питания удерживать RESET - не помогает - только второй дополнительный импульс. Кста, в заводской загрузчик заходит тоже только после передергивания RESET. После дополнительного импульса RESET - все прекрасно работает. Если идти от минимального кода, то можно сделать рабочий blink. Если blink плавно усложнять, то может сложиться ситуация, когда код перестает запускаться в принципе. Это никак не связано со временем выполнения, т.к. blink может работать бесконечно. Шьется всегда без проблем. В партии обнаружили два МК с таким поведением - один у меня в наличии - могу всячески тестировать. Замена МК помогает. Если сделать рабочий blink, то при подаче питания - задержка выполнения кода - 140мс; если удерживать RESET, подать питание, отпустить RESET - те же 140мс после отпускания RESET; если передернуть RESET запитанного МК, то задержка выполнения кода нулевая. Кста, размер работающего blink порядка 32кБ, просто в начале исходника перемещаю аналог while(1) и большая часть кода не выполняется. Поискал причину: оказывается, что при старте SP не копируется из памяти. При сбросе по питанию вижу SP=0xFFFFFFFC. При нормальной работе SP=0x20020000. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 5 августа, 2023 Опубликовано 5 августа, 2023 · Жалоба Сделал принудительную инициализацию SP в начале вектора сброса - теперь все работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться