oleg110592 писал(а):тоже при изучении STM32 вначале поражали конструкции типа
порочная "индусская" практика, только и всего. вместо использования наиболее подходящего к ситуации кода тупо копипастить "безопасный" вариант. то же самое можно сказать и про инициализацию нулями DDRx и PORTx, которые делает CVAVR. но если рассуждать по-вашему, что старт с нулевого адреса есть эквивалент аппаратного сброса, то да, именно так, по-индусски и надо делать.
oleg110592 писал(а):а в чем разница между прыжком и сбросом - ответа так и нет, аксиома наверное
вообще-то ответ вам был дан неоднократно, неужели снова надо объяснять? прыжок на ЛЮБОЙ адрес - это всего-навсего изменение программного счетчика команд. что именно там по этому адресу будет, несущественно. сброс же - это аппаратный процесс инициализации встроенной периферии в некоторое "стартовое" состояние.
в чем разница? что пнем сову, что об пень сову, все равно сове больно. это факт. однако, пнем сову ТРУДНЕЕ, а совой ОБ ПЕНЬ легче ввиду разной массы пня и совы

может этот образный пример вам более понятен?
еще раз: разница между аппаратным сбросом и программным в том, что все действия по приведению периферии в "исходное состояние" выполняются микроконтроллером без малейшего участия программиста, условно говоря ОДНОВРЕМЕННО. я уже приводил пример про WDT, могу еще сказать, что прыжок на 0 не остановит генерацию ШИМ, например, как не остановит начатый процесс АЦП и т.п.
судя по всему, вам просто интересно спорить? ок, я умолкаю, последнее слово можете оставить за собой.