НОВА ВЕРСІЯ САЙТУ КАФЕДРИ ВЖЕ ПРАЦЮЄ, ПЕРЕХОДЬТЕ ЗА ПОСИЛАННЯМ KEOA.KPI.UA/wp/



Russian Ukraine English
Catalog RSS

  Новини
  Абітурієнтам >>
  Про кафедру >>
  Викладачі >>
  Навчальний процес >>
  Наукові проекти
  Студентські проекти >>
  Учбовий центр
  Контакти >>
Фотогалерея
  Наш youtube-канал
  Розклад занять



вступ у кпі

Програма фахового вступного випробування
Програма додаткового вступного випробування

Методичні рекомендації до розрахунку печатних плат [24мб]
Вступ до КПІ, екзамени, тести, адреса приймальної комісії


Приемная комиссия КПІ
Інформаційний пакет
Сайт ФЕЛ
Сайт НТУУ «КПІ ім.І.Сікорського»
...




   
Ваша майбутня спеціальність 172 “Телекомунікації та радіотехніка”, спеціалізація «Інформаційно-обчислювальні засоби радіоелектронних систем».
В цьому році у нас 53 бюджетних місця.

ВІТАЄМО!! Кафедра КЕОА зайняла 1 місце серед кафедр ФЕЛ НТУУ «КПІ імені Ігоря Сікорського» - KPIDATA.ORG

Навчально-науковий центр « Ощадливе виробництво»
[ Карта сайта ]     Головна » Стажировка студентов кафедры в Кореи 




- pdf

Стажування студентів кафедри в Кореї


Створення початкового завантажувача операційної системи та потрування Linux для GPS/WiFi тестера компанії Tescom

Звіт Запорожеца Тараса Вікторовича про проходження стажування у Кореї

Тема: «Операционная система Linux для встраиваемых систем»

ВВЕДЕНИЕ

Необходимость ускорения выпуска новой продукции на рынок и снижения общей стоимости систем вынуждает многих разработчиков программно-аппаратных продуктов применять ОС Linux и другие программные средства с открытыми исходными кодами. Подобное решение обусловлено тем, что, используя открытое программное обеспечение, разработчики получают возможность сконцентрировать усилия на совершенствовании своей продукции. Также решающим фактором является тот факт, что Linux поддерживает большое количество процессорных архитектур. В условиях мощного давления сроков выхода на рынок, модификация ОС для нового процессора или процессорного модуля может оказаться слишком длительным процессом, наличие же готовой операционной системы ведет к существенной экономии времени и средств.

Самая распространенная на сегодня версия Linux это, безусловно, версия для персональных компьютеров созданных на базе процессоров с архитектурой х86. Современные персональные компьютеры это недорогие системы, способные выступать как в роли инструментальных, так и целевых платформ. В мире такие машины использует большая часть Linux-разработчиков, и именно для этих компьютеров прежде всего и пишутся различные программы. Процессоры семейства х86 применяются не только в персональных, но и во многих встраиваемых системах. В настоящее время существует множество моделей х86-процессоров - от чрезвычайно быстродействующих до самых экономичных. Однако в определенных случаях процессоры х86 могут быть не самым лучшим выбором. В тех приложениях, где требуется очень низкий уровень энергопотребления, более уместными могут оказаться процессоры типа ARM или Hitachi SH, имеющие при существенно меньшей рассеиваемой мощности ту же производительность. В других ситуациях предпочтение следует отдать дешевым микропроцессорам, имеющим ядро PowerPC, сопроцессор и необходимый набор функций ввода/вывода. В предполагающих интенсивную обработку данных системах оправданным может быть применение процессоров типа MIPS, характеризующихся лучшим, чем у х86, соотношением цены и производительности. Хорошая новость состоит в том, что ядро ОС Linux поддерживает все эти типы архитектур.

1.  ПОСТРОЕНИЕ СИСТЕМЫ НА БАЗЕ ПРОЦЕССОРА ARM AT91SAM9G45

1.1.  Общие сведения о процессоре

Микроконтроллер AT91SAM9G45 выполнен на основе ядра ARM926EJ-S и интегрирует наиболее востребованный набор модулей для организации пользовательского интерфейса и высокоскоростной передачи данных, в т.ч. контроллер ЖК-дисплея, контроллер резистивного сенсорного экрана, интерфейс камеры, аудио интерфейс, контроллер Ethernet 10/100 и высокоскоростные интерфейсы USB и SDIO. Имея в своем арсенале процессор, работающий на частоте 400 МГц, и несколько коммуникационных интерфейсов с быстродействием свыше 100 Мбит/сек, AT91SAM9G45 обладает всеми возможностями, которые необходимы для реализации сетевых функций и функций локального хранения данных.

