Это старая версия документа.


Отладочная плата EV-L138/AM1808-Lite

Сборка u-boot.


Правим при необходимости board file (/home/evodbg/Projects/ buildroot-2012.02/output/build/uboot-v2009.11_DAVINCIPSP_03.20.00.14/board/davinci/da8xxevm/l138_owlboard_plus.c)
Запускаем скрипт для сборки make_u-boot.sh (/home/evodbg/Projects/buildroot-2012.02/output/build/uboot-v2009.11_DAVINCIPSP_03.20.00.14/make_u-boot.sh)

Обертка u-boot с помощью утилиты AISgen



Запускаем AISgen for D800K008, загружаем файл конфигурации ev-am1808.cfg (File-Load Configuration)
Указываем исходный ELF файл u-boot в DSP Application File
Указываем выходной файл, например u-boot.bin
Нажимаем Generate AIS

Для записи «обернутого» образа u-boot в NAND Flash устанавливаем BOOT перемычки в режим UART2 (1010)
Подключаем COM кабель к компьютеру и плате и подаем питание на плату
Запускаем утилиту sfh_OMAP-L138.exe cо следующими параметрами (или bat файл )

sfh_OMAP-L138.exe -flash_noubl -flashType NAND -p COM1  u-boot.bin



Где COM1 - номер COM порта компьютера, к которому подключена плата
u-boot.bin - имя «обернутого» файла u-boot
Нажимаем кнопку сброса на плате, начнется процесс передачи и записи файла.
После окончания программирования отключаем питание, устанавливаем BOOT перемычки в режим загрузки с NAND Flash, подаем питание
В консоли можно увидеть загрузку u-boot.

Прерываем загрузку u-boot нажатием на любую кнопку.
Задаем переменные окружения (Загрузка ядра по TFTp, файловая система NFS):

setenv serverip 192.168.0.101 Задаем IP адрес сервера\\
setenv ipaddr 192.168.0.108 Задаем IP адрес сервера
setenv bootargs 'ip=192.168.0.103:192.168.0.101:192.168.0.1:255.255.255.0:1808 rootdelay=3 root=/dev/nfs nfsroot=192.168.0.101:/tftpboot/rootfs  rw mem=128M '  Задаем строку аргументов \\
setenv bootcmd 'tftpboot 0xc0700000 uImage; bootm 0xc0700000' Задаем строку загрузки \\  

Загрузка ядра из NAND Flash, файловая система в NAND Flash

setenv bootargs 'ip=192.168.0.103:192.168.0.101:192.168.0.1:255.255.255.0:1808 rootfstype=ubifs root=ubi0:rootfs ubi.mtd=ubi rw mem=128M'
setenv bootcmd 'nand read.e 0xc0700000 kernel; bootm 0xc0700000'

Загрузка ядра с SD карты

setenv bootcmd 'mmc init; fatload mmc 0:1 0xc0700000 uImage; bootm 0xc0700000'

Загрузка ядра с USB Flash

setenv bootcmd 'usb start; fatload usb 0:1 0xc0700000 uImage; bootm 0xc0700000'
Восстановление ядра и файловой системы в NAND Flash



Записываем u-boot, как описано выше.
Записываем на USB Flash Drive папку Owlboard из архива safe_evam1808.zip Вставляем флешку в верхней разъем USB, устанавливаем перемычку на разъем X18 в положение 1-2
Устанавливаем BOOT перемычки в режим загрузки с NAND (0001)
Подаем питание на плату. Процесс записи должен запуститься автоматически.
Если процесс записи не стартовал (это может произойти, если ранее уже были записаны переменные окружения), набираем в консоли:

usb start
fatload usb 0:1 0xc0700000 /Owlboard/boot/uImage
bootm 0xc0700000"

Ждем окончания записи.

Сборка ядра.


Правим при необходимости board file (/home/evodbg/Projects/buildroot-2012.02/output/build/linux-v2.6.37_DAVINCIPSP_03.21.00.04/arch/arm/mach-davinci/board-l138-owlboardplus.c)
Запускаем скрипт для сборки make_uImage.sh (/home/evodbg/Projects/buildroot-2012.02/output/build/linux-v2.6.37_DAVINCIPSP_03.21.00.04/make_uImage.sh)

Сборка файловой системы.


Запуск меню-конфиг
/home/evodbg/Projects/evodbg/buildroot-2012.02/make menuconfig
Для запуска сборки файловой системы
/home/evodbg/Projects/evodbg/ buildroot-2012.02/make

Использование платы дисплея EV-ATM5HD-PLUG совместно с EV-L138/AM1808-Lite


Подключить дисплей с помощью 30-жильного кабеля к плате.
На дисплеи установить перемычки J4, J8, J9, J10 в положении 1-2. Снять перемычки J2, J3, J6, J7.
Калибровка touch screen панели:

ts_calibrate


Проверка touch screen панели:

ts_test


Проверка платы видеозахвата


В board файле платы установлен по умолчанию композитный вход VI4A (.input = INPUT_CVBS_VI4A) (разъем X1 на плате видеозахвата)
Могут выбраны следующие входа:
VI2B - (.input = INPUT_CVBS_VI2B) разъем X2;
VI2A - (.input = INPUT_CVBS_VI2A) разъем X3;
VI2C_VI1C - (.input = INPUT_SVIDEO_VI2C_VI1C) разъем S-Video X4;

cd /media 
./capture


