Аппаратное пошаговое выполнение программы. Была такая система в книжках по 51й...
Но смысла ею пользоваться при наличии симулятора FD51 даже по тем временам уже особо не было.
Так и осталось, больше как напоминание об особенностях выполнения прерываний.
Внешние элементы отваживаются на свете "в железе", а алгоритмы, "подозрительные" участки программного кода на симуляторе.
Все зависит от того, что вызывает подозрения.
Вряд ли разделение настолько однозначное. По крайней мере, видится допустимой отладка в симуляторе лишь математики да чего-то простого. Работа с периферией тоже может иметь подозрительные участки кода. Не думаю, что симулятор способен идеально отработать даже интегрированные модули, что уж говорить о внешних (и во внешней среде со всеми её проблемами).
За достаточно долгую возню как с любительскими проектами, так и со значительными промышленными (в команде), необходимость в симуляторе не возникала. Один раз ради любопытства попробовал а Протеусе, и он наврал
Касательно работы с внешним железом, то она определяется программным кодом МК и описанием протоколов того железа. На уровне протокола обмена всегда проверить можно, другое дело что внутри того железа делаться будет только документация подсказать может (или специальные тесты в макетном исполнении.
Забываем про досбокс и верхне-палеолитический софт, качаем MCU8051IDE. Там приятный и довольно полезный симулятор. Правда, она написана на интепретируемом языке TCL/TK, отчего симулятор не самый быстрый.
Ничего так не помогало в отладке как логический анализатор. Реализуешь сложный программный ногодрыг, в коде вроде все классно, а железка не работает. Подцепил свой 16-канальный Saleae Logic, смотришь обмен - ага, вон оно че. Переписываешь - работает. 8-е атмеги с алика не хотели работать по I2C - глянул обмен, а там вместо I2C рандомная каша из импульсов. Бракованные, ну, ясно. Можно дальше не возится.
Та IDEшка штука весьма приятная, но моя привычка ставить 0xNN вместо NNH при работе с ассемблером малость проблем доставляет. А редактировать все, что уже написано влом.
По крайней мере напрямую то, что "ест" атмелевский с51asm она (IDE) воспринимает с огромными "замечаниями"/матюками.
А более плотно заняться пока лень мешает да "особенности местного электроснабжения" той лени весьма помогающие.
Приветики ,я не заходил долгое время - были проблемы .Я не ожидал что эта ветка продолжит жить и простите что не отвечал ,насчет того работает ли по итогу стенд - отчасти.Я вот краешком глаза читал ваши коментарии и один из них был про то ,что флюс попал на ножки и из-за этого были проблемы, я отмывал плату лишь с обратной стороны растворителем а с внешней спиртом.Проблема такая что решение ее так толком не нашел,а проявляется она так - в ПЗУ была прошита програмка простого мигания светодиода на 1 порту и программа работала но с оговорками, во первых не всегда начиналось мигание ,при нажатии кнопки ресет так же могло ничего не произойти ,однако и могло - светодиод мог погаснуть и все.Во вторых стоит упомянуть о самих микроконтроллерах , я брал с озона одну штуку(как удостоверился что моя труп) и там были длинные ножки,однако на тех что я покупал "с рук" все ножки короткие и я думал что их не выпаивали а откусывали ,однако все ножки одинаковой длины и это ведет к тому ,что микросхема не может удержаться в цанговой панельки и выпрыгивает из нее и единственный метод хоть как то запечатлить работу - прижать в определенном месте микросхему к плате ,после чего есть вероятность появления моргания светодиода появляется хоть чуть чуть.