Отладочная плата HawkBoard на базе процессора OMAP-L138. Часть 2

№ 10’2010
PDF версия
В первой части статьи были рассмотрены основные характеристики отладочной платы HawkBoard [2]. Кроме того, было показано, как загрузить в память HawkBoard готовые образы ядра и файловой системы, а затем запустить операционную систему (ОС) Linux на отладочной плате. Во второй части статьи рассматривается создание инструментария, требуемого для самостоятельного компилирования основных программных компонентов (загрузчика, ядра и файловой системы).

Все статьи цикла:

Зто более сложный этап, так как все действия необходимо выполнять на базовом ПК с установленной операционной системой Linux. При работе с операционной системой Windows, что наиболее часто встречается при разработке софта для цифровых сигнальных процессоров компании Texas Instruments, можно рекомендовать использовать виртуальную машину. При написании статьи использовалась виртуальная машина VirtualBox [3], куда была установлена операционная система Ubuntu 10.4 [4].

Описания инсталляции программы виртуализации VirtualBox и создания гостевой ОС выходит за рамки статьи. Всю необходимую информацию можно найти в Интернете, например здесь [5].

В процессе формирования требуемого инструментария для создания ядра и файловой системы Linux требуется выполнить два этапа:

  1. Установить необходимый набор программных средств от компании Texas Instruments (TI) [6], так называемый SDK.
  2. Установить кросс-компилятор для ARM-ядра компании Code Sourcery [9].

На первом этапе прежде всего нужно загрузить следующие файлы SDK [7]:

  • OMAP-L138_setuplinux_#_#_#_#.bin,
  • bios_setuplinux_#_#_#.bin,
  • xdctools_setuplinux_#_#_#_#.bin,
  • ti_cgt_c6000_#.#.#_setup_linux_x86.bin,
  • cs1omapl138_#_#_#_setup_linux.bin.

На рис. 1 представлена страница загрузки необходимых компонентов [7] (после загрузки страницы необходимо прокрутить ее вниз).

Страница загрузки компонентов SDK

Рис. 1. Страница загрузки компонентов SDK

Перед скачиванием файлов требуется зарегистрироваться на сайте TI, так как при загрузке запрашиваются логин и пароль (рис. 2).

Запрос логина и пароля при загрузке компонентов SDK

Рис. 2. Запрос логина и пароля при загрузке компонентов SDK

Пакет SDK включает такие компоненты, как Codec Engines, DSP/BIOS Link, xDAIS, а также заголовочные файлы xDM, Framework Com-ponents и т. д. Инсталляторы различных компонентов имеют по умолчанию различные директории установки. Рекомендуется не использовать стандартные (по умолчанию) установки, а выбрать одно и то же место для всех компонентов. Это упростит дальнейшую работу с инсталлируемым программным обеспечением (ПО).

Для установки требуемого ПО необходимо выполнить следующие шаги:

1. Войти в операционную систему (ОС) Linux, используя учетную запись обычного пользователя. На рис. 3 показан пример авторизации в момент загрузки ОС Ubuntu 10.4 для пользователя с именем ubuntu. Затем загрузить указанные выше компоненты SDK в папку /home/ubuntu/Загрузки/ (это стандартная папка загрузки русифицированной ОС Ubuntu 10.4 для пользователя с именем ubuntu).

    Авторизация пользователя

    Рис. 3. Авторизация пользователя

 

2. Запустить терминальную программу (рис. 4).

    Запуск терминальной программы

    Рис. 4. Запуск терминальной программы

 

3. Переключиться в режим root — команда sudo -i (может потребоваться введение пароля учетной записи пользователя, причем он не отображается при вводе) и перейти в каталог — команда cd, куда были загружены бинарные файлы (в нашем случае это папка /home/ubuntu/Загрузки/). Затем сделать все файлы с расширением bin исполняемыми — команда chmode +x *.bin. Выйти из режима root—команда exit. Все команды вводятся в окне терминала (рис. 5).

    Определение исполняемых файлов

    Рис. 5. Определение исполняемых файлов

 

4. Распаковать архив, запустив файл OMAP-L138_setuplinux_#_#_#_#.bin, используя команду ./OMAP-L138_setuplinux_#_#_#_#. bin, как это показано на рис. 6, сноска 1. (Обратите внимание, что вначале осуществляется переход в папку, где располагаются загруженные файлы, — команда cd.) После введения команды появится окно запуска инсталлятора SDK (рис. 6, сноска 2), необходимо подтвердить начало установки, нажав клавишу Yes (рис. 6, сноска 3). Процесс установки SDK показан на рис. 7.

    Распаковка архива OMAPL138_arm_#_#_#_#

    Рис. 6. Распаковка архива OMAPL138_arm_#_#_#_#

    Инсталляция SDK

    Рис. 7. Инсталляция SDK

 

