-
- Разобрался. На форуме Microchip подсказали трюк - сбрасывать самому через меню Debugger->Reset. RxTx(147 знак., 20.12.2019 01:13)
- А почему не пойти по цивилизованному пути и убрать ресет, заменив его выходом в верхушку main-а? my504(254 знак., 20.12.2019 17:38)
- А я это попытался сделать первым же делом. RxTx(2645 знак., 21.12.2019 15:40 - 15:57)
- Можно, кстати, заменить ресет на жесткий переход, но не в ноль флеша, а на вектор ресета, который можно увидеть в ПрограмМемори как раз в нуле флеша, точнее в его двух первых словах. Тогда дебаг останется жив. Ну а перед этим переходом увести в my504(51 знак., 22.12.2019 03:04)
- Никак не привыкну к деревянному интерфейсу сахары. Вечно пропускаю свернутые сообщения. А что за криптография? Может ногодрыгом свободных ног проще выйти на проблему? Реалтайм не лучшая сторона дебаггеров. - my504(22.12.2019 02:34)
- Имхо по цивилизованному пути - это когда ресет только во всяких трапах, после записи "Караул!!!" в лог. А переход на верхушку main - еще более лютая дичь, чем использование ресета в процессе нормальной работы. - ant333(21.12.2019 00:05)
- Нельзя на верхушку мэйна. Люди уже попадались. То периферия не так зависла, то ещё что. Там, где есть в наборе инструкций настоящий сброс, грех им не воспользоваться. Там, где нет, у людей доходило до внешней схемы сброса по дёрганью вывода из Nikolay_Po(11 знак., 20.12.2019 18:06)
- Я на этом и попался. Не проканало. Даже после выполнения нормальной последовательности - deinit, затем init. RxTx(292 знак., 21.12.2019 16:04)
- Некоторые регистеры после сброса должны встать в спеццыально оговоренную позу. - mse homjak(20.12.2019 17:57)
- Специально оговоренные позы регистров нужно дублировать в начале исполнения. Тогда и не будет никакой дичи в верхушке мэйна. my504(339 знак., 21.12.2019 08:12 - 09:50)MBedder
- Тоже так считаю. Однако наблюдаю не первый проект, когда на любой чих делают просто полный системный reset, еще и заводя пин сброса на порт. - RxTx(21.12.2019 16:06)
- В общем, это нормально для встраиваемого контроллера. У меня был проект, который каждый новый цикл начинал со сброса, и сброс там был как из кода, так и по вачдогу - в зависимости от режима работы. Несколько раз в секунду. И ничего. Шансов ему Nikolay_Po(1146 знак., 21.12.2019 16:41 - 16:52)
- Ну да. warm reset сейчас - это всего лишь подвид exception handler у многих ядер и процов. Только я не имею в виду не делать reset вообще никогда. Я имею в виду не злоупотреблять этим, выстраивая на этом цикл нормальной работы. Тут опять же, всё RxTx(949 знак., 21.12.2019 18:10 - 18:34)
- Доктор вспомнился... - ant333(21.12.2019 18:45)
- Болеешь? - RxTx(21.12.2019 19:15)
- Стиль изложения похож. Приношу извинения если задел, не имел такой цели. - ant333(21.12.2019 19:34)
- Болеешь? - RxTx(21.12.2019 19:15)
- Доктор вспомнился... - ant333(21.12.2019 18:45)
- Да, насчет запланированных сбросов я пожалуй погорячилсчя. ant333(32 знак., 21.12.2019 17:40)
- Не по теме, отопление окупается, майнер - нет. Слишком низок курс. Выручка больше стоимости ЭЭ, но на амортизацию оборудования совершенно не тянет. Жду роста курса, просто коплю валюту. - Nikolay_Po(21.12.2019 17:52)
- Майнинг бетховенов окупается лишь у тех, кто тырит электричество. - RxTx(21.12.2019 18:11)
- ТЭН даже теоретически окупиться не может) ant333(38 знак., 21.12.2019 18:16)
- Майнинг бетховенов окупается лишь у тех, кто тырит электричество. - RxTx(21.12.2019 18:11)
- Не по теме, отопление окупается, майнер - нет. Слишком низок курс. Выручка больше стоимости ЭЭ, но на амортизацию оборудования совершенно не тянет. Жду роста курса, просто коплю валюту. - Nikolay_Po(21.12.2019 17:52)
- Ну да. warm reset сейчас - это всего лишь подвид exception handler у многих ядер и процов. Только я не имею в виду не делать reset вообще никогда. Я имею в виду не злоупотреблять этим, выстраивая на этом цикл нормальной работы. Тут опять же, всё RxTx(949 знак., 21.12.2019 18:10 - 18:34)
- В общем, это нормально для встраиваемого контроллера. У меня был проект, который каждый новый цикл начинал со сброса, и сброс там был как из кода, так и по вачдогу - в зависимости от режима работы. Несколько раз в секунду. И ничего. Шансов ему Nikolay_Po(1146 знак., 21.12.2019 16:41 - 16:52)
- Я как-то пробовал продублировать специальные регистры в начале исполнения. Оказалось, очень много периферии теоретически может влиять на используемые порты и если её нужно явно инициализировать, это несколько страниц кода. Nikolay_Po(231 знак., 21.12.2019 15:05)
- Это лучшее из зол - перевести систему в заранее определённое состояние. Причом, практически, мгновенно, в отличие от шебуршения через МАЙН. Худшее из зол, это, например, зависнуть и оставить силовые ключи в статическом состоянии, на время, пока mse homjak(530 знак., 21.12.2019 12:28 - 12:31)
- Вы, милостивый государь, несете ахинею. Речь идет не об абстрактном МК, а о вполне конкретной архитектуре, где нет никаких 100500 СФР, среди которых, к тому же, реально применяются с полсотни или около того. Это во-первых. А во вторых, нужно иметь my504(726 знак., 21.12.2019 13:38 - 14:16)
- Чот не пойму, чо вы митингуете? Если у вас конкретная архитектура и конкретная задача, делайте что хотите. У нас свободная страна, есличо. И если обработка экцепшына не повлияет на катастрофичность последствий сбоя, то раздумывайте скока угодно, mse homjak(187 знак., 21.12.2019 14:25)
- Случайных сбросов НЕ БЫВАЕТ. Все сбросы имеют ПРИЧИНУ. В силовом оборудовании проблема сброса состоит в необходимости утилизации запасенной в реактивной нагрузке энергии. Поэтому организовывать сброс лишь потому, что не понимаешь что делать с my504(30 знак., 21.12.2019 14:49)
- А что можно сделать с зависанием? Пока вочдог не дёрнет НМИ, никто не знает, чем занимался процессор ,по каким переменным он скакал и чего в них ложил. Но если у вас есть память трека на 100500шагов, тоды ой! Запасённая энергия должна уйти в mse homjak(457 знак., 21.12.2019 19:32)
- Может, и не слишком умно. Но раз в конкретной системе уже давно реализовано - значит можно. Не нужно воображать себя богом и думать, что можешь предусмотреть всё в main() и исключениях. Nikolay_Po(422 знак., 21.12.2019 15:01 - 15:07)
- А запланированые бывают?) Как выше заметили, аппаратный сброс мгновенно приводит систему в детерминированное состояние, а после этого можно и сопли пожевать, для этого есть RCON, сами же написали - ant333(21.12.2019 15:01)
- Случайных сбросов НЕ БЫВАЕТ. Все сбросы имеют ПРИЧИНУ. В силовом оборудовании проблема сброса состоит в необходимости утилизации запасенной в реактивной нагрузке энергии. Поэтому организовывать сброс лишь потому, что не понимаешь что делать с my504(30 знак., 21.12.2019 14:49)
- Чот не пойму, чо вы митингуете? Если у вас конкретная архитектура и конкретная задача, делайте что хотите. У нас свободная страна, есличо. И если обработка экцепшына не повлияет на катастрофичность последствий сбоя, то раздумывайте скока угодно, mse homjak(187 знак., 21.12.2019 14:25)
- Вы, милостивый государь, несете ахинею. Речь идет не об абстрактном МК, а о вполне конкретной архитектуре, где нет никаких 100500 СФР, среди которых, к тому же, реально применяются с полсотни или около того. Это во-первых. А во вторых, нужно иметь my504(726 знак., 21.12.2019 13:38 - 14:16)
- Тоже так считаю. Однако наблюдаю не первый проект, когда на любой чих делают просто полный системный reset, еще и заводя пин сброса на порт. - RxTx(21.12.2019 16:06)
- Специально оговоренные позы регистров нужно дублировать в начале исполнения. Тогда и не будет никакой дичи в верхушке мэйна. my504(339 знак., 21.12.2019 08:12 - 09:50)MBedder
- А я это попытался сделать первым же делом. RxTx(2645 знак., 21.12.2019 15:40 - 15:57)
- Вот кто бы сказал, pic24/33 работает таки аппаратно, или как у армов есть скрытый бутлоадер стартующий до основной прошивки (и именно он взаимодействует с программатором). - fk0(20.12.2019 01:25)
- У microchip'а всегда есть две сборки - дебаг и релиз. В debug прилинковывается т.н. debug executive код (типа GDB stub). По идеее его можно даже подменять, есть в виде отдельных бинарников. Юзает доп.память и некоторые биты некоторых регистров. RxTx(794 знак., 20.12.2019 02:02)
- Там не бутлодырь, а так называемый Debug Executive/Programming Executive. Чти там - \\MPLABX\vXXX\docs\ReservedResources\PK4_RR - MBedder(20.12.2019 01:29)
- Они debug executive называют некоторую добавку к программе. Это понятно, монитор. Но изначально, когда чип стерт -- как он зашивается? Аппаратный автомат реализующий программирование, или таки запуск начального кода из реального ROM (не flash) с fk0(412 знак., 20.12.2019 01:36)
- Сам и отвечу --> см. по ссылке. Таки бутлоадер есть, но непонятен принцип его работы. Он сидит в отдельном сегменте флеша? Он может быть заново загружен в совсем стёртый МК? Не может ли быть так, что биты защиты чтения флеша обрабатываются fk0(236 знак., 20.12.2019 01:42 - 01:47, ссылка)
- Без PE чип шьется/трется по открытому протоколу, но весьма медленно. Сначала в него программатор зашивает этот небольшой РЕ, и потом переключает в РЕ-режим - MBedder(20.12.2019 01:41)
- Они debug executive называют некоторую добавку к программе. Это понятно, монитор. Но изначально, когда чип стерт -- как он зашивается? Аппаратный автомат реализующий программирование, или таки запуск начального кода из реального ROM (не flash) с fk0(412 знак., 20.12.2019 01:36)
- А почему не пойти по цивилизованному пути и убрать ресет, заменив его выходом в верхушку main-а? my504(254 знак., 20.12.2019 17:38)
- Емнип когда-то сталкивался с таким, подробностей не помню, кажется pic18 с icd2. И с собакой так же вроде. Поставить бряк перед ресетом и сбрасывать вручную не вариант? - ant333(20.12.2019 00:35 - 00:38)
- Вариант. Так в конечном счете и делаю. - RxTx(20.12.2019 01:14)
- Еще -> - ant333(20.12.2019 00:59, ссылка)
- Попробовать другой отладчик, PICKi3, например. Запрос в техподдержку написать. Похоже, они такого случая просто не предусмотрели. Сыроват инструмент... - Nikolay_Po(19.12.2019 22:18)
- Да, верно, спасибо за помощь. Попробую завтра. RxTx(197 знак., 20.12.2019 01:16)
- Разобрался. На форуме Microchip подсказали трюк - сбрасывать самому через меню Debugger->Reset. RxTx(147 знак., 20.12.2019 01:13)