The OMAP5432 EVM board from Texas Instruments is an evaluation module featuring a dual ARM® Cortex™-A15 MPCore™ processor and a dual core SGX544 graphics processor. It incorporates an OMAP5432 ES2.0 SoC which includes a 1.5GHz dual core ARM® Cortex™-A15 MPCore™ processor and PowerVR® SGX544™ 3D GPU. The OMAP5432 EVM board provides key interfaces such as Ethernet, USB 3.0, USB 2.0, HDMI, audio I/O, and SATA.

Hardware Features

Running at speeds up to 1.5 GHz, the OMAP5432 EVM is a low-cost evaluation module featuring a dual ARM® Cortex™-A15 MPCore™ processor and a dual core SGX544 graphics processor. This low-cost OMAP5432 EVM enables quick, easy evaluation and benchmarking for advanced applications demanding performance at low power including human machine interface (HMI), portable data terminals (PDT), digital signage and medical monitoring end equipment. This EVM makes it cost effective to prototype software and benchmark designs and gives customers easy access to key interfaces such as Ethernet, USB 3.0, USB 2.0, HDMI, audio I/O and SATA, as well as expansion ports for multiple display and camera options. Enabling symmetric multiprocessing where high speed control and communications are essential, the EVM also offloads 3D- and 2D-graphics and 1080p60 multimedia functions to dedicated accelerators, allowing developers to differentiate their industrial solutions. The EVM is also equipped with power management and thermal management frameworks, which create a fanless operation.

Evaluation versions of multiple operating systems are available for download (not shipped with EVM) for the OMAP5432 EVM including: Linux®, Android™, QNX®, and Green Hills INTEGRITY®.

OMAP5 uEVM
  • OMAP5432, dual-core 1.5 GHz ARM® Cortex™-A15 MPCore™ processor, NEON™ SIMD coprocessor and VFPv4, 2-MiB Unified L2 Cache Memory, 6 Power Domains
  • ARM Dual Cortex™-M4 Image Processing Unit (IPU)
  • PowerVR SGX544 3D GPU
  • Vivante™ GC320 Core 2D-Graphics Accelerator (BB2D)
  • On-Chip Debug with 14-Pin JTAG and CTools Technologies
  • Display Controller with DMA Engine
  • Support for 3 LCD Outputs and 1 TV
  • 3 Video, 1 GFX, and 1 Write-back Pipeline
  • HDMI Encoder: HDMI 1.4a, HDCP 1.4, and DVI 1.0 Compliant
  • Imaging Subsystem (ISS), Consisting of Image Signal Processor (ISP) and Still Image Coprocessor (SIMCOP) Block
  • Face Detection Interface (FDIF)
  • Power-Independent Audio Back-End (ABE) Subsystem
  • DDR3/DDR3L Memory Interface (EMIF) Module (Up to 4 GiB of SDRAM per EMIF)
  • General-Purpose Memory Controller (GPMC)
  • System Direct Memory Access (DMA) Controller
  • Five High-Speed Inter-Integrated Circuit (I²C) Ports
  • HDQ™/1-Wire® Interface
  • 5 Configurable UART/IrDA/CIR Modules
  • 4 Multichannel Serial Peripheral Interfaces (MCSPIs)
  • Multichannel Buffered Serial Port (MCBSP)
  • Multichannel Pulse Density Modulation (MCPDM)
  • Multichannel Audio Serial Port (MCASP)
  • 6-Path Digital Microphone (DMIC) Module
  • MIPI® High-Speed Synchronous Serial Interface (HSI)
  • High-Speed (HS) Multiport USB Host Subsystem
  • SATA Host Controller and Physical Layer (PHY)
  • MMC/SDIO Host Controller
  • SuperSpeed (SS) USB OTG Subsystem and USB3 PHY
  • Up to 256 General-Purpose I/O (GPIO) Pins
  • 11 General-Purpose Timers
  • 2 Watchdog Timers
  • 32-kHz Synchronized Timer
  • Power, Reset, and Clock Management

Toolchain

Во вводной статье мы говорили о недостатках использования сторонних toolchain-ов и, естествено, в нашей работе, мы используем toolchain-ы собственной сборки.

Готовый toolchain для работы на 64-разрядных Linux машинах можно получить на нашем FTP-сервере в каталоге toolchains/x86_64. Выбирать здесь нужно последнюю версию архива с именем 'arm-OMAP543X-linux-glibc-*.tar.gz'.

Для самостоятельной сборки toolchain-а, необходимо получить срез репозитория toolchains, например,

$ svn co http://svn.radix.pro/svn/toolchains/trunk toolchains

И выполнить команду make в соответствующем каталоге:

$ cd toolchains/products/OMAP543X-glibc/1.0.9
$ make -j8

Напомним здесь, что перед сборкой необходимо подготовить каталог для инсталляции toolchain-а так, как это описано в разделе, посвященном загрузке toolchain-ов с нашего FTP-сервера.

Source Code

Исходные коды ядра Linux, загрузчика U-Boot, а также необходимых драйверов хранятся на различных ресурсах, таких как http://omapzoom.org и http://git.ti.com/glsdk. К сожалению, компания Texas Instruments уделяет мало внимания централизованному хранению исходных кодов, полагаясь в основном на партнеров, которые стараются предоставить готовые решения для быстрого старта. Поэтому поиск необходимых исходных пакетов должен начинаться с загрузки SDK, в манифесте которого можно найти ссылки на множество источников.

