×

Внимание

Форум находится в режиме только для чтения.

NUC902. Загрузка образов в NAND.

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

Для создания образа YAFFS2 предусмотрена специальная утилита myaffs2 в пакете yaffs2utils. Заходим в корневую директорию утилиты:
(/home/user/NUC970_Buildroot-master/output/build/applications-1.0.0/yaffs2utils)
выполняем команду “sudo make”. Далее создаем образ файловой системы при помощи команды:

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

Где "../../rootfs" - это путь до разархивированной директории /rootfs в output/image.

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

Прежде чем загрузить образы файловой системы, загрузчиков и ядра в NAND, создадим файл с названием env.txt и следующим содержанием:

baudrate=115200 
bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M mtdparts=nand0:0x200000@0x0(u-boot),0x2200000@0x200000(kernel),-(user) 
bootcmd=nboot 0x7fc0 0 0x200000;bootm 0x7fc0 
bootdelay=3 
ethact=emac


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

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



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




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

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

Ниже, мы опишем процесс загрузки образов в разделы, указанные нами предварительно.

Порядок загрузки образов в 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. Загружаем файл переменных. Выбираем Image TypeEnvironment. Находим файл env.txt. В поле Image start offset вписываем 0х80000 и нажимаем 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) указываем 2400000 и нажимаем 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 запустится автоматически и будет готов к работе.
Время создания страницы: 0.042 секунд
Работает на Kunena форум