Грустый_embedded 0 24 июля, 2023 Опубликовано 24 июля, 2023 · Жалоба Доброго времени суток! Дано: устройство с загрузчиком и основной прошивкой. При включении питания устройство стартует с загрузчика, в котором проверяется есть ли новая прошивка для обновления (смотрю на crc уже зашитой и новой, но думаю это неважно), если нет, то просто переходим на адрес основной программы, если есть, то зашиваю новую и также перехожу. Проблема: Иногда при ребутах по watchdog происходит дичь с загрузчиком, в этом случае смотрю в отладке и вижу, что всегда по одному и тому же адресу вместо значения 0x22 наблюдаю 0x20 (сбрасывается 1 битик) и из-за этого падение в hardfault. При этом до этапа разблокировки flash и записи не доходит даже: просто включились, проинициализировали watchdog, начали проверку crc (подсчет программной функцией) и упали, watchdog ребутает, но дальше этого места пройти не можем. Если дернуть шнурок питания, то устройство оживает. На тесты ставили и ребутали по watchdog раз в минуту, и устройство могло и 2 часа простоять и сломаться, и потом 12 даже. Странно, что именно физический дернуть вилку из розетки помогает. Может кто подскажет в какую сторону можно копать? Что можно проверить? Или это брак камня/платы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 24 июля, 2023 Опубликовано 24 июля, 2023 · Жалоба 1 час назад, Грустый_embedded сказал: всегда по одному и тому же адресу вместо значения 0x22 наблюдаю 0x20 По какому адресу? Флеш? ОЗУ? Регистр периферии? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 239 24 июля, 2023 Опубликовано 24 июля, 2023 · Жалоба 2 часа назад, Грустый_embedded сказал: Или это брак камня/платы? Конечно, первое что приходит в голову - это брак камня. Не у себя же в программе баги искать, в самом деле! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Грустый_embedded 0 24 июля, 2023 Опубликовано 24 июля, 2023 · Жалоба 1 час назад, Сергей Борщ сказал: По какому адресу? Флеш? ОЗУ? Регистр периферии? флеш, где лежит сама программа загрузчика, адрес 0x8000530 1 час назад, jcxz сказал: Конечно, первое что приходит в голову - это брак камня. Не у себя же в программе баги искать, в самом деле! на самом деле было бы здорово, если что-то в программе, т.к. это можно исправить с меньшими затратами), но пока неясно, что еще можно проверить, чтобы подтвердить программный баг Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 24 июля, 2023 Опубликовано 24 июля, 2023 · Жалоба 7 минут назад, Грустый_embedded сказал: флеш, где лежит сама программа загрузчика, адрес 0x8000530 Загрузчик перед этим настраивает тактирование, разгоняет ядро? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Грустый_embedded 0 24 июля, 2023 Опубликовано 24 июля, 2023 · Жалоба 5 часов назад, Сергей Борщ сказал: Загрузчик перед этим настраивает тактирование, разгоняет ядро? да, тактирование, настраиваю. на частоту 108 Мгц Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 24 июля, 2023 Опубликовано 24 июля, 2023 · Жалоба А, это же GD32, у него такты ожидания флеша не влияют на работу. Хотя у них есть application note про проблемы при программном сбросе, к сожалению не смог найти ее в интернете.AN012 GD32 programming instructions on reset (rev. 1.0).pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Грустый_embedded 0 25 июля, 2023 Опубликовано 25 июля, 2023 · Жалоба 10 часов назад, Сергей Борщ сказал: А, это же GD32, у него такты ожидания флеша не влияют на работу. Хотя у них есть application note про проблемы при программном сбросе, к сожалению не смог найти ее в интернете.AN012 GD32 programming instructions on reset (rev. 1.0).pdf Спасибо, Сергей. Ознакомлюсь с документом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sidy 1 25 июля, 2023 Опубликовано 25 июля, 2023 · Жалоба У меня вопрос к автору - какой средой разработки пользуетесь для микроконтроллеров GD32? Или может были на форуме темы, где обсуждалось что из IDE можно использовать для GD32? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 1 августа, 2023 Опубликовано 1 августа, 2023 · Жалоба On 7/25/2023 at 11:50 PM, sidy said: какой средой разработки пользуетесь для микроконтроллеров GD32? Я использую IAR. С официального сайта производителя микроконтроллеров устанавливаете расширение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sidy 1 1 августа, 2023 Опубликовано 1 августа, 2023 · Жалоба 4 hours ago, haker_fox said: Я использую IAR. С официального сайта производителя микроконтроллеров устанавливаете расширение. Спасибо. А отладчик ST-Link v2 подойдет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 1 августа, 2023 Опубликовано 1 августа, 2023 · Жалоба 1 hour ago, sidy said: А отладчик ST-Link v2 подойдет? На форуме встречал утверждение, что подходит! Но у меня когда-то не заработал, и я больше не проверял. Взял J-Link, он мне больше нравится, и пользуюсь только им. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 11 1 августа, 2023 Опубликовано 1 августа, 2023 (изменено) · Жалоба Я использую Keil и ST-Link v2. Все работает. Пакет библиотек для Keil есть на сайте производителя. Процессоры - GD32F303,305 А вот ST-Link v2, перепрошитый на Jlink (использую с Миландром) - не работает Изменено 2 августа, 2023 пользователем haker_fox Исправил форматирование текста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться