Содержание
Процедура восстановления программного обеспечения на модуле SBC-9263
Процедуру восстановления выполняют в следующих случаях:
- Модуль только что изготовлен
- Модуль установлен на только что изготовленную базовую (материнскую) плату
- Флеш-память модуля или базовой платы были очищены
Первичный загрузчик
Так как модуль SBC-9263 поставляется в двух конфигурациях флеш-памяти: с NOR памятью и без неё, то процедура восстановления ПО будет отличатся для этих конфигураций. Запуск Bootstrap и u-boot возможен только с Dataflash и NAND, со Spansion NOR возможно лишь загрузить ядро и файловую систему.
Загрузка с Dataflash
Bootstrap необходимо записать в Dataflash или NAND-флеш, которые располагаются на базовой плате. Запись осуществляют с помощью свободной утилиты SAM-BA от Atmel.
Для работы с SAM-BA потребуются:
- USB кабель с разъемом типа ``А`` с одной стороны и разъемом типа ``B`` (или mini-B) с другой стороны
- ПК с Windows XP
- Утилита SAM-BA
Примечание: в данном руководстве не описана работа с утилитой Linux SAM-BA
Также можно наблюдать за ходом загрузки на терминальном устройстве с помощью RS232 кабеля или mini-USB (последнее применимо ко всем платформам МЕНТОР ЭЛЕКТРОНИКС).
Запись Bootstrap
- Разомкнуть линию CS Dataflash
- Разомкнуть линию CS NAND-flash
- Подключить USB кабель к USB-HOST на ПК
- Подключить USB кабель к USB-device на базовой плате для SBC-9263
- Подать питание на плату или нажать кнопку «RESET»
Если всё сделано правильно, то Windows автоматически находит новое устройство и запрашивает установку драйверов для него. Необходимо выбрать автоматическую установку драйверов и согласится с установкой драйвера без подписи.
Затем:
- Запускают утилиту SAM-BA
- В появившемся окне выбирают соединение «\dev\ARM0» и плату «AT91SAM9263-EK»
- Восстанавливают линию CS Dataflash
- Восстанавливают линию CS NAND-флеш
- В окне SAM-BA выбирают вкладку Dataflash
- В разделе «Scripts» выбирают меню «Enable Dataflash on CS0» и нажимают кнопку ОК
- В разделе «Scripts» выбирают меню «Send boot file» и нажимают кнопку ОК
- Появится диалоговое окно для указания пути к файлу Bootstrap. Указывают путь и нажимают «Открыть»
Запись u-boot
Если запись u-boot осуществляют отдельно от Bootstrap, например, вы только обновляете u-boot, оставляя Bootsrtap без изменений, то выполняют те же шаги, что и для записи в Dataflash до «Enable Dataflash on CS0» включительно. Затем:
- В поле «Send File Name» указывают путь к u-boot.bin
- В поле «Address» вводят адрес 0x8400
- Нажимают кнопку «Send File»
- Чтобы убедиться, что запись осуществлена корректно нажимают кнопку «Compare send file with memory»
Загрузка с NAND
Запись Bootstrap
Запись Bootstrap в NAND флеш абсолютна идентична по всем шагам, что я для Dataflash, только нужно выбрать вкладку NandFlash в SAM-BA. Перейти к описанию для Dataflash
Запись u-boot
Запись u-boot в NAND флеш абсолютна идентична по всем шагам, что я для Dataflash, только нужно выбрать вкладку NandFlash в SAM-BA. Перейти к описанию для Dataflash
Настройка u-boot
После загрузки u-boot в память платы необходимо настроить переменные окружения. Все настройки u-boot хранит именно в переменных окружения. Пользователь может сам создавать переменные окружения для своих нужд. Например, чтобы сохранить альтернативные параметры загрузки ядра Linux.
Краткий список команд u-boot
- help - выводит список команд. help <команда> выводит помощь по использованию команды
- printenv - распечатать содержимое переменных окружения
- setenv - установить новое значение переменной окружения
- saveenv - сохранить всё окружение во флеш
Примечание: можно сколько угодно менять переменные окружения, но они не будут сохранены и восстановлены при перезагрузке, пока вы не выполните команду «saveenv»
Настройка сети
- Для SBC-9263 установить MAC-адрес (цифры в конце для примера), для SBC-9263i с установленной EEPROM этот шаг не нужен
> setenv ethaddr 00:11:22:33:44:55
- Задать ip-адрес платы
> setenv ipaddr 192.168.1.100
- Задать шлюз
> setenv gateway 192.168.1.1
- Задать TFTP-сервер
> setenv serverip 192.168.1.2
- Пропинговать хост (если команда PING разрешена в конфигурации u-boot)
> ping 192.168.1.1
Запись ядра Linux
Ядро может быть загружено в:
- Dataflash
- NAND-флеш
- NOR-флеш (если NOR установлен на модуле)
Выполняют общие действия для Dataflash и NAND-флеш:\
- Разомкнуть линию CS Dataflash
- Разомкнуть линию CS NAND-flash
- Подключить USB кабель к USB-HOST на ПК
- Подключить USB кабель к USB-device на базовой плате для SBC-9263
- Подать питание на плату или нажать кнопку «RESET»
Если всё сделано правильно, то Windows автоматически находит новое устройство и запрашивает установку драйверов для него. Необходимо выбрать автоматическую установку драйверов и согласится с установкой драйвера без подписи.
Затем:
- Запускают утилиту SAM-BA
- В появившемся окне выбирают соединение «\dev\ARM0» и плату «AT91SAM9263-EK»
- Восстанавливают линию CS Dataflash
- Восстанавливают линию CS NAND-флеш
Загрузка в Dataflash
- В окне SAM-BA выбирают вкладку Dataflash
- В разделе «Scripts» выбирают меню «Enable Dataflash on CS0» и нажимают кнопку ОК
- В поле «Send File Name» указывают путь к файлу ядра в формате uImage
- В поле «Address» вводят адрес 0x42000
- Нажимают кнопку «Send File»
- Чтобы убедиться, что запись осуществлена корректно нажимают кнопку «Compare send file with memory»
Загрузка в NAND
- В окне SAM-BA выбирают вкладку NandFlash
- В разделе «Scripts» выбирают меню «Enable NandFlash» и нажимают кнопку ОК
- В поле «Send File Name» указывают путь к файлу ядра в формате uImage
- В поле «Address» вводят адрес 0x80000
- Нажимают кнопку «Send File»
- Чтобы убедиться, что запись осуществлена корректно нажимают кнопку «Compare send file with memory»
Загрузка в NOR
Для загрузки образов ядра и файловой системы в память NOR-флеш потребуются:
- ПК (Linux или Windows не важно) с работающим TFTP сервером (см. FAQ, раздел «Установка и настройка TFTP-сервера в Fedora Core»)
- Сетевой switch или кросс-подключение к ПК с TFTP сервером
- Терминальная программа (HyperTerminal в Windows, в Linux: kermit, minicom и т.п.)
Сначала требуется настроить переменные окружения u-boot