AT91SAM9G45 поддерживает интерфейсы последнего поколения ИС запоминающих устройств DDR2 и NAND Flash и может использовать их как для хранения кода программы, так и для хранения данных. Внутренняя 133-мегагерцовая многослойная шинная архитектура в связке с 37 каналами DMA, двумя внешними шинными интерфейсами и распределенной памятью, в т.ч. 64 - кбайт SRAM, которые можно настроить как TCM-память, обеспечивает всю необходимую для процессора и высокоскоростных устройств ввода-вывода пропускную способность.

Интерфейсы ввода-вывода могут работать при напряжении 1.8 В или 3.3 В. Предусмотрена отдельная подача напряжения питания для интерфейсов запоминающих устройств и устройств ввода-вывода. Данная возможность полностью исключает потребность в установке внешних ИС для преобразования уровней. У микроконтроллера используется шаг выводов 0.8 мм, что удешевляет производство печатной платы.

Контроллер управления электропотреблением AT91SAM9G45 позволяет эффективно управлять сигналами синхронизации и содержит домен с батарейным резервированием питания.

1.2. Загрузчик первого уровня AT91Bootstrap

1.2.1.  Общие сведения о загрузчике

В микроконтроллерах ARM9 компании Atmel для загрузки приложений пользователя используется специализированный загрузчик под названием AT91Bootstrap. Целью этого загрузчика является инициализация базовой периферии(GPIO, SDRAM, IRQ и т.д), загрузка приложения пользователя из внешнего Flash накопителя и передача управления загруженному приложению.Сам AT91Bootstrap хранится в энергонезависимойпамяти, этой памятью может быть: внутренняя Flash память микропроцессора, последовательная Dataflash-память, параллельная NAND-память или SD/MMC-карта памяти.

Может возникнуть вопрос "курицы и яйца": «Кто загружает загрузчик AT91Bootstrap?». Дело в том, что все микропроцессоры ARM9 компании Atmel имеют встроенный загрузчик нулевого уровня RomBoot. Находится загрузчик во внутренней ROM-памяти микропроцессора. Задача RomBoot состоит в инициализации внешних носителей информации и поиска AT91Bootstrap-а. Ниже, на рис. 1.1. приведена последовательность поиска AT91Bootstrap-а.

9263_rom_boot_sequence.png

Рис.1.1. Последовательность поиска AT91Bootstrap-а

В том случае, если загрузчику RomBoot не удалось найти AT91Bootstrap, первый переходит в режим восстановления SAM-BA Boot. В этом режиме инициализируются интерфейсыUSB и UART для приема команд. С помощью специфических команд может производиться запись загрузчика AT91Bootstrap и других данных пользователя во внешнюю Flash-память. Таким образом, во всех микроконтроллерах ARM9 компании Atmel предусмотрен режим восстановления.

1.2.2.  Подготовка к компиляции загрузчика

Перед тем как приступить к работе с загрузчика AT91Bootstrap, необходимо установить минимальный набор утилит, компилятор и настроить переменные окружения. Из дополнительных утилит необходимо установить make. Для компилирования используется компилятор Sourcery G++ Lite2011.03-42 for ARM EABI. Все работы проводились на дистрибутиве Ubuntu 10.04.3 с обновленным ядром до версии 2.6.38-10.

Для начала нужно создать директорию, в которой будут проводиться все работы:

  1. taras@taras-desktop:~/tescom$ mkdir example
  2. taras@taras-desktop:~/tescom$ cd example/
  3. После этого необходимо скачать AT91Bootstrap, установить компилятор и make:
  4. taras@taras-desktop:~/tescom/example$ wget http://www.atmel.com/dyn/resources/prod_documents/AT91Bootstrap1.16.zip
  5. taras@taras-desktop:~/tescom/example$ unzip AT91Bootstrap1.16.zip
  6. taras@taras-desktop:~/tescom/example$ wget http://www.codesourcery.com/sgpp/lite/arm/portal/package8736/public/arm-none-eabi/arm-2011.03-42-arm-none-eabi.bin
  7. taras@taras-desktop:~/tescom/example$ chmod 777 arm-2011.03-42-arm-none-eabi.bin
  8. taras@taras-desktop:~/tescom/example$ ./arm-2011.03-42-arm-none-eabi.bin
  9. taras@taras-desktop:~/tescom/example$ sudo apt-get install make

