- Главная
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC902
- Микропроцессор NUC902. Buildroot. Настройка Linux Kernel. Компиляция.
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC902
- Микропроцессор NUC902. Buildroot. Настройка Linux Kernel. Компиляция.
Микропроцессор NUC902. Buildroot. Настройка Linux Kernel. Компиляция.
3 года 10 мес. назад - 3 года 3 мес. назад #6380
от AEfimov
Конфигурация ядра.
Ядро Linux обладает возможностью конфигурации его функций и состава модулей. Пользователь может гибко настроить функционал ядра и периферию, исходя из своих конкретных задач. Далее мы опишем непосредственно процесс настройки.
В случае, если мы собираем ядро с поддержкой NAND-памяти, нам потребуется образ uImage - "загрузочная оболочка" образа, создаваемая утилитой mkimage, включенной в состав UBoot-Tools. uImage содержит в себе инструкции для загрузчика, позволяющие запустить zImage-образ, помещаемый в контейнер uImage. Образ uImage автоматически генерируется Buildroot в процессе выполнения make.
Конфигурация ядра производится непосредственно перед его компиляцией при помощи команды “sudo make linux-menuconfig” , выполняемой в корневой директории дистрибутива Buildroot :
Опишем способ конфигурации ядра с использованием NAND-flash, файловой системой YAFFS2.
Итак, заходим в директорию дистрибутива ядра Linux и запускаем в ней Terminal.
Далее необходимо “обнулить” конфигурационные файлы и загрузить стандартный конфигурационный файл для NUC90x:
Запускаем конфигуратор ядра:
Теперь мы имеем возможность конфигурации ядра под графической диалоговой оболочкой (см. рис. 1).
Для использования NAND-flash отключим стандартную RAM файл систему:
Далее необходимо включить функцию MTD NAND flash:
* Функция “Command line partition table parsing” должна быть включена если мы хотим форматировать NAND-Flash при помощи U-boot.
По умолчанию при первой загрузке системы память разбивается на три раздела:
Первый блок содержит U-Boot, во втором находится ядро, третий предназначен для подключения файловой системы (в данном случае YAFFS2)
Если есть необходимость изменить параметры форматирования можно сделать это путем правки соответствующей строчки в config-файле "uboot/include/nuc90x_evb.h или исходнике ядра drivers/mtd/nand/nuc90x_nand.c".
Параметры запуска ядра:
*вводим без кавычек нажав ENTER на соответствующей строке
Конфигурация файловой системы:
Так же включим поддержку LCD 800x480:
И тачскина:
После того как мы настроили ядро посредством menuconfig, закрываем утилиту, сохранив настройки.
Теперь можно приступить непосредственно к компиляции. После ее окончания (как правило это достаточно длительный процесс, скорость которого напрямую зависит от производительности системы, а в случае с виртуальной машиной, сводится к объему выделенных для нее ресурсов) сгенерированные образы uImage, rootfs, u-boot можно найти в папке /home/user/NUC970_Buildroot-master/output/images.
Ядро Linux обладает возможностью конфигурации его функций и состава модулей. Пользователь может гибко настроить функционал ядра и периферию, исходя из своих конкретных задач. Далее мы опишем непосредственно процесс настройки.
В случае, если мы собираем ядро с поддержкой NAND-памяти, нам потребуется образ uImage - "загрузочная оболочка" образа, создаваемая утилитой mkimage, включенной в состав UBoot-Tools. uImage содержит в себе инструкции для загрузчика, позволяющие запустить zImage-образ, помещаемый в контейнер uImage. Образ uImage автоматически генерируется Buildroot в процессе выполнения make.
Конфигурация ядра производится непосредственно перед его компиляцией при помощи команды “sudo make linux-menuconfig” , выполняемой в корневой директории дистрибутива Buildroot :
Опишем способ конфигурации ядра с использованием NAND-flash, файловой системой YAFFS2.
Итак, заходим в директорию дистрибутива ядра Linux и запускаем в ней Terminal.
Далее необходимо “обнулить” конфигурационные файлы и загрузить стандартный конфигурационный файл для NUC90x:
# make distclean
# make nuc906_defconfig
Запускаем конфигуратор ядра:
# make menuconfig
Теперь мы имеем возможность конфигурации ядра под графической диалоговой оболочкой (см. рис. 1).
Для использования NAND-flash отключим стандартную RAM файл систему:
General setup --->
[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Далее необходимо включить функцию MTD NAND flash:
Device Drivers --->
Generic Driver Options --->
<*> Nuvoton NUC90X FMI function selection
Select FMI device to support (Support MTD NAND Flash) --->
-*- Memory Technology Device (MTD) support --->
<*> Caching block device access to MTD devices
-*- NAND Device Support --->
-*- Nuvoton NUC90X MTD NAND --->
NUC90X NAND Flash pin selection (Port C) --->
* Функция “Command line partition table parsing” должна быть включена если мы хотим форматировать NAND-Flash при помощи U-boot.
По умолчанию при первой загрузке системы память разбивается на три раздела:
/dev/mtdblock0, /dev/mtdblock1, /dev/mtdblock2
Первый блок содержит U-Boot, во втором находится ядро, третий предназначен для подключения файловой системы (в данном случае YAFFS2)
Если есть необходимость изменить параметры форматирования можно сделать это путем правки соответствующей строчки в config-файле "uboot/include/nuc90x_evb.h или исходнике ядра drivers/mtd/nand/nuc90x_nand.c".
Параметры запуска ядра:
Boot options ---> (noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M) Default kernel command string*
*вводим без кавычек нажав ENTER на соответствующей строке
Конфигурация файловой системы:
File systems --->
[*] Miscellaneous filesystems --->
<*> yaffs2 file system support
<*> Autoselect yaffs2 format
<*> Enable yaffs2 xattr support
Так же включим поддержку LCD 800x480:
Device Drivers --->
Graphics support --->
<*> Support for frame buffer devices --->
[*] NUC90X LCD framebuffer support
NUC90X LCD panel selection (800x480 5-Inch Color TFT LCD) --->
LCD source format (RGB888 support) --->
Console display driver support --->
<*> Framebuffer Console support
И тачскина:
Device Drivers --->
[*] Input device support --->
<*> Event interface
<*> Input NUC90X ADC --->
<*>Keypad support
<*> Keypad wake-up support
<*>Touchscreen support
<*> Touchscreen wake-up support
(0) ADC Sample Counter
После того как мы настроили ядро посредством menuconfig, закрываем утилиту, сохранив настройки.
Теперь можно приступить непосредственно к компиляции. После ее окончания (как правило это достаточно длительный процесс, скорость которого напрямую зависит от производительности системы, а в случае с виртуальной машиной, сводится к объему выделенных для нее ресурсов) сгенерированные образы uImage, rootfs, u-boot можно найти в папке /home/user/NUC970_Buildroot-master/output/images.
Последнее редактирование: 3 года 3 мес. назад пользователем AEfimov.
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры Nuvoton на ядре ARM9
- NUC902
- Микропроцессор NUC902. Buildroot. Настройка Linux Kernel. Компиляция.
Время создания страницы: 0.037 секунд