Перейти к содержанию
    

GD32F103xE проблема при запуске прошивки

Доброго времени суток! Дано: устройство с загрузчиком и основной прошивкой. При включении питания устройство стартует с загрузчика, в котором проверяется есть ли новая прошивка для обновления (смотрю на crc уже зашитой и новой, но думаю это неважно), если нет, то просто переходим на адрес основной программы, если есть, то зашиваю новую и также перехожу. Проблема: Иногда при ребутах по watchdog происходит дичь с загрузчиком, в этом случае смотрю в отладке и вижу, что всегда по одному и тому же адресу вместо значения 0x22 наблюдаю 0x20 (сбрасывается 1 битик) и из-за этого падение в hardfault. При этом до этапа разблокировки flash и записи не доходит даже: просто включились, проинициализировали watchdog, начали проверку crc (подсчет программной функцией) и упали, watchdog ребутает, но дальше этого места пройти не можем. Если дернуть шнурок питания, то устройство оживает. На тесты ставили и ребутали по watchdog раз в минуту, и устройство могло и 2 часа простоять и сломаться, и потом 12 даже. Странно, что именно физический дернуть вилку из розетки помогает. Может кто подскажет в какую сторону можно копать? Что можно проверить? Или это брак камня/платы? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Грустый_embedded сказал:

всегда по одному и тому же адресу вместо значения 0x22 наблюдаю 0x20

По какому адресу? Флеш? ОЗУ? Регистр периферии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Грустый_embedded сказал:

Или это брак камня/платы?

Конечно, первое что приходит в голову - это брак камня. Не у себя же в программе баги искать, в самом деле!  :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Сергей Борщ сказал:

По какому адресу? Флеш? ОЗУ? Регистр периферии?

флеш, где лежит сама программа загрузчика, адрес 0x8000530

1 час назад, jcxz сказал:

Конечно, первое что приходит в голову - это брак камня. Не у себя же в программе баги искать, в самом деле!  :biggrin:

на самом деле было бы здорово, если что-то в программе, т.к. это можно исправить с меньшими затратами), но пока неясно, что еще можно проверить, чтобы подтвердить программный баг

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, Грустый_embedded сказал:

флеш, где лежит сама программа загрузчика, адрес 0x8000530

Загрузчик перед этим настраивает тактирование, разгоняет ядро?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, Сергей Борщ сказал:

Загрузчик перед этим настраивает тактирование, разгоняет ядро?

да, тактирование, настраиваю. на частоту 108 Мгц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А, это же GD32, у него такты ожидания флеша не влияют на работу. Хотя у них есть application note про проблемы при программном сбросе, к сожалению не смог найти ее в интернете.AN012 GD32 programming instructions on reset (rev. 1.0).pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 часов назад, Сергей Борщ сказал:

А, это же GD32, у него такты ожидания флеша не влияют на работу. Хотя у них есть application note про проблемы при программном сбросе, к сожалению не смог найти ее в интернете.AN012 GD32 programming instructions on reset (rev. 1.0).pdf

Спасибо, Сергей. Ознакомлюсь с документом

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня вопрос к автору - какой средой разработки пользуетесь для микроконтроллеров GD32? Или может были на форуме темы, где обсуждалось что из IDE можно использовать для GD32?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/25/2023 at 11:50 PM, sidy said:

какой средой разработки пользуетесь для микроконтроллеров GD32?

Я использую IAR. С официального сайта производителя микроконтроллеров устанавливаете расширение.

image.thumb.png.7b6658132ad9eacb9f23df7bd2bcc8cd.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, haker_fox said:

Я использую IAR. С официального сайта производителя микроконтроллеров устанавливаете расширение.

Спасибо. А отладчик ST-Link v2 подойдет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, sidy said:

А отладчик ST-Link v2 подойдет?

На форуме встречал утверждение, что подходит! Но у меня когда-то не заработал, и я больше не проверял. Взял J-Link, он мне больше нравится, и пользуюсь только им.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я использую Keil и  ST-Link v2. Все работает. Пакет библиотек для Keil есть на сайте производителя. Процессоры - GD32F303,305

А вот  ST-Link v2, перепрошитый на Jlink (использую с Миландром) - не работает

Изменено пользователем haker_fox
Исправил форматирование текста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...