====== Процедура восстановления программного обеспечения на модуле 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 ======