Arago build recipe for OMAPL1
The software discussed on this site is available for download, but is no longer being actively developed. This wiki is in maintenance mode and the software is supported on OMAPL1x Processor E2E forum
This recipe can be used to create kernel and RFS for OMAPL1 platforms using arago-project.org based build system.
- This recipe always builds most recent version.
- Install Code Sourcery 2009 q1 tool chain for cross compiling. You can download CS2009q1 from link
- As this point of time, we recommend Ubuntu 8.04 distribution but nothing in Arago is distribution specific and other distribution will most likely work as long as the appropriate packages are installed.
Install the following packages:
sudo apt-get install build-essential subversion ccache sed wget cvs git-core coreutils unzip texinfo docbook-utils gawk help2man diffstat file g++ python-psyco texi2html bison flex chrpath sudo dpkg-reconfigure dash select No when it asks you to install dash as /bin/sh
- Setup various proxies as applicable.
- Add path to
binfolder of Code Sourcery tool chain (typically
- Create a working folder and change to it:
mkdir ~/oe chdir ~/oe
- Download ti_cgt_c6000_6.1.9_setup_linux_x86.bin (requires
my.ti.comid), save it under
~/oe/downloadsfolder and generate MD5 sum:
cd ~/oe mkdir downloads chdir downloads # TODO: Place ti_cgt_c6000_6.1.9_setup_linux_x86.bin in this folder md5sum ti_cgt_c6000_6.1.9_setup_linux_x86.bin > ti_cgt_c6000_6.1.9_setup_linux_x86.bin.md5 cd ..
- Clone arago repositories:
cd ~/oe git clone http://arago-project.org/git/arago.git git clone http://arago-project.org/git/arago-bitbake.git git clone http://arago-project.org/git/arago-oe-dev.git
- Prepare environment for build:
cd ~/oe cp arago/setenv.sample arago/setenv cp arago/conf/local.conf.sample arago/conf/local.conf source arago/setenv
cd ~/oe MACHINE=da850-omapl138-evm bitbake u-boot arago-gst-image
- Generated files can be found at:
u-boot: ~/oe/arago-tmp/deploy/images/da850-omapl138-evm/u-boot-da850-omapl138-evm.bin Kernel: ~/oe/arago-tmp/deploy/images/da850-omapl138-evm/uImage-da850-omapl138-evm.bin RFS : ~/oe/arago-tmp/deploy/images/da850-omapl138-evm/arago-gst-image-da850-omapl138-evm.tar.gz
This is a development branch with patches which haven't yet been pushed and/or accepted upstream yet. This kernel can be used with the root filesystem built above via arago. Currently one must build this kernel version outside of Arago though it is possible to locally modify the bitbake recipe to point at this kernel if so desired.
The branch contains support support for DVI output, requires a custom adapter board, via the LCDC peripheral. It also includes support for double buffering of the LCDC framebuffer. Here is a recipe to build for DA850. Nevermind that the name of the git tree indicates DA830 as it supports both.
$ git clone git://arago-project.org/git/people/martin/linux-da830.git $ git checkout -b test origin/fbdev_sekhar $ cd linux-da830 $ make ARCH=arm da850_omapl138_defconfig $ make ARCH=arm menuconfig # From menuconfig select: System Type --> TI DaVinci Implementations --> TI DA850/OMAP-L138/AM18xx Reference Platform --> Select UI board type (DVI Adapter board) $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
VPIF capture and display are present in the kernel and exposed via the Linux V4L2 interface. To build:
$ git clone git://arago-project.org/git/people/martin/linux-da830.git $ git checkout -b test origin/fbdev_sekhar $ cd linux-da830 $ make ARCH=arm da850_omapl138_defconfig $ make ARCH=arm menuconfig
In menuconfig make these changes
System Type ---> TI DaVinci Implementations ---> [*] TI DA850/OMAP-L138/AM18xx Reference Platform Select UI board type (UI Expander board) ---> (X) UI Expander board Select peripherals connected to UI expander board (Video Port Interface) ---> (X) Video Port Interface Device Drivers ---> <*> Multimedia support ---> <*> Video For Linux [*] Video capture adapters ---> Encoders/decoders and other helper chips ---> <*> Texas Instruments TVP514x video decoder -*- THS7303 Video Amplifier -*- ADV7343 video encoder <*> DaVinci Video VPIF Display <*> DaVinci Video VPIF Capture -*- DaVinci VPIF Driver
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
This example (Vpif_mmap_loopback.zip) requires the UI board from LogicPD which is shipped with the OMAP-L138 Developer's kit.
Include these boot args to configure the VPIF buffers.
Attach a composite video source to the input at J6 on the UI card and a composite video sink to J4. The code might work for S-Video using different channels but I haven't tried that. Build the example code (attached) and run like so.
$ # Here m 1 --> PAL $ # 0 --> NTSC $ # p 0 --> disable printing $ ./vpif_mmap_loopback -m 1 -p 0
This copies the input to the output for 20 seconds then stops. NB: the chroma component is not copied due to performance limitations (not sure root cause atm) so the resultant video sink is more gray than you might expect. Also if there is no video present on the input when the program is started then this error is printed and the program exists. i.e. make sure you have video input present before running the app.
VIDIOC_S_INPUT : Invalid argument Error in opening capture device for channel 0