Сиг 0 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба Здравствуйте, коллеги! Зашёл в тупик, не пойму в чём дело. С STM8 ранее не работал. В общем проблема в следующем. Создал проект в STVD+COSMIC на Win10. Ставлю точку остановки в самом начале программы на инициализации контроллера, запускаю симулятор/дебагер командой "Run", отладчик останавливается сразу каждый раз на точке остановки, которую я описал выше, т.е. в основной цикл программы не входит, как будто происходит сброс контроллера. Если же отладку делать в пошаговом режиме, то всё проходит нормально, программа заходит в основной цикл и крутится там достаточно долго, но на каком-то шаге вдруг появляется панель с надписью "ST visual developer a required resource was". После нажатия на кнопку ОК, панель закрывается, закрывается и STVD, а вчера закрылось и с этим проектом вообще не хочет открываться, сначала появляется вращающееся колёсико ожидания, а потом – STVD закрывается. Да, пытался в симуляторе определить причину сброса, так в регистре RST_SR – 0xff, в дебагере же – 0x08, где Bit 3 SWIMF: SWIM reset flag. Может, кто-нибудь сталкивался с таким поведением STVD? Может, сменить среду отладки на IAR ил и ещё какую? Что посоветуете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 203 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба Непонятно - зачем вообще заморачиваться с какими-то симуляторами, если отладочные платы на STM8 стоят дешевле некуда? И потом ещё гадать - насколько симулятор соответствует положению дел в реальном МК... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба 12 minutes ago, Сиг said: запускаю симулятор/дебагер командой "Run" Я же ранее написал, сейчас специально выделил. Проба была и в симуляторе и на готовом модуле дебагером, на живом контроллере, результат - один. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 203 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба 18 минут назад, Сиг сказал: Я же ранее написал, сейчас специально выделил. Проба была и в симуляторе и на готовом модуле дебагером, на живом контроллере, результат - один. Так может у вас нога NRST SWIM-интерфейса болтается в воздухе (или на ней есть какой-то левый сигнал) и это вызывает самопроизвольные сбросы? Потому и выставляется "SWIM reset flag". 37 минут назад, Сиг сказал: Что посоветуете? Посоветую: прошить прошивку, отключить SWIM-кабель, запустить программу и понаблюдать за её работой без отладчика (предварительно выведя какую-то индикацию нормальной работы на лампочки или в UART). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба NRST подтянута к +5 В питания. А для SWIM-вывода подтяжку надо делать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 203 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба Тогда возможно - баг в программе, из-за которого происходят самопроизвольные сбросы и остановка на точке начала программы. Для проверки можно: Отшагнуть от бряка один шаг, снять флаг SWIMF (руками через регистр RST_SR) и сделать RUN. При следующей остановке на бряке - проверить наличие флага SWIMF: если флаг стоит - реально был получен новый NRST, если нет - видимо произошёл программный рестарт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба Прошивка и последующее откл. кабеля-SWIM не привело к победе. То же самое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба 23 minutes ago, jcxz said: Отшагнуть от бряка один шаг, В STVD не нашёл такой возможности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 41 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба 1 hour ago, Сиг said: сменить среду отладки на IAR ил и ещё какую? Почему сразу это нельзя было сделать ? И за 10 минут стало бы понятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба 16 minutes ago, x893 said: Почему сразу это нельзя было сделать ? И за 10 минут стало бы понятно. Ну, так уж и 10. Да и за спрос не бьют в нос. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 203 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба 1 час назад, Сиг сказал: В STVD не нашёл такой возможности. В смысле? Там нет пошаговой отладки? Что-ж за среда такая без возможности шагания??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 13 апреля, 2021 Опубликовано 13 апреля, 2021 · Жалоба 41 minutes ago, jcxz said: В смысле? Там нет пошаговой отладки? Что-ж за среда такая без возможности шагания??? 2 hours ago, jcxz said: Отшагнуть от бряка один шаг, Отшагнуть, отступить - шаг назад. Шагнуть - шаг вперёд. Я правильно понимаю русский язык? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 14 апреля, 2021 Опубликовано 14 апреля, 2021 · Жалоба Коллеги, сделал замер напряжения на входе NRST. Оно равно 3,7 В. Причём, столько оно и при подключенном внешнем подтягивающем резисторе 10 кОм и без него. Кирдык NRST? 20 hours ago, jcxz said: Для проверки можно: Отшагнуть от бряка один шаг, снять флаг SWIMF (руками через регистр RST_SR) и сделать RUN. При следующей остановке на бряке - проверить наличие флага SWIMF: если флаг стоит - реально был получен новый NRST, если нет - видимо произошёл программный рестарт. Интересно что флаг SWIMF стоит уже изначально, ещё до пуска Run. Попытки его сбросить не увенчались успехом. Стоит железобетонно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сиг 0 14 апреля, 2021 Опубликовано 14 апреля, 2021 · Жалоба 33 minutes ago, Сиг said: Интересно что флаг SWIMF стоит уже изначально, ещё до пуска Run. Попытки его сбросить не увенчались успехом. Стоит железобетонно. Очистил, записав туда 0xFF. Но при запуске опять наблюдается этот флаг. Вот и возник вопрос. Может такое место быть из-за программатора/дебагера ST-LINK типа "свисток"? Вроде новый, ни разу не пользованный до того. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 203 14 апреля, 2021 Опубликовано 14 апреля, 2021 · Жалоба 7 часов назад, Сиг сказал: Вот и возник вопрос. Может такое место быть из-за программатора/дебагера ST-LINK типа "свисток"? Вроде новый, ни разу не пользованный до того. А вы чего ожидали? Это флаг причины сброса - если вы подключаетесь и грузить МК через SWIM, то естественно этот флаг должен стоять при старте. PS: Лучше бы совета моего послушались и проверили как я описывал выше...... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться