|
Сигналовский пример имеет некоторые ограничения:
1. Активизация загрузчика осуществляется при включении мк, когда проверяется состояние определенной линии порта.
Иногда схемотехнически такой возможности нет, поэтому не мешало бы иметь стартовать работу загрузчика программно. С этим немного сложнее, поскольку активизировать загрузчик должна уже _пользовательская программа_ в мк. А если она сбойнула по каким-то причинам, то в этом случае переход в режим загрузке не удасться.
2. Проблема с векторами прерываний (напр. уарт, таймер...).
В примере _не используется_ обработчик прерывания от уарт, а выполняется лишь полинг соотв.битов регистра уарт. Вроде бы понятно почему так - по этим векторам могут лежить переходы на пользовательские подпрограммы. А если необходимо реализовать протокол обмена с загрузчиком, в котором никак не обойтись без прерываний, например модбас? Что делать в этом случае? Организовывать хитрые переходы?
Ваш загрузчик учитывает все эти особенности?
E-mail: info@telesys.ru