На нашем сервере мы поддерживаем зеркала ключевых репозиториев. Так исходные коды ядра Linux можно найти в репозитории linux-omap.git, а загрузчик, – в репозитории u-boot-omap.git.

Для того, чтобы разобраться, какие именно срезы репозиториев используются при сборке платформы Radix.pro, следует обратиться к Make-файлам репозитория sources.git. Например, в файле Linux/omap5-glsdk/Makefile, можно видеть, что мы используем ветку p-ti-glsdk-3.8.y репозитория git://git.omapzoom.org/kernel/kernel/omap.git.

Поскольку компания Texas Instruments, сосредоточившись на новом процессоре DRA74x, практически перестала поддерживать OMAP5432 EVM, мы не торопимся переходить на новые версии ПО для данной платы.

Kernel

Репозиторий исходных кодов ядра расположен по адресу git://git.omapzoom.org/kernel/kernel/omap.git. Зеркало, обновляемое кахдые сутки, можно найти на нашем сервере по адресу http://git.radix.pro/TI/omap5/linux-omap.git.

Порядок сборки и приготовления отчуждаемого пакета, можно найти в каталоге boot/kernel/omap543x репозитория платформы Radix.pro. Здесь представлена версия ядра Linux, снятая с ветки p-ti-glsdk-3.8.y и соответствующая той, которая используется в GLSDK 6.04.00.02.

Для идентификации срезов, мы используем дату в именовании каталогов, содержащих наши Make-файлы. Точные ревизии веток, используемые в нашей работе, можно увидеть на FTP-сервере или в репозитории sources.git (файл Linux/TI/omap5/glsdk/Makefile ), где вначале файла приведены таблицы соответствия hash-сумм и дат изменения репозитория.

.   .   .

#
# Revisions from 'p-ti-linux-3.8.y' branch.
#
#                                               hash | vers | date
#            ----------------------------------------+------+--------
revisions += 89927f5573872cada07d07c714e24a71ed6c29c3:3.8.13:20131223
revisions += 23cdd7ea36f5acf2b57032421586e8e8e76a490c:3.8.13:20140222
revisions += 2c871a879dbb4234232126f7075468d5bf0a50e3:3.8.13:20140411
revisions += 71a6fd5e2225306708ee3a7b941455d1315d1b9f:3.8.13:20140522
revisions += 6f5ad9c4a5760372995ddfe21e71e76e734d154f:3.8.13:20140724
#
.   .   .

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

U-Boot

Исходные коды загрузчика U-Boot находятся в репозитории git://git.omapzoom.org/repo/u-boot.git. Для удобства, мы зеркалируем данный репозиторий на нашем сервере.

Для загрузки устройства необходимо использовать ветку p-ti-u-boot-2013.04. Приготовление пакета, для платформы Radix.pro, можно видеть в каталоге boot/u-boot/omap543x.

Текущая версия U-boot рассчитана на то, что загрузка происходит с FAT32-раздела SD карты, поэтому в файле boot/u-boot/omap543x/2013.04-20140216/Makefile, помимо сборки, осуществляется приготовление образа файловой системы для последующей инсталляции. Результирующий образ помещается в файл с именем omap5uevm.fat32fs.

Flash Layout

В разделе Root Ext4 FS Image вводной статьи, даны общие сведения о структуре загрузочной SD карты. В отличие от других плат, необходимость использования дополнительной файловой системы приводит к тому, что на загрузочном носителе необходимо организовать следующее расположение разделов.

$ /sbin/fdisk -l /dev/mmcblk0

Disk /dev/mmcblk0: 32.1 GB, 32094814208 bytes
4 heads, 16 sectors/track, 979456 cylinders, total 62685184 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

        Device Boot      Start        End      Blocks   Id  System
/dev/mmcblk0p1   *        2048    1048575      523264    c  W95 FAT32 (LBA)
/dev/mmcblk0p2         1048576   10869759     4910592   83  Linux
$

Здесь первый раздел должен быть активным, он предназначен для размещения загрузчика. Второй раздел предназначен для размещения корневой файловой системы.

GPU Kernel Module

Драйвер GPU поставляется в исходном коде и собирается вне ядра Linux. Оригинальный репозиторий Texas Instruments расположен по адресу http://git.ti.com/graphics/omap5-sgx-ddk-linux. На нашем сервере поддерживается зеркало omap5-sgx-ddk-linux.git, обновляемое каждые сутки.

Сборка драйверов для платформы Radix.pro осуществляется по сценариям, описанным в Make-файлах каталога hal/drivers/omap543x/sgx-ddk. Так, для версии 1.9.0.11, сборка драйвера описана в файле 1.9.0.11/Makefile.

GPU User Space Drivers

Компания Texas Instruments не поставляет исходные коды библиотек в исходных кодах. Архивы, представленны в репозитории omap5-sgx-ddk-linux, зеркало которого можно найти на нашем сервере по адресу http://git.radix.pro/TI/glsdk/omap5-sgx-ddk-um-linux.git.

Исходные коды xf86-video драйвера от компании Texas Instruments можно найти по адресу http://git.ti.com/glsdk/xf86-video-omap.

На данный момент платформа Radix.pro не использует библиотеки OpenGL ES на плате OMAP5432 EVM.