Skip to Content

arm

Openembedded: Часть 2. Создание и использование SDK для ARM

OpenEmbedded SDKДля написания программ для платформ отличных от х86 требуется cross-toolchain. Cross-toolchain - это набор кросс-компиляторов, соответствующего окружения и кросс-библиотек, таких как libc под выбранную платформу, в нашем случае это будет ARM, а конкретно ARM926.

OpenEmbedded: Часть 1. Установка

openembedded logoЭтим материалом я хочу начать цикл статей посвященный работе с OpenEmbedded.

OpenEmbedded, это фреймворк для сборки Embedded Linux. Как утверждают на официальном веб-сайте, OpenEmbedded обеспечивает лучшее в своем классе окружение для кросс-компиляции. Фреймворк позволяет создавать завершенные Linux дистрибутивы для встраиваемых систем.

Работать я буду на компьютере в следующей конфигурации:

Конкурс от компаний EBV и STM.

Один из ведущих европейских поставщиков электронных компонентов, компания EBV Elektronik, совместно с компанией STMicroelectronics, объявили конкурс проектов выполненных с использованием микроконтроллера на базе ядра ARM Cortex™-M3. Все проекты будут оцениваться по нескольким критериям, а именно:

Использование J-Link совместно с eclipse+yagarto

Для работы с ARM контроллерами я привык пользоваться JTAG отладчиками, во-первых это возможность удобно отлаживать, во-вторых прошивка происходит в разы быстрее чем через встроенный загрузчик, который кроме того требует дополнительных действий по его активации. Недавно я обзавёлся J-Link подобным адаптером и в первую очередь решил проверить его в связке с yagarto+Eclipse. Далее небольшой обзор JTAG адаптеров и пошаговая инструкция по настройке профиля отладки для адаптера J-Link.

Как собрать VSFTPD для at91sam9263

Кросс-компиляция libcap

Для запуска VSFTP на Debian 5.0.3 мне потребовалась библиотека libcap, усли у вас ее нет, то ее надо скомпилировать под таргет пользуясь нижеследующими инструкциями. Если библиотека libcap у вас уже есть то этот раздел вы можете пропустить. Я использовал libcap-2.11. Скачанный архив я распаковал в папку /home/dmitry/ARM/libcap-2.11.
Для выполнения кросс-компиляции нам необходимо внести некоторые изменения в исходники libcap-2.11:

Сброка toolchain для ARM и запуск Linux на AT91RM9200.

Итак, начнем

Для начала установим переменные окружения для сборки toolchain-а:

export TARGET=arm-linux
export PREFIX=/usr/local/arm
export SYSROOT=${PREFIX}/sysroot
export ARCH=arm
export CROSS_COMPILE=${TARGET}-
export PATH=$PATH:${PREFIX}/bin

Создаем каталоги для сборки:

RSS-материал