Перейти к содержанию
    

Запуск программы из ROM

Есть готовое устройство на AT91RM. Требуется зашить программку во внутреннюю ROM память контроллера и запускать после RESET. Заливаю программку через JTAG-отладчик и жму Go. Программа работает. Но при отсоединении JTAG и нажатии RESET программа не запускается. В чём причина может быть? Может нужно выставлять определённое значение пина BMS (Boot Mode Select), чтобы программа загружалась из внутренней ROM?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что значит масочная? Тогда как с помощью JTAG'а у меня получается запускать программу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В даташите написано про работу загрузчика и что-то про ножку BMS(Boot Mode Select). Но никак не пойму, как влияет на bootloader при подаче RESET состояние ноги BMS, которое я задаю сам? В чём отличия если подам BMS = 0 или BMS =1?

 

У меня подключена DataFlash AT45 на NPCS0 и выставлен BMS = 1. Получается, что АРМ должен тестить после RESET на наличие корректной таблицы векторов прерываний эту флешку, т.е. должны быть видны импульсы на осциллографе, когда тыкаюсь в MOSI/MISO контроллера или SI/SO флешки... но импульсов нет, в чём причина может быть?

Изменено пользователем Cadavre

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В даташите написано про работу загрузчика и что-то про ножку BMS(Boot Mode Select). Но никак не пойму, как влияет на bootloader при подаче RESET состояние ноги BMS, которое я задаю сам? В чём отличия если подам BMS = 0 или BMS =1?

Если BMS = 1, в нулевой адрес мапится ROM с загрузчиком, если BMS = 1 - внешняя память на NCS0. То есть во втором случае загрузчик просто не запускается.

 

У меня подключена DataFlash AT45 на NPCS0 и выставлен BMS = 1. Получается, что АРМ должен тестить после RESET на наличие корректной таблицы векторов прерываний эту флешку, т.е. должны быть видны импульсы на осциллографе, когда тыкаюсь в MOSI/MISO контроллера или SI/SO флешки... но импульсов нет, в чём причина может быть?

Может быть любая совершенно неисправность в цепях питания, тактирования, сброса. А может, вы просто не успеваете эти импульсы заметить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Много ли проблем ведёт собой неисправность цепи сброса? Я обнаружил, что сброс на ножке МК у меня не происходит вовсе, когда я нажимаю кнопку RESET на плате или при включении питаниия (при вкл-ии питания платы микросхема ADM811 должна выдавать импульс RESET'а на ножку МК).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проверьте, пожалуйста, правильно ли я делаю :rolleyes: : задаю BMS = 1 (загружается bootloader из ROM) и ведёт поиск подключенных устройств dataflash. На NCS0 подключена AT45, а на NCS1 - AT25F. С помощью оцсиллографа удалось отследить импульсы на MOSI/MISO у контроллера AT91RM, т.е. одну из флешек АРМ находит, потому-что нет буквы 'C' в окне HyperTerminal. Как мне сделать, чтобы контроллер выдавал приглашние по Xmodem? Задать на землю MISO или чипселекты, чтобы dataflash не были определены?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как мне сделать, чтобы контроллер выдавал приглашние по Xmodem? Задать на землю MISO или чипселекты, чтобы dataflash не были определены?

Угу. Только "сломать" dataflash тем или иным способом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У AT91RM внутренняя ROM масочная и записи не подлежит.

 

Позвольте полюбопытствовать: а у AT91SAM9R64 - тоже ROM не подлежит перезаписи? А то я копаюсь весь день по документам - и ни слова о перезаписи ROM. И ни слова о том, что она неперезаписываемая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И ни слова о том, что она неперезаписываемая.

Она Read Only Memory, что само по себе намекает нам на невозможность перезаписи. Не подлежит, конечно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...