- Главная
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC902
- NUC902. Загрузка образов в NAND.
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC902
- NUC902. Загрузка образов в NAND.
NUC902. Загрузка образов в NAND.
3 года 4 мес. назад - 3 года 4 мес. назад #6382
от AEfimov
AEfimov создал тему: NUC902. Загрузка образов в NAND.
Чтобы приступить к загрузке Linux в NAND нам остается создать образы файловой системы.
Для создания образа YAFFS2 предусмотрена специальная утилита myaffs2 в пакете yaffs2utils. Заходим в корневую директорию утилиты:
(/home/user/NUC970_Buildroot-master/output/build/applications-1.0.0/yaffs2utils)
выполняем команду “sudo make”. Далее создаем образ файловой системы при помощи команды:
Где "../../rootfs" - это путь до разархивированной директории /rootfs в output/image.
Полученный образ копируется в корневую директорию yaffs2utils.
Прежде чем загрузить образы файловой системы, загрузчиков и ядра в NAND, создадим файл с названием env.txt и следующим содержанием:
Теперь, собственно, приступим к загрузке подготовленных производителем образов 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 Type – Data. Находим файл u-boot.bin. В поле Image start offset вписываем 0х100000 и нажимаем Burn.
3. Загружаем файл переменных. Выбираем Image Type – Environment. Находим файл 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 запустится автоматически и будет готов к работе.
Для создания образа 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 Type – Data. Находим файл u-boot.bin. В поле Image start offset вписываем 0х100000 и нажимаем Burn.
3. Загружаем файл переменных. Выбираем Image Type – Environment. Находим файл 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 запустится автоматически и будет готов к работе.
Последнее редактирование: 3 года 4 мес. назад пользователем AEfimov.
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC902
- NUC902. Загрузка образов в NAND.
Время создания страницы: 0.042 секунд