ДЕЙЛ 31 20 января, 2023 Опубликовано 20 января, 2023 · Жалоба Есть МК BlueNRG-2. Использую загрузчик и прошивку. В загрузчике настраиваю сторожевой таймер, далее всё работает нормально, если имеется прошивка в нужной области памяти. Если вместо прошивки FFFFFFFFFF, то после попытки загрузчика запустить пустое место сторожевой таймер свою функцию не выполняет. Поможет только передёргивание питания. Почему такое может быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 20 января, 2023 Опубликовано 20 января, 2023 · Жалоба 10 часов назад, ДЕЙЛ сказал: после попытки загрузчика запустить пустое место сторожевой таймер свою функцию не выполняет. Поможет только передёргивание питания. Почему такое может быть? Скорее вопрос нужно ставить по-другому: "Почему ваш загрузчик запускает пустое место?" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ДЕЙЛ 31 23 января, 2023 Опубликовано 23 января, 2023 (изменено) · Жалоба On 1/20/2023 at 10:47 PM, jcxz said: Скорее вопрос нужно ставить по-другому: "Почему ваш загрузчик запускает пустое место?" Это искусственная ситуация. В LPC1768 в аналогичной ситуации сторожевой не выключался и перезапускал загрузчик. Загрузчик должен понять при необходимости, что прошивки нет. Тут можно сделать проверку первых 8 байт прошивки и не париться, но всё же хочу понять, почему сторожевой таймер не выполняет свою функцию. Изменено 23 января, 2023 пользователем ДЕЙЛ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 23 января, 2023 Опубликовано 23 января, 2023 · Жалоба А есть уверенность, что именно "не перезапускает" и виноват именно WDT? Может просто ваш загрузчик виснет при сбросе, произошедшем от WDT? Если есть эмулятор, можно полностью стереть МК, подключиться к нему эмулятором, отшагнуть чуток от начала памяти программ, поставить бряк на начало памяти программ, вручную (через регистры) активировать WDT и запустить МК. И проконтролировать, что управление попало на бряк (был нормальный сброс) или не попало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ДЕЙЛ 31 23 января, 2023 Опубликовано 23 января, 2023 · Жалоба 2 minutes ago, jcxz said: А есть уверенность, что именно "не перезапускает" и виноват именно WDT? Может просто ваш загрузчик виснет при сбросе, произошедшем от WDT? Да. При старте загрузчика моргаю светодиодом. Если вместо прошивки пустое место в виде FFFFF, то при подаче питания однократное моргание и уход в глухое зависание. Если прошивка какая-то имеется, но при этом не сбрасывает WDT, то всё нормально работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 23 января, 2023 Опубликовано 23 января, 2023 · Жалоба 8 минут назад, ДЕЙЛ сказал: Да. При старте загрузчика моргаю светодиодом. Если вместо прошивки пустое место в виде FFFFF, то при подаче питания однократное моргание и уход в глухое зависание. Сомнительный вывод. Зависнуть может сразу после сброса, до начала манипуляции со светодиодом. Или сразу после начала, во время выдержки длительности импульса, с последующим его выключением. И ещё 100500 вариантов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ДЕЙЛ 31 23 января, 2023 Опубликовано 23 января, 2023 · Жалоба 3 hours ago, jcxz said: Сомнительный вывод. Зависнуть может сразу после сброса, до начала манипуляции со светодиодом. Или сразу после начала, во время выдержки длительности импульса, с последующим его выключением. И ещё 100500 вариантов. Сторожевой таймер включается перед светодиодом. Если светодиод включился, то момент включения WDT пройден. Далее должен циклически перезапускаться и моргать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 23 января, 2023 Опубликовано 23 января, 2023 · Жалоба 2 минуты назад, ДЕЙЛ сказал: Сторожевой таймер включается перед светодиодом. Если светодиод включился, то момент включения WDT пройден. Далее должен циклически перезапускаться и моргать. И что? А виснет - ДО включения светодиода и инита WDT. Похоже вы не прочитали мой первый пост. Ещё раз: 3 часа назад, jcxz сказал: Может просто ваш загрузчик виснет при сбросе, произошедшем от WDT? Ещё раз перечитайте, особенно выделенное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ДЕЙЛ 31 23 января, 2023 Опубликовано 23 января, 2023 · Жалоба 1 hour ago, jcxz said: И что? А виснет - ДО включения светодиода и инита WDT. Похоже вы не прочитали мой первый пост. Ещё раз: Ещё раз перечитайте, особенно выделенное. В пошаговой отладке в железе ничего не виснет. При наличии прошивки отладка возвращается в точку останова в начало кода загрузчика. При отсутствии прошивки отладчик куда-то убегает и никогда не возвращается в начало загрузчика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
113 3 13 февраля, 2023 Опубликовано 13 февраля, 2023 · Жалоба А контекст проца сбрасывается? Что происходит со счетчиком команд и указателем стека? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться