Отладил я небольшую програмку которая работает с UART5 и USB используя PowerPac. Всё работает через JTAG в варианте Rеlease.
Но когда загружаю этот код используя внутренний загрузщик через UART5, то потом моя программа после загрузки не правильно работает с UART5 и кроме того USB не работает тоже. После долгих экспериментов понял что внутренний загрузщик похоже инициализирует какието регистры когда нога SERVICE активирована(в нуле) так что это мешает моей программе. Понял это когда прошил програмку в SPI флешку. С нее грузится и работает хорошо если SERVICE не активирована. Но как только активирую то даже при загрузке рабочего кода с SPI, UART5 и USB не пашут как положено.
В АРМ к сожалению нет комманды software reset, да и это решение не из лучших. Кто знает как в такой ситуации поступить? Или единственный выход - инициализировать после старта программы ВСЁ от начала и до конца?
Другой вариант написать свой маленький бутлодырь который после загрузки кода включал бы WDT чтоб проресетить и стартануть код со сброшенным процессором. Но это дополнительный бутлодырь. Не хотелось бы.