Строка запуска gstreamer для проигрывания 720p файлов


gst-launch -v filesrc location=/home/root/john1808.mp4 ! qtdemux name=demux demux.audio_00 ! \
queue max-size-buffers=8000 max-size-time=0 max-size-bytes=0 ! TIAuddec1 ! \
alsasink demux.video_00 ! queue ! TIViddec2 ! TIC6xColorspace \
engineName=codecServer ! queue ! tidisplaysink2
I2C шина


Детектирование устройство на шине

root /media # i2cdetect -y -a  -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
50: 50 51 52 53 54 55 56 57 -- -- 5a -- UU UU -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
root /media #

Прочитать регистр с адресом 0x00 в микросхеме с адресом 0x5d (TVP5147)

root /media # i2cget -f -y 1 0x5d 0x00 b
0x0c
root /media #

Записать в регистр с адресов 0x00 в микросхеме с адресом 0x5d (TVP5147) значение 0x0C

i2cset -f -y 1 0x5d 0x00 0x0c b
Далее идет информация для виртуальной машины с dvsdk_omapl138-evm_04_03_00_06


Загрузчик u-boot используется такой же как и в предыдущем образе виртуальной машины.
Переменные окружения:

setenv serverip 192.168.0.101  IP адрес сервера с которого будет загружаться ядро
setenv ipaddr 192.168.0.103  - IP адрес платы
setenv bootcmd 'tftpboot 0xc0700000 uImage; bootm 0xc0700000' - команда загрузки и старта ядра
setenv bootargs 'ip=dhcp root=/dev/nfs nfsroot=192.168.0.101:/tftpboot/targetfs  rw mem=32M@0xc0000000 mem=64M@0xc4000000' - монтирование файловой системы NFS
saveenv - сохранить переменные окружения

DVSDK установлено в /home/evodbg/Projects/ti-dvsdk_omapl138-evm_04_03_00_06
Сборка ядра - make linux
Файл uImage будет находиться в /home/evodbg/Projects/ti-dvsdk_omapl138-evm_04_03_00_06/psp/linux-2.6.37-psp03.21.00.04.sdk/arch/arm/boot
Полная сборка - make
Файловая система будет находиться в /home/evodbg/targetfs
Скопировать собранное ядро в targetfs/boot/ - sudo make linux_install (потребуется пароль администратора)

Запуск демонстрационной оболочки Matrix


/etc/init.d/matrix-gui-e start


Генерация тестовой таблицы


gst-launch videotestsrc ! video/x-raw-rgb  ! fbdevsink


Генерация тестовой таблицы на весь экран (800*480)


gst-launch videotestsrc ! video/x-raw-rgb, framerate=25/1, width=8
00, height=480 ! fbdevsink


Немного экспериментов с Web камерой. Использовалась Logitech C110, подключенная в разъем USB Full Speed, в системе /dev/video2

Захватываем видео с WEB камеры (UVC стандарта)


gst-launch v4l2src device=/dev/video2 ! ffmpegcolorspace ! fbdevsink


Захватываем видео с WEB камеры (UVC стандарта) с нужным нам разрешением


gst-launch v4l2src device=/dev/video2 ! video/x-raw-yuv, width=320,height=240 ! ffmpegcolorspace ! fbdevsink


Захватываем видео с WEB камеры (UVC стандарта) и транслируем в сеть


gst-launch v4l2src device=/dev/video2 ! ffmpegcolorspace !  jpegenc ! tcpclientsink  protocol=gdp host=192.168.0.101


Захватываем видео с WEB камеры (UVC стандарта) с нужным нам разрешением и транслируем в сеть


gst-launch v4l2src device=/dev/video2 ! video/x-raw-yuv, width=320,height=240 ! ffmpegcolorspace !  jpegenc ! tcpclientsink  protocol=gdp host=192.168.0.101


192.168.0.101 - в данном случае адрес хоста в сети, на котором также запускаем Gstreamer для приема видео. На нем запускаем:

gst-launch -v tcpserversrc host=0.0.0.0 protocol=gdp ! decodebin ! autovideosink


Захватываем видео с WEB камеры (UVC стандарта) сжимаем в mp4 и пишем в файл на USB Flash Drive


mount /dev/sda1 /mnt  - монтируем флешку \\
gst-launch v4l2src device=/dev/video2 ! video/x-raw-yuv, width=320,height=240 ! ffmpegcolorspace ! TIVidenc1 codecName=mpeg4enc engineName=codecServer ! filesink  location=/mnt/web.mp4 -v


Воспроизводим записанный файл


gst-launch filesrc location=/mnt/web.mp4 ! typefind ! TIViddec2 ! queue ! TIC6xColorspace engineName=codecServer ! queue ! tidisplaysink2 -v 
Воспроизведение ролика mp4 720p


gst-launch -v filesrc location=/home/root/prometheus1808.mp4 ! qtdemux name=demux demux.audio_00 ! \
queue max-size-buffers=8000 max-size-time=0 max-size-bytes=0 ! TIAuddec1 ! \
alsasink demux.video_00 ! queue ! TIViddec2 ! TIC6xColorspace \
engineName=codecServer ! queue ! tidisplaysink2


Перекодировать ролики удобно с помощью утилиты handbrakehttp://handbrake.fr/downloads.php
Настройки приведены на скриншотах:





ev-l138_am1808-lite.1362043223.txt.gz · Последние изменения: 2013/02/28 11:20 — evodbg
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki