SAM-BA boot agent |
Добавил(а) microsin |
SAM-BA boot agent предназначен для загрузки программного обеспечения через стандартные интерфейсы (USB, CAN, RS-232). Такая возможность очень удобна для обновления программного обеспечения (firmware) в готовом устройстве. [Документация] 1. SAM Boot Assistant (SAM-BA) User Guide site:atmel.com. [Установка] 1. Скачайте AT91-ISP.exe [1]. Я ставил AT91-ISP.exe v1.12 current release. Установка по умолчанию происходит в папку c:\Program Files\ATMEL Corporation\AT91-ISP v1.12. При загрузке установится драйвер (Касперский предупредил об этом). Если потребуется перезагрузка, то перезагрузите систему. 3. Запустите программу SAM-BA v2.8 (ярлычок на рабочем столе), выберите соединение "\usb\ARM0" и тип платы "AT91SAM7X256-EK", и нажмите кнопку Connect: [Проверка работы] Все готово, теперь остается попробовать, как работает. Испытывать будем на скомпилированном в двоичный файл проекте из примеров IAR - getting-started-project (полный путь до файла проекта c: \ Program Files \ IAR Systems \ Embedded Workbench 5.0 Evaluation \ ARM \ examples \ Atmel \ at91sam7x-ek \ getting-started-project \ getting-started-project.eww, прошивка после появится здесь - c:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\examples\Atmel\at91sam7x-ek\getting-started-project\ewp\at91sam7x256_flash\Exe\at91sam7x256_flash.bin). Подключите макетную плату через USB (если это макетная плата AT91SAM7X, то перемычка J2 должна стоять в положении 1-2 USB PWR). Запустите программу SAM-PROG v2.4, выберите по кнопке Browse файл at91sam7x256_flash.bin, и нажмите кнопку Write. Чтобы процесс записи индицировался, можно выбрать "PIO indicator for successful programming" - для нашей платы PIOB 21 будет соответствовать светодиоду на макетной плате. После записи проверьте работу прошивки. Для этого нужно соединить прямым COM-портовым кабелем DB9-мама/DB9-папа (в "прямом" кабеле на обеих концах соединены ножки с одинаковыми номерами - контакт 1 на "маме" соединен с контактом 1 на папе и т. д.). Потом запустите любую консольную программу, работающую с COM-портом, настройте её на параметры порта 115200 бит/сек, 8 бит данных, без четности, 1 стоп-бит, переподключите разъем USB (чтобы сбросить микроконтроллер на макетной плате). После этого в терминальной программе будет видно, что прошивка выводит в порт DBGU: [Восстановление загрузчика] Запрограммированная таким образом плата при включении питания всегда будет выполнять пользовательскую программу, загрузчик при этом не работает. Вернуть макетную плату в исходное состояние (чтобы снова был доступен USB-загрузчик SAM-BA, и можно было записать новое firmware в память микроконтроллера) можно следующим способом (описано в файле помощи "C:\Program Files\ATMEL Corporation\AT91-ISP v1.12\SAM-PROG v2.4\Documentation\at91sam-prog.hlp"): - Отключите питание от макетной платы (в нашем случае просто выдернем кабель USB, подключенный к ней). [Почему не работает загрузчик в микроконтроллере AT91SAM7X512?] "... я в растерянности, скачал утилиту SAM-BA для программирования. Обновил драйвер по инструкции, а утилита SAM-BA не видит контроллер. Когда запускаю утилиту, там можно выбрать только порт com1, но это вовсе не загрузчик, и утилита SAM-BA не работает..." Наверняка утилита SAM-BA не работает потому, что не видит устройства, в котором работает загрузчик. Это бывает в том случае, если память микроконтроллера не стерта. Когда Вы подключали не стертую плату к компьютеру, то в микроконтроллере AT91SAM7X512 запускается не загрузчик SAM-BA, а записанная в память FLASH старая программа. Ваша цель - эту программу стереть, и записать туда новую с помощью загрузчика SAM-BA. Чтобы запустился загрузчик SAM-BA, нужно сначала стереть память микроконтроллера по стандартной процедуре, которая описана в документации на микроконтроллер. На плате AT91SAM7X стирание памяти микроконтроллера делается с помощью установки перемычки J4 ERASE, и включения питания на 10 секунд с установленной перемычкой. После этой процедуры перемычку нужно снять, и передернуть питание у платы (переподключить плату к USB). Далее чистый микроконтроллер готов к загрузке новой прошивки с помощью утилиты SAM-BA. [Ссылки] 1. AT91 ISP/SAM-BA® site:atmel.com. |