[uquote="Уош",url="/forum/viewtopic.php?p=4704360#p4704360"]А непрофессионалу он тем более не нужен[/uquote]
Говорю вам как не профессионал - симулятор
нужен.
Предлагаете непрофессионалу отличать ошибки программы от ошибок симулятора?
Да. Надо знать ограничения применимости используемого инструмента. Я же не про полного чайника говорю который свое первое мигание
светодиодом пишет,а про любителя,но имеющего дело с атмегами не первый десяток лет.
Симулятор микроконтроллеров необходим только в специфичных случаях
Я за последние два десятка лет столько всего отладил с помощью vmlab что не представляю как без него обходиться.
Зато почти всегда после vmlab код в контроллере работает как задумывалось,ну или требует минимального допиливания.
И как симулятор отлавливает ошибки в периферии - непонятно.
Он показывает ее состояние и симулирует ее действия. Не скажу что абсолютно все ошибки так ловятся,но явное большинство. То делитель не тот,то прерывание забыл разрешить или разрешил но не то,то не тот бит из регистра состояния проверял, то еще какие-нибудь такие мелкие но от этого не менее "бесячие" ляпы.
Понятно что профи,который наизусть помнит биты в регистрах потому что каждый день с ними дело имеет - в таких костылях не нуждается и таких глупых ошибок не допускает. Но стоит месяц не брать в руки компилятор как тонкости забываются и вспомнить их проще всего обкатывая код на симуляторе.
Не спорю,бывают случаи когда ошибка более высокого уровня чем перепутанные биты. Вот например состояния и переходы конечного автомата отлаживать - как? Всё равно нужно иметь возможность "ходить шагами" по программе и подставлять ей всякие значения,якобы читаемые из периферии. Как при "железной" отладке подсунуть нужные данные,пришедшие к примеру по i2c? Оно же из реального i2c читать будет.
(ну нравится мне использовать конечные автоматы:)
У меня вот была ошибка в периферии - умудрился включить две альтернативных функции на один выход и просадил питание. Отловит подобное симулятор?
Это явно не про Атмегу,на ней такое сделать затруднительно. Поэтому не могу сказать конкретно про vmlab. А вообще чисто теоретически симулятор такое проверять может,не допуская включения двух функций на один выход.
Кстати, раз уж вы там выше порекламировали железную отладку на STM то тогда к вам и вопрос - возможна ли она на вот таких китайских модулях:
https://robototehnika.ru/upload/iblock/ ... -pill.jpeg
И если да то что для этого надо? Да, я читал про железную отладку на старших STM,плата с которыми стоит несколько тысяч рублей.
Но интересует естественно этот,как самый распространенный и дешевый.