1.2.3.  Подготовка к компиляции загрузчика

Загрузчик первого уровня AT91Bootstrap не предназначен для загрузки образа ядра Linux. Предполагается, что AT91Bootstrap сконфигурирует внешнюю динамическую память, скопирует туда загрузчик второго уровня и передаст ему управление. Загрузчиком второго уровня может выступать U-boot для загрузки Linux, или EBOOT –для Windows CE. Но использование загрузчика второго уровня увеличивает размер системы и время загрузки, а также несет дополнительную нагрузку на разработчика программного обеспечения. Ниже будет описан процесс модифицирования AT91Bootstrap для загрузки zImage образа ядра.

Для запуска ядра Linux необходимо скопировать его образ из внешней Flash памяти в ОЗУ, запретить прерывания в загрузчике, отключить кэш, загрузить в регистр R0 ноль,R1 –идентификатор платформы, R2 – адрес начала аргументов загрузки ядра. В соответствии со спецификацией EABI эти регистры используются для передачи параметров в функцию. Соответственно, создав указатель на функцию, которая принимает три параметра, присвоив этому указателю адрес ядра в ОЗУ можно передать управление ядру с заданными параметрами. Также в загрузчике нужно изменить параметры образа ядра.

Для внесений изменений нужно сделать следующее:

•  Перейти в директорию с AT91Bootstrap и добавить в main.c перед оператором return следующее:

  1. {
  2. void (*theKernel)(int zero, int arch, unsigned intparams);
  3. dbg_print("Run Linux...n");
  4. theKernel = (void (*)(int, int, unsigned int))JUMP_ADDR;
  5. theKernel(0, MACH_TYPE, 0);
  6. }
  7. taras@taras-desktop:~/tescom/example$ cd Bootstrap-v1.16/
  8. taras@taras-desktop:~/tescom/example/Bootstrap-v1.16$ nanomain.c

•  Внести изменения в конфигурационный файл at91sam9m10g45ek.h, для платформы изменив следующие определения:

  • #define IMG_SIZE 0x300000 /* Image Size in DataFlash */
  • #define JUMP_ADDR 0x70008000 /* Final Jump Address */
  • #define CFG_DEBUG
  • #define DEBUG
  • taras@taras-desktop:~/tescom/example/Bootstrap-v1.16$ cd board/at91sam9m10g45ek/dataflash/
  • taras@taras-desktop:~/tescom/example/Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash$ nano at91sam9m10g45ek.h

•  После этих изменений можно приступить к компиляции, результатом выполнения будет dataflash_at91sam9m10g45ek.bin в папке с Makefile

  • taras@taras-desktop:~/tescom/example/Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash$ make clean
  • taras@taras-desktop:~/tescom/example/Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash$ make CROSS_COMPILE=arm-none-eabi-

1.3.  Ядро Linux

1.3.1.  Общие сведения

Процесс загрузки в системе Linux включает в себя несколько стадий. Однако вне зависимости от того, выполняется ли загрузка на стандартном персональном компьютере с архитектурой x86 или же во встраиваемой системе, процесс загрузки оказывается в значительной степени одинаковым.

После того как образ ядра оказывается в памяти и ему передается управление от загрузчика 2-й ступени, наступает стадия ядра. Однако образ не является исполняемым, это сжатый образ ядра. Обычно это zImage (сжатый образ размером менее 512KB) или bzImage (большой сжатый образ, размером более 512KB), который был сжат при помощи zlib. В начале такого образа располагается программа, которая выполняет минимальную настройку аппаратного обеспечения и затем распаковывает ядро, хранящееся внутри образа и помещает его в верхнюю область памяти. Если имеется образ начального RAM-диска, то программа также перемещает его в память и помечает для дальнейшего использования, а затем вызывает само ядро, после чего начинается его загрузка.

При вызове bzImage (образ для ARM) выполнение начинается в./arch/arm/boot/head.Sс ассемблерной функции. Эта программа выполняет основную настройку аппаратного обеспечения и вызывает процедуруstartup_32, располагающуюся в ./arch/arm/boot/compressed/head.S. Процедура настраивает базовую среду (стек и т.п.) и очищает BlockStartedbySymbol (BSS). Затем выполняется декомпрессия ядра при помощи вызова C-функцииdecompress_kernel(которая хранится в ./arch/arm/boot/compressed/misc.c). После декомпрессии ядра в память происходит его вызов. Это еще одна функция startup_32, но она располагается в файле ./arch/arm/kernel/head.S.

В новой функцииstartup_32 (которая называется swapper или process 0) инициализируются таблицы страниц (pagetables) и обеспечивается подключение функции memorypaging (отображение страниц). Также определяется тип центрального процессора и сопроцессора для вычислений с плавающей точкой (FPU), если он имеется, и данная информация сохраняется для последующего использования. Далее вызывается функцияstart_kernel из(init/main.c), которая осуществляет переход в ту часть ядра Linux, которая не зависит от особенностей конкретной аппаратной платформы. Можно сказать, что это функция main для ядра Linux.

При обращении к start_kernel вызывается длинный список функций инициализации, которые выполняют настройку прерываний, производят дальнейшее конфигурирование памяти и загружают начальный RAM-диск. После этого вызывается функция kernel_thread (из arch/arm/kernel/process.c), запускающая функцию init, которая является первым процессом, выполняющимся в пространстве пользователя. В заключение запускается idletask, после чего управление может взять на себя планировщик (scheduler) (после вызова cpu_idle). Если разрешены прерывания, вытесняющий планировщик (pre-emptivescheduler) будет периодически перехватывать контроль для поддержки многозадачности.

После загрузки ядра монтируется корневая файловая система и запускается первое приложение в пространстве пользователя. Это первая из вызываемых программ, которые скомпилированы со стандартной библиотекой C. До этого момента процесса стандартные C-приложения еще не выполнялись.

1.3.2.  Подготовка к компиляции ядра

Для сборки ядра необходимо установить базовый набор утилит и компилятор, а также скачать само ядро. Ниже приведена последовательность действий:

•  Устанавливаем необходимые утилиты из репозитория:

  • taras@taras-desktop:~/tescom/example$ sudo apt-get install make flex bison m4 ncurses-devgettext texi2html texinfo zlib1g zlib1g-dev
  • taras@taras-desktop:~/tescom/example$ sudo apt-get install liblzo2-2 liblzo2-dev libacl1 libacl1-dev libglib2.0-dev autoconfautomakelibtool

•  Скачиваем и распаковываем ядро:

  • taras@taras-desktop:~/tescom/example$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.37.6.tar.bz2
  • taras@taras-desktop:~/tescom/example$ tar xvjf linux-2.6.37.6.tar.bz2

•  Скачиваем и устанавливаем компилятор:

  • taras@taras-desktop:~/tescom/example$ wget http://www.codesourcery.com/sgpp/lite/arm/portal/package8741/public/arm-none-linux-gnueabi/arm-2011.03-41-arm-none-linux-gnueabi.bin
  • taras@taras-desktop:~/tescom/example$ chmod 777 arm-2011.03-41-arm-none-linux-gnueabi.bin
  • taras@taras-desktop:~/tescom/example$ ./arm-2011.03-41-arm-none-linux-gnueabi.bin

•  Скачиваем базовую конфигурацию ядра для нашей архитектуры:

  • taras@taras-desktop:~/tescom/example$ wget ftp://www.at91.com/pub/linux/2.6.30-at91/at91sam9m10g45ek_defconfig
  • taras@taras-desktop:~/tescom/example$ cp at91sam9m10g45ek_defconfig ./linux-2.6.37.6/.config

•  Конфигурируем ядро командой:

  • taras@taras-desktop:~/tescom/example/linux-2.6.37.6$ make ARCH=arm menuconfig
  • и выставляем следующие пункты меню:
  • SystemType --->
  • Atmel AT91 System-on-Chip --->
  • Atmel AT91 Processor (cpu name) --->AT91SAM9G45 – выбрать
  • Boot options --->
  • Always use the default kernel command string – выбрать
  • Default kernel command string: mem=64M console=ttyS0,115200 root=/dev/sda1 rootwait
  • Device Drivers --->
  • Input device support --->
  • Polled input device skeleton – выбратькаквстраиваемый
  • Graphics support --->
  • Console display driver support --->
  • Framebuffer Console support – выбратькаквстраиваемый
  • Map the console to the primary display device – выбрать
  • Select compiled-in fonts – выбрать
  • VGA 8x8 font - select this
  • Bootup logo – выбрать
  • Bootuplogo --->
  • Standard black and white Linux logo – отключить
  • Standard 16-color Linux logo - отключить
  • HID Devices --->
  • USB Human Interface Device support – выбратькаквстраиваемый
  • File systems --->
  • Ext3 journalling file system support – выбратькаквстраиваемый
  • The Extended 4 (ext4) filesystem – выбратькаквстраиваемый

