Содержание
Компиляция релиза AM3517SDK 05.05.01.00 для SomIQ-AM35
Пресобранные файлы
Пресобранные двоичные файлы:
MLO (x-loader) | MLO 36k |
u-boot | u-boot.img 261k |
uImage | uImage 2.8M |
Требования к системе
Данные инструкции были реализованы на ПК с ОС Ubuntu Linux 10.10 (32-bit).
Для выполнения инструкций вам потребуется компилятор arm-2010q1 - как установить описано здесь: arm-gcc
Для изменения конфигурации ядра Linux потребуется библиотека ncurses. Установите её командой:
sudo apt-get install libncurses5-dev
Описание
За основу берем официальный релиз AM3517SDK 05_05_01_00 от Texas Instruments: Linux EZ Software Development Kit (EZSDK) for Sitara™ ARM® Microprocessors, доступный по адресу http://www.ti.com/tool/linuxezsdk-sitara. Для модуля SomIQ-AM35 подойдет сборка для отладочной платы AM3517EVM: http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM35xSDK/latest/index_FDS.html. Список изменений (release note) доступны здесь: http://processors.wiki.ti.com/index.php/Sitara_SDK_5.05.01_Release_Notes
Для работы отладочной платы Somiqboard и модуля SomIQ-AM35 необходимо скомпилировать файлы MLO, u-boot.img, uImage. Файловую систему мы возьмем готовую из SDK.
Исходные тексты
Скачайте исходные тексты загрузчика u-boot и ядра Linux для модуля SomIQ-AM37: http://mentorel.ru/downloads/somiq-am35/src/am3517-somiq-sdk-src-05.05.01.00.tar.gz. Это точная копия архива от TI, но с уже добавленной поддержкой SomIQ-AM35.
$ wget http://mentorel.ru/downloads/somiq-am35/src/am3517-somiq-sdk-src-05.05.01.00.tar.gz $ tar xzf am3517-somiq-sdk-src-05.05.01.00.tar.gz $ cd am3517-somiq-sdk-src-05.05.01.00 $ ls -l -rw-r--r-- 1 maxx maxx 96454592 2012-12-17 21:57 linux-2.6.37-psp04.02.00.07.sdk.tar.gz -rw-r--r-- 1 maxx maxx 149073 2012-12-17 21:52 linux.patch -rw-r--r-- 1 maxx maxx 11679628 2012-12-17 22:04 u-boot-2011.09-psp04.06.00.08.tar.gz -rw-r--r-- 1 maxx maxx 41998 2012-12-17 22:03 u-boot.patch
Что находится в архиве:
- linux-2.6.37-psp04.02.00.07 - исходники ядра Linux 2.6.37 с поддержкой SomIQ-AM37
- linux.patch - файл с исправлениями исходного ядра 2.6.37 из SDK (файл добавлен для примера, не использовать!)
- u-boot-2011.09-psp04.06.00.08 - исходники u-boot (SPL) 2011.09 с поддержкой SomIQ-AM37
- u-boot.patch - файл с исправлениями исходного u-boot (SPL) 2011.09 из SDK (файл добавлен для примера, не использовать!)
Компиляция MLO и u-boot
Распакуем архив u-boot-2011.09-psp04.06.00.08.tar.gz из предыдущего шага:
$ tar xzf u-boot-2011.09-psp04.06.00.08.tar.gz $ cd u-boot-2011.09-psp04.06.00.08/ $ ls -l api boards.cfg COPYING doc fs MAINTAINERS mkconfig net README spl arch common CREDITS drivers include MAKEALL mmc_spl onenand_ipl rules.mk tools board config.mk disk examples lib Makefile nand_spl post snapshot.commit
Для последующей компиляции необходимы пути к компилятору в переменных окружения:
$ export PATH=/opt/arm-2010q1/bin:$PATH
Очищаем исходники от предыдущей конфигурации (на всякий случай):
$ make ARCH=arm distclean
Настраиваем файлы конфигурации на компиляцию для SomIQ-AM35:
$ make ARCH=arm am3517_somiq_config awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }' boards.cfg > .boards.depend Configuring for am3517_somiq board...
Непосредственно компиляция:
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
После завершения процесса компиляции у вас появятся два новых файла: MLO и u-boot.img. Запишите их на SD карту, раздел FAT32. Файл MLO должен быть обязательно первым, поэтому лучше записывать его на отформатированный раздел. Как подготовить карту описано здесь: somiq-am35-sd
Компиляция ядра Linux
Распакуем исходники ядра Linux:
$ tar xzf linux-2.6.37-psp04.02.00.07.sdk.tar.gz $ cd linux-2.6.37-psp04.02.00.07 $ ls arch CREDITS drivers include Kbuild lib mm README scripts tools block crypto firmware init Kconfig MAINTAINERS net REPORTING-BUGS security usr COPYING Documentation fs ipc kernel Makefile patches samples sound virt
Очищаем исходники от предыдущей конфигурации (на всякий случай):
$ make ARCH=arm mrproper
Настраиваем файлы конфигурации на компиляцию для SomIQ-AM35:
make ARCH=arm am3517_somiq_defconfig
Непосредственно компиляция:
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
После завершения процесса компиляции у вас появится файл ядра: “arch/arm/boot/uImage”. Этот файл запишите на SD карту, раздел FAT32.
Запуск файловой системы
Файловую систему скачайте по ссылке: http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM35xSDK/latest/exports/am3517-evm-sdk-bin-05.05.01.00.tar.gz. Обратите внимание, что данный архив содержит не только саму файловую систему, но и загрузчики с ядром Linux для AM3517EVM. Последние нам не понадобятся.
Файловая система, поставляемая в сборке от TI, содержит систему запуска приложений Matrix, основанную на HTML5. Описание здесь: http://processors.wiki.ti.com/index.php/Matrix_Users_Guide
Распакуйте архив из SDK:
$ tar xzf am3517-evm-sdk-bin-05.05.01.00.tar.gz $ ls -1 MLO-am3517-evm tisdk-rootfs-am3517-evm.tar.gz u-boot-am3517-evm.img uImage-am3517-evm.bin
Нам понадобится только файл tisdk-rootfs-am3517-evm.tar.gz, остальные можно удалить. Монтируйте SD карту, раздел для файловой системы ext3. Если в вашей системе после монтирования путь к разделу будет, например, “/media/sdc2”, то команда для записи файловой системы на раздел будет (права супер-пользователя обязательны!):
cd /media/sdc2 sudo tar xzf tisdk-rootfs-am3517-evm.tar.gz
Далее отмонтируйте все разделы SD карты, вставьте её в слот P3 на плате Somiqboard, подключите дисплей, мышь, USB кабель для вывода консольных сообщений и подайте питание.
Изменение разрешения дисплея
U-boot в сборке от TI не имеет дополнительных параметров для настройки разрешения дисплея, поэтому нам надо вручную добавить недостающие аргументы в bootargs. Для примера зададим разрешение DVI/HDMI дисплея 1280х720
setenv optargs omapfb.mode=dvi:1280x720MR-16@60 omapdss.def_disp=dvi vram=12M