|
Имеем плату с мегой162. Активно используется интерфейс внешней памяти.
В частности, обмен с ЖКИ идет через внешнюю память.
При этом 4 старших бита адресов А15-А12 не используются и сконфигурированы, чтобы использовать как обычные порты.
Все работает нормально, пока я не подключаю JTAG (а подключать я его должен хотя бы для того, чтобы грузить программу). JTAG цепляется как раз на ноги 4х старших битов адреса A15-A12, которые, как я уже говорил, собственно как адреса и не используются.
Так вот, только я запускаю программу под JTAG-отладчиком (из астудии), как у меня перестает нормально работать ЖКИ. Выглядит это как будто он некорректно инициализируется, на экране всякий мусор вместо ожидаемых данных.
Если же отключить JTAG и сбросить питание, то все становится на свои места - прога работает, все рулез. Такое впечатление, что JTAG как-то гадит в интерфейс внешней шины, либо нарушает времянки обмена, либо (что глупо) нарушаются временные соотношения при инициализации ЖКИ. Глупо потому, что если паузы при инициализации удлиняются (что логично предположить в случае с JTAG), то инициализация должна все равно проходить нормально.
Вопрос собственно в чем: можно ли это как-то победить? Поделитесь своими наблюдениями по этому поводу. Может кто уже на такие грабли наступал?
E-mail: info@telesys.ru