•  Компилируем ядро:

taras@taras-desktop:~/tescom/example/linux-2.6.37.6$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

1.4  Корневая файловая система

1.4.1 Конфигурирование и компиляция корневой файловой системы

Buildroot это набор инструментов, в основе которых лежит традиционный makefile, позволяющий собрать систему под x86, PowerPC, ARM, AVR, MIPS и т.д. Система строится на базе uClibc – легковесного и легко портируемого варианта базовой С-библиотеки – и BusyBox – агрегатора, включающего в себя функционал большинства утилит традиционного окружения Linux (это позволяет сократить как объем кода, так и время загрузки программы в оперативную память).

Для построения кросскомпилятора и файловой системы нужно проделать следующее:

•  Скачиваем и распаковываем ядро:

  • taras@taras-desktop:~/tescom/example$ wget http://buildroot.uclibc.org/downloads/buildroot-2011.08.tar.bz2
  • taras@taras-desktop:~/tescom/example$ tar xvjf buildroot-2011.08.tar.bz2

•  Запускаем конфигуратор Buildroot и устанавливаем следующие пункты

  • taras@taras-desktop:~/tescom/example$ cd buildroot-2011.08
  • taras@taras-desktop:~/tescom/example/ buildroot-2011.08$ make menuconfig
  • Target Architecture (name) --->arm - выбрать
  • Target Architecture Variant (name) --->arm926t - выбрать
  • Toolchain --->
  • Kernel Headers (name) --->
  • Linux 2.6.37.x kernel headers - выбрать
  • Enable large file (files > 2 GB) support - выбрать
  • Enable WCHAR support - выбрать
  • Enable C++ support - выбрать
  • Package Selection for the target --->
  • Graphic libraries and applications (graphic/text) --->
  • Qt - select this
  • Qt --->
  • Library type (name) --->
  • Static Library - выбрать
  • Approve free license - выбрать
  • Keyboard drivers --->
  • tty - выбрать
  • linux input - выбрать
  • Text editors and viewers --->nano – выбрать

•  Запускаем компиляцию файловой системы:

taras@taras-desktop:~/tescom/example/buildroot-2011.08$ make

Результатом будет архив с файловой системой( output / images / root . tar )

1.4.2. Кросскомпиляция приложения на основе Qt.

Для примера также описан процесс кросскоомпиляции приложение на Qt. Чтобы не описывать создание приложения возьмем пример analogclock из исходников Qt. Для сборки необходимо проделать следующее:

•  Переходим в директорию с проектом:

  • taras@taras-desktop:~/tescom/example/buildroot-2011.08$ cd output/build/qt-4.7.3/examples/widgets/analogclock/

•  Создаем файл проекта, Makefile и запускаем процесс компиляции:

  • taras@taras-desktop:~/tescom/example/buildroot-2011.08/output/build/qt-4.7.3/examples/widgets/analogclock$ ../../../bin/qmake -project
  • taras@taras-desktop:~/tescom/example/buildroot-2011.08/output/build/qt-4.7.3/examples/widgets/analogclock$ ../../../bin/qmake
  • taras@taras-desktop:~/tescom/example/buildroot-2011.08/output/build/qt-4.7.3/examples/widgets/analogclock$ make

Результатом будет файл analogclock в директории с проектом.

•  Прошивка целевой системы собранными образами

После всех проделанных операций были созданы бинарные образы загрузчика( Bootstrap - v 1.16/ board / at 91 sam 9 m 10 g 45 ek / dataflash / dataflash _ at 91 sam 9 m 10 g 45 ek . bin ), ядра ( linux -2.6.37.6/ arch / arm / boot / zImage ) и архив с содержимым корневой файловой системы( example / buildroot -2011.08/ output / images / root . tar ).