Для размещения распакованных файлов используется каталог /home/<useracct>/ OMAPL138_arm_#_#_#_# (в рассматриваемом примере — это /home/ubuntu/OMAPL138_ arm_1_00_00_11). Подробную информацию о содержании каталога можно получить в [8].

5. Инсталлировать XDCtools, выполнив команду ./xdctools_setuplinux_#_#_#.bin, как это показано на рис. 8. На рис. 8 первой командой осуществляется переход в папку, где размещены все загруженные файлы, однако, если после установки пакета SDK терминал не закрывался, то команда перехода не нужна.

Запуск файла установки XDCtools

Рис. 8. Запуск файла установки XDCtools

Установка XDCtools аналогична предыдущему пункту. Стоит отметить необходимость выбора английского языка в качестве языка установки, в противном случае может некорректно отображаться выводимая информация. Окно с выбором языка появляется первым при запуске инсталлятора (рис. 9).

Выбор языка инсталляции

Рис. 9. Выбор языка инсталляции

Второе замечание по процессу установки XDCtools — не использовать размещение по умолчанию. Вместо этого устанавливайте ПО в директорию, созданную на предыдущем шаге. Выбор директории установки показан на рис. 10.

Выбор папки установки XDCtools

Рис. 10. Выбор папки установки XDCtools

6. Установить DSP/BIOS, для чего введите команду ./bios_setuplinux_#_#_#.bin, как это показано на рис. 11. Обратите внимание, что нет команды перехода в папку загрузки, так как окно терминала не закрывалось после предыдущего шага. Несколько замечаний. Первое: выберите английский язык установки. Второе: здесь также не используйте размещение по умолчанию, а устанавливайте ПО в директорию /home/<useracct>/OMAPL138_arm_#_#_#_#, что была создана при инсталляции SDK. В остальном процесс инсталляции аналогичен предыдущим. 7. Выполнить установку Code Generation Tools, введя в терминале команду ./ti-cgt-C6000_#.#.#_setup_linux_x86.bin, как это показано на рис. 12.

Запуск файла установки DSP/BIOS

Рис. 11. Запуск файла установки DSP/BIOS

Запуск файла установки Code Generation Tools

Рис. 12. Запуск файла установки Code Generation Tools

В процессе инсталляции необходимо выбрать английский язык и вручную (в отличие от предыдущих шагов) создать папку C6000_#_#_# в каталоге /home/<useracct>/OMAPL138_arm_#_#_#_#/, куда будет устанавливаться Code Generation Tools. Создание папки показано на рис. 13 (в рассматриваемом примере создается папка C6000_6.1.9).

Создание папки установки Code Generation Tools

Рис. 13. Создание папки установки Code Generation Tools

Кроме того, требуется установить переменную среды в соответствии с параметрами установки:

export C6X_C_DIR=»/home/<useracct>/OMAPL138_arm_#_#_#_#/ cg6x_#_#_#/include;

/home/<useracct>/OMAPL138_arm_#_#_#_#/cg6x_#_#_#/lib»

Приведенные выше строки должны быть введены в одну линию, без перехода на новую строку (рис. 14).

Установка переменных среды

Рис. 14. Установка переменных среды

Чтобы установить переменные окружения для всех терминальных сессий, а также сохранять их значение между перезагрузками ОС, необходимо добавить приведенную выше строку в файл ~/.bashrc. Для этого необходимо открыть в стандартном файловом менеджере ОС Ubuntu 10.4 домашнюю директорию пользователя, сделать видимыми скрытые файлы и щелкнуть мышкой на файле .bashrc (рис. 15).

Рис. 15. Открытие файла .bashrc

Рис. 15. Открытие файла .bashrc

Файл откроется в текстовом редакторе, где необходимо будет в конце файла добавить требуемую строку, сохранить изменения и закрыть редактор (рис. 16). Это позволит устанавливать переменные окружения командой source ~/.bashrc.

Внесение изменений в файл .bashrc

Рис. 16. Внесение изменений в файл .bashrc

8. Установить Codec server, для чего нужно ввести команду: ./cs1omapl138_1_##_##_ setup_linux.bin.bin (рис. 17).

Запуск файла установки Codec server

Рис. 17. Запуск файла установки Codec server

В процессе установки нужно выбрать английский язык, а при запросе о месте размещения инсталлируемого программного обеспечения можно использовать путь по умолчанию или указать особую директорию, например, /home/<useracct>/OMAPL138_ arm_#_#_#_#/cs1omapl138_#_#.

На рис. 18 показано, как определить в качестве установки папку с именем cs1omapl138_1_00_00. Обратите внимание, что имя папки установки вводится вручную.

Определение местоположения Codec server

Рис. 18. Определение местоположения Codec server

9. И наконец, последний шаг установки необходимого набора программ от TI — это инсталляция интегрированной среды разработки Code Composer Studio v3.3 (CCStudio). Это ПО должно быть установлено на базовом ПК с ОС семейства Windows. Процесс инсталляции CCStudio является стандартной процедурой, хорошо документирован и в статье не описывается.

Теперь рассмотрим второй этап формирования требуемого инструментария — загрузку и установку кросс-компилятора компании Code Sourcery. Необходимо выполнить следующие шаги:

  1. Перейти на страницу загрузки веб-сайта Code Sourcery [10], выбрать установочный пакет IA32 GNU/Linux кросс-компилятора Sourcery G++ Lite 2009q1-203 для ARM и сохранить его (рис. 19).
  2. Изменить оболочку dash (используемую в Ubuntu 10.4 по умолчанию) на bash. Это требование определяется тем, что инсталлятор кросс-компилятора CodeSourcery не поддерживается оболочкой dash. Реконфигурация оболочки выполняетсякомандой sudo dpkg-reconfigure-plow dash (может потребоваться введение пароля учетной записи пользователя). После ее выполнения появится окно, где на вопрос «Установить dash как/bin/sh?» необходимо ответить «Нет» (рис. 20). При использовании 64-разрядной ОС Linux может потребоваться установка пакета ia32-libs, что выполняется командой sudo apt-get install ia32-libs.
  3. Перейти в папку загрузки кросс-компилятора (команда cd—рис. 21, сноска 1), сделать установочный файл исполняемым (команда chmod +x arm-2009q1-203-arm-none-linux-gnueabi.bin — рис. 21, сноска 2) и запустить инсталляцию (команда ./arm-2009q1-203-arm-none-linux-gnueabi.bin — рис. 21, сноска 3).

Выбор установочного пакета кросс-компилятора CodeSourcery

Рис. 19. Выбор установочного пакета кросс-компилятора CodeSourcery

Выбор bash в качестве основной оболочки

Рис. 20. Выбор bash в качестве основной оболочки

Запуск инсталляции кросс-компилятора CodeSourcery

Рис. 21. Запуск инсталляции кросс-компилятора CodeSourcery

Появится окно старта процесса инсталляции кросс-компилятора CodeSourcery. Необходимо запустить программу установки, нажав кнопку Next (рис. 21, сноска 4), и следовать инструкциям. При написании статьи предложенные инсталлятором настройки не менялись.

Если путь, заданный по умолчанию, не изменялся, тогда файлы установленного кросс-компилятора можно найти в директории /home/<user>/CodeSourcery. При этом необходимо указать путь для Code Sourcery tools в переменных окружения, что выполняется командой export PATH=/home/<user>/CodeSourcery/Sourcery_G++_ Lite/bin:$PATH. Строку с указанием пути (без кавычек!) можно добавить в файл ~/.bashrc, как это было сделано ранее для переменной C6X_C_DIR (рис. 15, 16), и в дальнейшем устанавливать требуемые параметры при помощи команды source ~/.bashrc.

На этом вторая часть статьи, посвященной отладочной плате HawkBoard, завершена. В третьей части будет сделан следующий шаг освоения отладочной платы: мы рассмотрим вопрос самостоятельного компилирования основных программных компонентов: загрузчика, ядра и файловой системы.

Литература

  1. Гук И. Отладочная плата HawkBoard на базе процессора ОМАР^138. Часть 1 // Компоненты и технологии. 2010. № 7.
  2. http://www.innovatesolutions.net/products/hawkboard
  3. http://www.virtualbox.org/
  4. http://www.ubuntu.com/
  5. http://ru.wikipedia.org/wiki/VirtualBox
  6. http://www.ti.com
  7. http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/omap_ l138/1_00/latest/index_FDS.html
  8. http://processors.wiki.ti.com/index.php/GSG:_InstaШng_the_Software_for_OMAP-L138#About_the_PSP_package
  9. http://www.codesourcery.com/
  10. http://www.codesourcery.com/sgpp/lite/arm/portal/release858

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *