====== Процедура восстановления программного обеспечения на модуле SBC-9263 ======
Процедуру восстановления выполняют в следующих случаях:\\
* Модуль только что изготовлен\\
* Модуль установлен на только что изготовленную базовую (материнскую) плату\\
* Флеш-память модуля или базовой платы были очищены
====== Первичный загрузчик ======
//Так как модуль SBC-9263 поставляется в двух конфигурациях флеш-памяти: с NOR памятью и без неё, то процедура восстановления ПО будет отличатся для этих конфигураций. Запуск Bootstrap и u-boot возможен только с Dataflash и NAND, со Spansion NOR возможно лишь загрузить ядро и файловую систему.//
===== Загрузка с Dataflash =====
Bootstrap необходимо записать в Dataflash или NAND-флеш, которые располагаются на базовой плате. Запись осуществляют с помощью свободной утилиты [[sam-ba|SAM-BA]] от Atmel.\\
Для работы с SAM-BA потребуются:\\
* USB кабель с разъемом типа ``А`` с одной стороны и разъемом типа ``B`` (или mini-B) с другой стороны
* ПК с Windows XP
* Утилита [[sam-ba|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"
{{http://www.at91.com/linux4sam/pub/Linux4SAM/U-Boot/SAM-BA_selectboard.jpg}}
* Восстанавливают линию 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"
[[#Настройка u-boot]]
===== Загрузка с NAND =====
==== Запись Bootstrap ====
Запись Bootstrap в NAND флеш абсолютна идентична по всем шагам, что я для Dataflash, только нужно выбрать вкладку NandFlash в SAM-BA.
[[#Запись Bootstrap|Перейти к описанию для Dataflash]]
==== Запись u-boot ====
Запись u-boot в NAND флеш абсолютна идентична по всем шагам, что я для Dataflash, только нужно выбрать вкладку NandFlash в SAM-BA.
[[#Запись u-boot|Перейти к описанию для 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"\\
{{http://www.at91.com/linux4sam/pub/Linux4SAM/U-Boot/SAM-BA_selectboard.jpg}}\\
* Восстанавливают линию 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 сервером (см. [[http://mentorel.ru/wiki/doku.php/ru:faq|FAQ]], раздел "Установка и настройка TFTP-сервера в Fedora Core")
* Сетевой switch или кросс-подключение к ПК с TFTP сервером
* Терминальная программа (HyperTerminal в Windows, в Linux: kermit, minicom и т.п.)
Сначала требуется настроить переменные окружения u-boot
====== Запись файловой системы Linux ======