Для прошивки микропроцессоров ARM компании Atmel предназначена специальная утилита SAM - BA . Для отладки проекта ядро и загрузчик будут размещены в DataFlash , а корневая файловая система на USB Flash накопителе. Приступим к процессу установки SAM - BA .

•  Для начала нужно скачать, распаковать и назначить права SAM - BA :

  • taras@taras-desktop:~/tescom/example$ wget http://www.atmel.com/dyn/resources/prod_documents/sam-ba_2.10.zip
  • taras@taras-desktop:~/tescom/example$ unzip sam-ba_2.10.zip
  • taras@taras-desktop:~/tescom/example$ cd sam-ba_cdc_linux/
  • taras@taras-desktop:~/tescom/example/sam-ba_cdc_linux$ chmod 777 sam-ba

•  Подключить отладочную плату к компьютеру через USB и создать ссылку на символьное устройство / dev / ttyACM 0 и запустить программу:

  • taras@taras-desktop:~/tescom/example/sam-ba_cdc_linux$ sudo ln -s /dev/ttyACM0 /dev/ttyUSB0
  • taras@taras-desktop:~/tescom/example/sam-ba_cdc_linux$ ./sam-ba

•  После запуска утилиты не экране появится окно с выбором соединения и типа отладочной платы, в нем нужно выбрать соединение :/ dev / ttyUSB , плату: at 91 sam 9 m 10- g 45- ek , как показано на рис. 1.2. После этого нажать Connect .

C:UserstarasDropboxPhotosScreenshot-SAM-BA CDC 2.10 .png

Рис.1.2. Окно выбора соединения и типа отладочной платы

•  При успешном подключении на экране должно появиться главное окно программы. В нем нужно выбрать вкладку DataFlash AT 45 DB / DCB , на этой вкладке найти поле Scripts и в списке выбрать Enable Dataflash  ( SPI 0  CS 0) и нажать Execute , как показано на рис.1.3.

Рис.1.3. Элементы для инициализации памяти

•  После этого можно приступать к прошивке загрузчика и ядра. В списке поля Scripts выбрать Send Boot File и нажать Execute , после этого появится меню для выбора файла и нужно указать расположение бинарного файла загрузчика ( Bootstrap - v 1.16/ board / at 91 sam 9 m 10 g 45 ek / dataflash / dataflash _ at 91 sam 9 m 10 g 45 ek . bin ). После этого в поле Adddress установить 0 x 8400, в строке Send File Name нажать на кнопку с изображениям папки и указать путь к образу ядра( linux -2.6.37.6/ arch / arm / boot / zImage ) и нажать кнопку Send File, как показано на рис.1.4.

Рис.1.4. Элементы управления SAM - BA для прошивки Dataflash

•  Для записи файловой системы достаточно скопировать содержимое архива / root . tar на USB Flash накопитель с файловой системой Ext 2/3/4, скопировать приложение analogclock в корневой каталог USB Flash . А также отредактировать файл / etc / inittab . Добавив следующие строки после строки ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100:

# Set up a couple of getty's

tty1::respawn:/sbin/getty 38400 tty1

tty2::respawn:/sbin/getty 38400 tty2

После подключения USB -клавиатуры и USB Flash накопителя, и перезагрузки платы на экране должен появиться пингвин (рис. 1.5), а через несколько секунд приглашение к входу в систему

F:DCIM101_FUJIDSCF2044.JPG

Рис. 1.5. Linux в процессе загрузки

Для входа в систему достаточно ввести имя пользователя “ root ” Для запуска приложения Qt необходимо в командной строке набрать следующее:

#/./ analogclock – qws . После загрузки приложения на экране появится окно приложения, как на рис. 1.6.

Рис. 1.6. Qt приложение, запущенное на отладочной плате

ВЫВОДЫ

В данном отчете показано как собрать Linux с базовым набором утилит и приложением на основе Qt для ARM -архитектуры. Также описан процесс загрузки Linux . Все это может быть полезным для тех, кто только начинает свой путь в сторону встраиваемых систем.

В 2007 году около 98% из более чем миллиарда мобильных телефонов, продаваемых ежегодно, были оснащены по крайней мере одним процессором ARM. По состоянию на 2009 на процессоры ARM приходится до 90% всех встроенных 32-разрядных процессоров. Что еще раз говорит о актуальности и правильности изучения этой архитектуры и выбора темы практической работы.


   

 
Головна |