NUC98R. Компиляция файловой системы. Загрузка образов в NAND.

1 год 3 нед. назад - 1 мес. 3 нед. назад #6368 от AEfimov
Чтобы приступить к загрузке Linux в NAND нам остается создать образы файловой системы.

Для создания образа YAFFS2 предусмотрена специальная утилита myaffs2 в пакете yaffs2utils (Установка утилит описана в предыдущих постах). Заходим в корневую директорию утилиты и выполняем команду “mkyaffs2”:

# cd ../applications/yaffs2utils/
# sudo ./mkyaffs2 -inband-tags -p 2048 ../../rootfs rootfs_yaffs.img

Полученный образ копируется в корневую директорию yaffs2utils.

Теперь, собственно, приступим к загрузке подготовленных производителем образов Linux, U-Boot и файловой системы.

Для этого, запустив программатор NuWriter, выбираем профиль соответствующий данному устройству (см рис. 1)



(рис. 1)

В появившемся окне во вкладке Choose Type выбираем NAND (см. рис. 2)



(рис. 2)

В первую очередь в память устанавливается загрузчик U-Boot, который, собственно, каждый раз при запуске контроллера загружает ядро в ОЗУ, где система уже непосредственно начинает свою работу. Загрузчик представляет собой два бинарных файла, которые можно как скомпилировать самостоятельно , так и воспользоваться предоставленным производителем (имеют конфигурацию по умолчанию и поддерживают не все функции контроллера).

Важно: обратите внимание на соблюдение соответствия значения “image start offset” каждого из загружаемых образов с параметрами форматирования заданными в файле
include/configs/nuc980_evb.h. В случае расхождения адреса загрузки образа и адреса начала раздела, предназначенного для него, система работать не будет.

Ниже мы опишем процесс загрузки образов в разделы, создаваемые U-boot по умолчанию.

Порядок загрузки образов в NAND-Flash:

1. Выбираем Loader в поле Image Type, в поле Image execute address вписываем 0x200. Нажимаем на иконку справа от поля Image Name, находим файл u-boot-spl.bin. Нажимаем Burn.

2. Выбираем Image TypeData. Находим файл u-boot.bin. В поле Image start offset вписываем 0х100000 и нажимаем Burn.

3. Загружаем непосредственно образ LINUX:

Выбираем файл 980uimage (выбираем All files (*.*), чтобы образ отобразился в окне). В поле Image start offset вписываем 0х200000 и нажимаем Burn (Image type - Data).

4. Теперь нужно загрузить в память файловую систему:

Выбираем файл rootfs_yaffs2.img (выбираем All files (*.*), чтобы образ отобразился в окне). В поле Image start offset (Image type - Data) указываем 1400000 и нажимаем Burn.
Порядок загрузки образов в SPI-Flash:

1) Выбираем Data в поле Image Type, в поле Image execute address вписываем 0x00000000. Нажимаем на иконку справа от поля Image Name, находим файл u-boot.bin. Нажимаем Burn.

Запуск и настройка Linux, подключение YAFFS2.

Далее загружаем непосредственно образ LINUX:

Запуск и настройка Linux, подключение YAFFS2/JFFS2.

Система готова к запуску, осталось лишь несколько последних шагов:

Устанавливаем 2-ой переключатель в положение off на SW31. Подключаем устройство по COM/UART - порту. Запускаем терминальную программу и перезагружаем плату.
Для загрузки Linux ОС автоматически при каждом включении в командной строке вводим следующие:

=> setenv bootcmd nboot 0x7fc0 0 0x200000\; bootm 0x7fc0
	=> saveenv
	=> reset

Остается смонтировать файловую систему, для этого в командной строке Linux через Terminal выполняем следующие команды:

# mkdir flash
# mount –t yaffs2 –o “inband-tags” /dev/mtdblock2 /flash


На этом процесс конфигурации и установки Linux ОС на микроконтроллер Nuvoton NUC98R завершен.
Вложения:
Спасибо сказали: Goreev

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.069 секунд
Работает на Kunena форум