This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Running the OMX Encode Sample on TMDXEVM8148 Dev Board

Other Parts Discussed in Thread: PCF8575, TPS65910, PMP

Hi,

I'm trying to run the encode sample on the DM8148 development board but the only output I get on the LCD display is a white screen.

I have the board booting over TFTP and mounting my NFS filesystem. I plug an analog camera into one of the inputs on the I/O expansion board (not sure which one to use, have tried them all). Then I run the following commands on the console:

root@dm814x-evm:~# /etc/init.d/matrix-gui-e stop
Stopping Matrix GUI application.
root@dm814x-evm:~# /etc/init.d/pvr-init stop
Stopping PVR
root@dm814x-evm:~# echo 0 > /sys/devices/platform/vpss/
/sys/devices/platform/vpss/display0/ /sys/devices/platform/vpss/power/
/sys/devices/platform/vpss/display1/ /sys/devices/platform/vpss/subsystem/
/sys/devices/platform/vpss/display2/ /sys/devices/platform/vpss/system/
/sys/devices/platform/vpss/driver/ /sys/devices/platform/vpss/uevent
/sys/devices/platform/vpss/graphics0/ /sys/devices/platform/vpss/video0/
/sys/devices/platform/vpss/graphics1/ /sys/devices/platform/vpss/video1/
/sys/devices/platform/vpss/graphics2/ /sys/devices/platform/vpss/video2/
/sys/devices/platform/vpss/modalias
root@dm814x-evm:~# echo 0 > /sys/devices/platform/vpss/display1/enabled
root@dm814x-evm:~# echo 720p-60 > /sys/devices/platform/vpss/display1/mode
root@dm814x-evm:~# echo 1 > /sys/devices/platform/vpss/display1/enabled
root@dm814x-evm:~# cd dm814x-evm/usr/share/ti/ti-omx/
root@dm814x-evm:~/dm814x-evm/usr/share/ti/ti-omx# ./capture_encode_a8host_debug.
xv5T -o sample.h264 -m 720p -f 30 -b 1000000 -n 1000 -d 1

The result is the following output and a white screen on the LCD but no captured video:

output file: sample.h264
bit_rate: 1000000
frame_rate: 30
num_frames: 1000
mode: 720p
display_id: 1
Capture-Encode example
===============================
OMX_Init completed
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
openeing file
capture compoenent is created
control TVP compoenent is created
Buffer Size computed: 1382400
set input port params (width = 1280, height = 720) applying skip mask
enable capture output port
got eventEnable/Disable Event
dei compoenent is created
set input port params (width = 1280, height = 720)
set output port params (width = 1280, height = 720)set output port params (width = 1920, height = 1080)set number of cha
nnelsset input resolutionset output resolutionenable dei input port
got eventEnable/Disable Event
enable dei output port 0
got eventEnable/Disable Event
enable dei output port 1
got eventEnable/Disable Event
encoder compoenent is created
found handle 0x12f4f8 for component OMX.TI.VPSSM3.VFDC
got display handle
found handle 0x133500 for component OMX.TI.VPSSM3.CTRL.DC
Buffer Size computed: 1152000
set input port params (width = 1280, height = 720)setting input and output memory type to defaultenable input port
got eventEnable/Disable Event
connect call for capture-Dei
connect call for dei- encoder
connect call for dei-display
got eventState changed to: OMX_StateIdle
Capture outport buffers allocated
got eventState changed to: OMX_StateIdle
Capture is in IDLE state
Dei input port use buffer done
DEI outport buffers allocated
got eventState changed to: OMX_StateIdle
DEI is in IDLE state
encoder input port use buffer done
encoder outport buffers allocated
got eventState changed to: OMX_StateIdle
Encoder state IDLE
got eventState changed to: OMX_StateIdle
ctrl-dc state IDLE
display buffers allocated
waiting for IDLEgot eventState changed to: OMX_StateIdle
display state IDLE
got eventState changed to: OMX_StateExecuting
display control state execute
got eventState changed to: OMX_StateExecuting
display state execute
got eventState changed to: OMX_StateExecuting
encoder state execute
got eventState changed to: OMX_StateExecuting
dei state execute
got eventState changed to: OMX_StateExecuting
capture state execute

Can someone give me a set of instructions that will work for this development board that will allow me to get captured video from the camera to be displayed on the LCD screen please? If that cannot be accomplished with this sample app then can someone point me towards another app that will be able to do this.

Thanks,

Steven

  • Anyone?

    Still looking for help on this. Would be good if TI would respond.

  • Hello,

    You could check here for more information about the capture_encode example:

    /ti-ezsdk_dm814x-evm_5_05_01_04/component-sources/omx_05_02_00_46

    OMX_05_02_00_46_UserGuide.pdf    

    Chapter: 4.2.4 Capture_encode example

    the OMX example support : 

    -m | --mode            1080p / 720p capture, 1080i capture

    -d | --display_id      0 - for on-chip HDMI, 1 for Secondary display

    for 720p, set mode before running example echo 720p-60 >/sys/devices/platform/vpss/display0/mode

    pvr-init, matrix-gui-e should be stopped.

    Let me know the result.

    Best Regards,

    Margarita






  • Hi,

    I have followed the OMX User Guide's instructions, including stopping the matrix and pvr apps and reconfiguring the display to use 720p-60 but still just get a white screen on the LCD display.

    I am plugging a standard definition composite camera into the 'Red' connector on the I/O expansion board of the dev kit (J10). Is this the right connector to plug it into? I have tried the other ones (Green and Blue) as well as the one marked 'Composite' but get the same result for all of them.

    What can I try next?

  • Any further help that can be offered?

    Am I using the correct video input?

    Is there a fault with the development board?

    Is there a contact at TI that I can talk to about this?

  • a) Make sure you use the latest DVSDK for DM814x (ie 5.05.01.04):
    http://software-dl.ti.com/dsps/dsps_public_sw/ezsdk/latest/index_FDS.html

    In case you need to upgrade make sure all the SW components would need to be updated (ie SPL, U-boot and Linux kernel/file system).
    Also use only what is provided as part of the DVSDK to start with as it is what has been tested/validated on the EVM.

    b) I would suggest to try first the drivers level example (ie part of PSP) for capture and display just to ensure that you can capture and display video.
    This would validate the HW and the low level SW.
    There is for example the SaLoopback example from the PSP that could be used but it all depend from where you capture and to what you want to display.
    Please make sure to read the "Read This First " of the sample application section.

    The PSP docs are located at:
    http://processors.wiki.ti.com/index.php/TI81XX_Linux_PSP_Releases
    http://processors.wiki.ti.com/index.php/TI81XX_PSP_User_Guide
    See section 21 - VPSS Video Driver and section 22 - VPSS Video Capture driver:
    http://processors.wiki.ti.com/index.php/TI81XX_PSP_VPSS_Video_Driver_User_Guide
    http://processors.wiki.ti.com/index.php/TI81XX_PSP_VIDEO_CAPTURE_Driver_User_Guide

    - Some info on how to change the code if you want to use a different resolution/pixel format for the capture in the SaLoopback example:
    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/178234.aspx

    - You can have a look as well at the documentation from mistral regarding the DM8148 EVM HW:
    http://www.mistralsolutions.com/pes-products/development-platforms/tmdxevm8148.html#
    Got to documentation and software and see the I/O EXP board Hardware user's guide for the different video capture connectors.


    c) Regarding OMX:
    The DM814x_AM387x_EVM_Quick_start_guide.pdf in step 4 should show which video connector should be used:
    http://software-dl.ti.com/dsps/dsps_public_sw/ezsdk/latest/index_FDS.html

     The below E2E posts might help:
    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/141643.aspx
    This point to an utility.

    The demos seems to be working for this customer:
    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/205316.aspx
    One of the thing to check are the U-boot parameters passed to the kernel.

    Also the below E2E post could give you info on how to troubleshoot the issue:
    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/131887.aspx
    It points to the wiki documentation that explains how to lunch the demos.

    Hope it helps.

    Anthony

  • Ok. So I upgraded to the latest EZSDK (5.05.01.04) and now I have even bigger problems. The board no longer boots!!

    I installed the EZSDK into my linux host PC. Then I built everything. Then updated the SD card following the instructions here http://processors.wiki.ti.com/index.php/DM814x_EZ_5.03_Software_Developers_Guide#How_to_create_an_SD_card

    Then I ran the setup.sh script in the root directory of the EZSDK and allowed it to use minicom to configure the uboot environment (Boot from SD card, load the linux kernel from the SD card).

    Now when the board boots up it gets to the point of starting the Kernel then it crashes. Here is the console output:

    U-Boot 2010.06 (Dec 11 2012 - 15:29:16)

    TI8148-GP rev 2.1

    ARM clk: 600MHz
    DDR clk: 400MHz

    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0
    Using default environment

    The 2nd stage U-Boot will now be auto-loaded
    Please do not interrupt the countdown till TI8148_EVM prompt if 2nd stage is already flashed
    Hit any key to stop autoboot: 0
    reading u-boot.bin

    210400 bytes read
    ## Starting application at 0x80800000 ...


    U-Boot 2010.06 (Dec 11 2012 - 15:29:48)

    TI8148-GP rev 2.1

    ARM clk: 600MHz
    DDR clk: 400MHz

    I2C: ready
    DRAM: 2 GiB
    NAND: HW ECC BCH8 Selected
    256 MiB
    MMC: OMAP SD/MMC: 0
    .:;rrr;;.
    ,5#@@@@#####@@@@@@#2,
    ,A@@@hi;;;r5;;;;r;rrSG@@@A,
    r@@#i;:;s222hG;rrsrrrrrr;ri#@@r
    :@@hr:r;SG3ssrr2r;rrsrsrsrsrr;rh@@:
    B@H;;rr;3Hs;rrr;sr;;rrsrsrsrsrsr;;H@B
    @@s:rrs;5#;;rrrr;r#@H:;;rrsrsrsrsrr:s@@
    @@;;srs&X#9;r;r;;,2@@@rrr:;;rrsrsrsrr;;@@
    @@;;rrsrrs@MB#@@@@@###@@@@@@#rsrsrsrsrr;;@@
    G@r;rrsrsr;#X;SX25Ss#@@#M@#9H9rrsrsrsrsrs;r@G
    @9:srsrsrs;2@;:;;:.X@@@@@H::;rrsrsrsrsrsrr:3@
    X@;rrsrsrsrr;XAi;;:&@@#@Bs:rrsrsrsrsrsrsrsrr;@X
    @#;rsrsrsrsrr;r2ir@@@###::rrsrsrsrsrsrsrsrsr:@@
    @A:rrsrsrsrr;:2@29@@M@@@;:;rrrrsrsrsrsrsrsrs;H@
    @&;rsrsrsrr;A@@@@@@###@@@s::;:;;rrsrsrsrsrsr;G@
    @#:rrsrsrsr;G@5Hr25@@@#@@@#9XG9s:rrrrsrsrsrs:#@
    M@;rsrsrsrs;r@&#;::S@@@@@@@M@@@@Grr:;rsrsrsr;@#
    :@s;rsrsrsrr:M#Msrr;;&#@@@@@@@@@@H@@5;rsrsr;s@,
    @@:rrsrsrsr;S@rrrsr;:;r3MH@@#@M5,S@@irrsrr:@@
    @A:rrsrsrsrrrrrsrsrrr;::;@##@r:;rH@h;srr:H@
    ;@9:rrsrsrsrrrsrsrsrsr;,S@Hi@i:;s;MX;rr:h@;
    r@B:rrrrsrsrsrsrsrr;;sA@#i,i@h;r;S5;r:H@r
    ,@@r;rrrsrsrsrsrr;2BM3r:;r:G@:rrr;;r@@,
    B@Mr;rrrrsrsrsr@@S;;;rrr:5M;rr;rM@H
    .@@@i;;rrrrsrs2i;rrrrr;r@M:;i@@@.
    .A@@#5r;;;r;;;rrr;r:r#AsM@@H.
    ;&@@@@MhXS5i5SX9B@@@@G;
    :ihM#@@@@@##hs,

    Net: Detected MACID:50:56:63:9c:7d:60
    cpsw
    Hit any key to stop autoboot: 0
    reading uImage

    2796420 bytes read
    ## Booting kernel from Legacy Image at 82000000 ...
    Image Name: Arago/2.6.37-psp04.04.00.01/dm81
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 2796356 Bytes = 2.7 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.
    Linux version 2.6.37 (x0029463@swubn01) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 Wed Oct 10 14:02:40 IST 2012
    CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
    CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
    Machine: ti8148evm
    reserved size = 52428800 at 0x0
    FB: Reserving 52428800 bytes SDRAM for VRAM
    Memory policy: ECC disabled, Data cache writeback
    OMAP chip is TI8148 2.1
    SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
    Built 1 zonelists in Zone order, mobility grouping on. Total pages: 160648
    Kernel command line: console=ttyO0,115200n8 rootwait rw mem=364M@0x80000000 mem=320M@0x9FC00000 root=/dev/mmcblk0p2 rootfstype=ext3 ip=off
    PID hash table entries: 4096 (order: 2, 16384 bytes)
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    Memory: 364MB 270MB = 634MB total
    Memory: 636932k/636932k available, 63484k reserved, 10240K highmem
    Virtual kernel memory layout:
    vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
    DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
    vmalloc : 0xf0800000 - 0xf8000000 ( 120 MB)
    lowmem : 0xc0000000 - 0xf0000000 ( 768 MB)
    pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    .init : 0xc0008000 - 0xc003d000 ( 212 kB)
    .text : 0xc003d000 - 0xc0549000 (5168 kB)
    .data : 0xc054a000 - 0xc05970c0 ( 309 kB)
    SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    NR_IRQS:407
    IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    Total of 128 interrupts on 1 active controller
    GPMC revision 6.0
    Trying to install interrupt handler for IRQ400
    Trying to install interrupt handler for IRQ401
    Trying to install interrupt handler for IRQ402
    Trying to install interrupt handler for IRQ403
    Trying to install interrupt handler for IRQ404
    Trying to install interrupt handler for IRQ405
    Trying to install interrupt handler for IRQ406
    Trying to install type control for IRQ407
    Trying to set irq flags for IRQ407
    OMAP clockevent source: GPTIMER1 at 20000000 Hz
    Console: colour dummy device 80x30
    Calibrating delay loop... 599.65 BogoMIPS (lpj=2998272)
    pid_max: default: 32768 minimum: 301
    Security Framework initialized
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    devtmpfs: initialized
    omap_voltage_early_init: voltage driver support not added
    regulator: core version 0.5
    regulator: dummy:
    NET: Registered protocol family 16
    omap_voltage_domain_lookup: Voltage driver init not yet happened.Faulting!
    omap_voltage_add_dev: VDD specified does not exist!
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    OMAP GPIO hardware version 0.1
    omap_mux_init: Add partition: #1: core, flags: 4
    NOR: Can't request GPMC CS
    Debugfs: Only enabling/disabling deep sleep and wakeup timer is supported now
    registered ti81xx_vpss device
    registered ti81xx_vidout device
    registered ti81xx on-chip HDMI device
    registered ti81xx_fb device
    registered ti81xx_vin device
    ti81xx_pcie: Invoking PCI BIOS...
    ti81xx_pcie: Setting up Host Controller...
    ti81xx_pcie: Register base mapped @0xf0820000
    ti81xx_pcie: Starting PCI scan...
    PCI: bus0: Fast back to back transfers enabled
    bio: create slab <bio-0> at 0
    vgaarb: loaded
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    USBSS revision 4ea2080b
    registerd cppi-dma Intr @ IRQ 17
    Cppi41 Init Done
    omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
    pcf857x 1-0021: gpios 128..143 on a pcf8575
    regulator: VRTC: 1800 mV
    regulator: VIO: 1500 mV
    regulator: VDD1: 600 <--> 1500 mV at 1200 mV
    regulator: VDD2: 600 <--> 1500 mV at 1200 mV
    regulator: VDDCTRL: 600 <--> 1400 mV at 1200 mV
    regulator: LDO1: 1100 <--> 3300 mV at 1800 mV
    regulator: LDO2: 1100 <--> 3300 mV at 1800 mV
    regulator: LDO3: 1100 <--> 3300 mV at 3300 mV
    regulator: LDO4: 1100 <--> 3300 mV at 1800 mV
    regulator: LDO5: 1100 <--> 3300 mV at 3300 mV
    regulator: LDO6: 1100 <--> 3300 mV at 3300 mV
    regulator: LDO7: 1100 <--> 3300 mV at 3300 mV
    regulator: LDO8: 1100 <--> 3300 mV at 1800 mV
    tps65910 1-002d: No interrupt support, no core IRQ
    omap_i2c omap_i2c.3: bus 3 rev4.0 at 100 kHz
    Advanced Linux Sound Architecture Driver Version 1.0.23.
    Switching to clocksource gp timer
    musb-hdrc: version 6.0, host, debug=0
    musb-hdrc musb-hdrc.0: dma type: dma-cppi41
    MUSB controller-0 revision 4ea20800
    musb-hdrc musb-hdrc.0: MUSB HDRC host driver
    musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
    usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb1: Product: MUSB HDRC host driver
    usb usb1: Manufacturer: Linux 2.6.37 musb-hcd
    usb usb1: SerialNumber: musb-hdrc.0
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.0: USB Host mode controller at f081e000 using DMA, IRQ 18
    musb-hdrc musb-hdrc.1: dma type: dma-cppi41
    MUSB controller-1 revision 4ea20800
    musb-hdrc musb-hdrc.1: MUSB HDRC host driver
    musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
    usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
    usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    usb usb2: Product: MUSB HDRC host driver
    usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
    usb usb2: SerialNumber: musb-hdrc.1
    hub 2-0:1.0: USB hub found
    hub 2-0:1.0: 1 port detected
    musb-hdrc musb-hdrc.1: USB Host mode controller at f0826800 using DMA, IRQ 19
    NET: Registered protocol family 2
    IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
    TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
    TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
    TCP: Hash tables configured (established 131072 bind 65536)
    TCP reno registered
    UDP hash table entries: 512 (order: 1, 8192 bytes)
    UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    NET: Registered protocol family 1
    RPC: Registered udp transport module.
    RPC: Registered tcp transport module.
    RPC: Registered tcp NFSv4.1 backchannel transport module.
    NetWinder Floating Point Emulator V0.97 (double precision)
    PMU: registered new PMU device of type 0
    omap-iommu omap-iommu.0: ducati registered
    omap-iommu omap-iommu.1: sys registered
    highmem bounce pool size: 64 pages
    JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
    msgmni has been set to 1224
    io scheduler noop registered
    io scheduler deadline registered
    io scheduler cfq registered (default)
    Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
    omap_uart.0: ttyO0 at MMIO 0x48020000 (irq = 72) is a OMAP UART0
    console [ttyO0] enabled
    omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
    omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
    omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
    omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
    omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
    brd: module loaded
    loop: module loaded
    ahci ahci.0: forcing PORTS_IMPL to 0x1
    ahci ahci.0: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
    ahci ahci.0: flags: ncq sntf pm led clo only pmp pio slum part ccc apst
    scsi0 : ahci_platform
    ata1: SATA max UDMA/133 mmio [mem 0x4a140000-0x4a150fff] port 0x100 irq 16
    m25p80 spi1.0: w25x32 (4096 Kbytes)
    Creating 5 MTD partitions on "spi_flash":
    0x000000000000-0x000000020000 : "U-Boot-min"
    0x000000020000-0x000000060000 : "U-Boot"
    0x000000060000-0x000000062000 : "U-Boot Env"
    0x000000062000-0x0000002e2000 : "Kernel"
    0x0000002e2000-0x000000400000 : "File System"
    omap2-nand driver initializing
    NAND device: Manufacturer ID: 0x2c, Chip ID: 0xca (Micron )
    Creating 6 MTD partitions on "omap2-nand.0":
    0x000000000000-0x000000020000 : "U-Boot-min"
    0x000000020000-0x000000260000 : "U-Boot"
    0x000000260000-0x000000280000 : "U-Boot Env"
    0x000000280000-0x0000006c0000 : "Kernel"
    0x0000006c0000-0x00000cee0000 : "File System"
    0x00000cee0000-0x000010000000 : "Reserved"
    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: detected phy mask fffffffc
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver unknown
    davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
    CAN device driver interface
    CAN bus driver for Bosch D_CAN controller 1.0
    d_can d_can: d_can device registered (irq=52, irq_obj=53)
    usbcore: registered new interface driver cdc_ether
    usbcore: registered new interface driver dm9601
    usbcore: registered new interface driver cdc_acm
    cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
    Initializing USB Mass Storage driver...
    usbcore: registered new interface driver usb-storage
    USB Mass Storage support registered.
    mice: PS/2 mouse device common for all mice
    ata1: SATA link down (SStatus 0 SControl 300)
    qt602240_ts 1-004a: Family ID: 128 Variant ID: 1 Version: 22 Build: 171
    qt602240_ts 1-004a: Matrix X Size: 18 Matrix Y Size: 12 Object Num: 17
    input: AT42QT602240/ATMXT224 Touchscreen as /devices/platform/omap/omap_i2c.1/i2c-1/1-004a/input/input0
    omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
    i2c /dev entries driver
    Linux video capture interface: v2.00
    usbcore: registered new interface driver uvcvideo
    USB Video Class driver (v1.0.0)
    OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    usbcore: registered new interface driver snd-usb-audio
    asoc: tlv320aic3x-hifi <-> davinci-mcasp.2 mapping ok
    ALSA device list:
    #0: TI81XX EVM
    nf_conntrack version 0.5.0 (9952 buckets, 39808 max)
    ip_tables: (C) 2000-2006 Netfilter Core Team
    TCP cubic registered
    NET: Registered protocol family 17
    can: controller area network core (rev 20090105 abi 8)
    NET: Registered protocol family 29
    can: raw protocol (rev 20090105)
    can: broadcast manager protocol (rev 20090105 t)
    Registering the dns_resolver key type
    VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    omap_voltage_late_init: Voltage driver support not added
    Power Management for TI81XX.
    Detected MACID=50:56:63:9c:7d:60
    omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
    Waiting for root device /dev/mmcblk0p2...
    mmc0: new high speed SDHC card at address e624
    mmcblk0: mmc0:e624 SD08G 7.40 GiB
    mmcblk0: p1 p2
    EXT3-fs: barriers not enabled
    kjournald starting. Commit interval 5 seconds
    EXT3-fs (mmcblk0p2): using internal journal
    EXT3-fs (mmcblk0p2): recovery complete
    EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
    VFS: Mounted root (ext3 filesystem) on device 179:2.
    devtmpfs: mounted
    Freeing init memory: 212K
    INIT: version 2.86 booting
    Please wait: booting...
    Error opening /dev/fb0: No such file or directory
    Starting udev
    udevd (88): /proc/88/oom_adj is deprecated, please use /proc/88/oom_score_adj instead.
    Remounting root file system...
    Caching udev devnodes
    NET: Registered protocol family 10
    chown: unknown user/group haldaemon:haldaemon
    ALSA: Restoring mixer settings...
    No state is present for card EVM
    Found hardware: "" "" "" "" ""
    Hardware is initialized using a generic method
    No state is present for card EVM
    Configuring network interfaces...
    CPSW phy found : id is : 0x4dd074

    CPSW phy found : id is : 0x4dd074
    ADDRCONF(NETDEV_UP): eth0: link is not ready
    eth0 no wireless extensions.

    udhcpc (v1.13.2) started
    Sending discover...
    PHY: 0:01 - Link is Up - 0/Half
    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    PHY: 0:01 - Link is Down
    Sending discover...
    PHY: 0:00 - Link is Up - 1000/Full
    Sending discover...
    Sending select for 192.168.0.81...
    Lease of 192.168.0.81 obtained, lease time 518400
    adding dns 192.168.0.1
    done.
    Setting up IP spoofing protection: rp_filter.
    Wed Oct 10 15:52:00 UTC 2012
    INIT: Entering runlevel: 5
    Loading HDVICP2 Firmware
    DM814X prcm_config_app version: 2.0.0.1
    Doing PRCM settings...
    PRCM for IVHD0 is in Progress, Please wait.....
    BW Phy Addr : 0x48180600 Data : 0x00000001
    AW Phy Addr : 0x48180600 Data : 0x00000002
    Phy Addr : 0x48180c04 Data : 0x00000037
    BW Phy Addr : 0x48180620 Data : 0x00070000
    AW Phy Addr : 0x48180620 Data : 0x00050002
    BW Phy Addr : 0x48180624 Data : 0x00030000
    AW Phy Addr : 0x48180624 Data : 0x00010002
    Phy Addr : 0x48180600 Data : 0x00000102
    BW Phy Addr : 0x48180c10 Data : 0x00000007
    AW Phy Addr : 0x48180c10 Data : 0x00000003
    Phy Addr : 0x48180c14 Data : 0x00000004
    BW Phy Addr : 0x58088000 Data : 0x01efe753
    AW Phy Addr : 0x58088000 Data : 0xeafffffe
    BW Phy Addr : 0x58098000 Data : 0xcee9bdf7
    AW Phy Addr : 0x58098000 Data : 0xeafffffe
    BW Phy Addr : 0x48180c10 Data : 0x00000003
    AW Phy Addr : 0x48180c10 Data : 0x00000000
    Phy Addr : 0x48180c14 Data : 0x00000007
    PRCM for IVHD0 is Done Successfully
    PRCM Initialization completed
    SysLink version : 2.20.00.14
    SysLink module created on Date:Oct 10 2012 Time:14:49:49
    FIRMWARE: I2cInit will be done by M3
    FIRMWARE: Memory map bin file not passed
    Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
    ===Mandatory arguments===
    <Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3
    <Location of Firmware> firmware binary file
    <start|stop> to start/stop the firmware
    ===Optional arguments===
    -mmap input memory map bin file name
    -i2c 0: i2c init not done by M3, 1(default): i2c init done by M3
    FIRMWARE: isI2cInitRequiredOnM3: 1
    FIRMWARE: Default memory configuration is used
    Firmware Loader debugging not configured
    Default FL_DEBUG: warning
    Allowed FL_DEBUG levels: error, warning, info, debug, log
    MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1
    vmap allocation for size 197136384 failed: use vmalloc=<size> to increase size.
    Unable to handle kernel paging request at virtual address 40000010
    pgd = eeec0000
    [40000010] *pgd=af36c031, *pte=00000000, *ppte=00000000
    Internal error: Oops: 817 [#1]
    last sysfs file: /sys/kernel/uevent_seqnum
    Modules linked in: syslink ipv6
    CPU: 0 Not tainted (2.6.37 #1)
    PC is at HeapMemMP_postInit+0x178/0x228 [syslink]
    LR is at GateMP_getSharedAddr+0x4c/0x60 [syslink]
    pc : [<bf099254>] lr : [<bf095418>] psr: 80000013
    sp : eeea9d78 ip : 00000000 fp : eeea9db4
    r10: 00000001 r9 : eeea9e14 r8 : eeea9e00
    r7 : f0807000 r6 : f080a000 r5 : 40000000 r4 : 0bbfff80
    r3 : 00000580 r2 : 00000580 r1 : 00060000 r0 : 00000580
    Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    Control: 10c5387d Table: aeec0019 DAC: 00000015
    Process firmware_loader (pid: 1391, stack limit = 0xeeea82e8)
    Stack: (0xeeea9d78 to 0xeeeaa000)
    9d60: 00000002 00000004
    9d80: eeea9db4 eeea9d90 eeea9db4 eeea9d98 bf082770 bf07394c 40000000 f080a000
    9da0: f0807000 00000000 eeea9df4 eeea9db8 bf09ab0c bf0990e8 eeea9e00 00000001
    9dc0: eeea9df4 00000000 bf07feb8 eeea9e00 eeea9e44 f0b44048 00000000 00000002
    9de0: 00000048 00000000 eeea9e2c eeea9df8 bf09b470 bf09a720 f0b44048 00000002
    9e00: 00000000 00000000 40000000 0bbfff80 00000000 f0807000 0bc00000 eeea9e44
    9e20: eeea9e84 eeea9e30 bf084c48 bf09b344 eeea9eb8 eeec1338 eeea9ea4 f0b44000
    9e40: 00000001 00000000 00000000 40000000 0bbfff80 00000000 bf074c24 c024f2a0
    9e60: ef1c2600 bec76a64 00000009 bec76a64 eeea8000 00000000 eeea9ef4 eeea9e88
    9e80: bf0c76e8 bf08496c c024f2a0 bec76a64 c0564c88 00000001 ef8385b0 00000000
    9ea0: eeea9ed4 eeea9eb0 c006cfd4 c006cdf8 c0564c88 ef838580 40000000 0bc00000
    9ec0: 00010003 00000000 00000080 00000001 00000000 00000000 00000000 ef1c2600
    9ee0: 00000009 00000009 eeea9f04 eeea9ef8 c00d76ec bf0c729c eeea9f74 eeea9f08
    9f00: c00d7dfc c00d76d0 c006e138 ef8385b8 00000000 00000000 fffffffd 00000000
    9f20: eeea9f54 eeea9f30 c03f360c c00431c4 ef84401c eeec6b00 00000017 ef838580
    9f40: eeea8000 00000000 eeea9f6c 00000000 bec76a64 c024f2a0 00000009 ef1c2600
    9f60: eeea8000 00000000 eeea9fa4 eeea9f78 c00d7e94 c00d7908 eeea9fac 00000001
    9f80: c03efd94 00046abc 00000000 00008d8c 00000036 c0047fa8 00000000 eeea9fa8
    9fa0: c0047e00 c00d7e48 00046abc 00000000 00000009 c024f2a0 bec76a64 00000009
    9fc0: 00046abc 00000000 00008d8c 00000036 00000000 00000000 40089000 bec76a4c
    9fe0: 00000000 bec76a00 0002e140 401deaec 20000010 00000009 00000000 00000000
    Backtrace:
    [<bf0990dc>] (HeapMemMP_postInit+0x0/0x228 [syslink]) from [<bf09ab0c>] (_HeapMemMP_create+0x3f8/0x5e0 [syslink])
    r7:00000000 r6:f0807000 r5:f080a000 r4:40000000
    [<bf09a714>] (_HeapMemMP_create+0x0/0x5e0 [syslink]) from [<bf09b470>] (HeapMemMP_create+0x138/0x1bc [syslink])
    [<bf09b338>] (HeapMemMP_create+0x0/0x1bc [syslink]) from [<bf084c48>] (SharedRegion_setEntry+0x2e8/0x414 [syslink])
    r5:eeea9e44 r4:0bc00000
    [<bf084960>] (SharedRegion_setEntry+0x0/0x414 [syslink]) from [<bf0c76e8>] (SharedRegionDrv_ioctl+0x458/0x5a8 [syslink])
    [<bf0c7290>] (SharedRegionDrv_ioctl+0x0/0x5a8 [syslink]) from [<c00d76ec>] (vfs_ioctl+0x28/0x44)
    r7:00000009 r6:00000009 r5:ef1c2600 r4:00000000
    [<c00d76c4>] (vfs_ioctl+0x0/0x44) from [<c00d7dfc>] (do_vfs_ioctl+0x500/0x540)
    [<c00d78fc>] (do_vfs_ioctl+0x0/0x540) from [<c00d7e94>] (sys_ioctl+0x58/0x7c)
    [<c00d7e3c>] (sys_ioctl+0x0/0x7c) from [<c0047e00>] (ret_fast_syscall+0x0/0x30)
    r8:c0047fa8 r7:00000036 r6:00008d8c r5:00000000 r4:00046abc
    Code: e0040094 e596000c e5864024 ebfff05d (e5850010)
    ---[ end trace 95603cf367e0605b ]---

    The uboot settings are:

    verify=yes
    ramdisk_file=ramdisk.gz
    loadaddr=0x81000000
    script_addr=0x80900000
    loadbootscript=fatload mmc 0 ${script_addr} boot.scr
    bootscript= echo Running bootscript from MMC/SD to set the ENV...; source ${script_addr}
    ethaddr=50:56:63:9c:7d:60
    ethact=cpsw
    autoload=no
    serverip=192.168.0.108
    oldbootfile=uImage
    bootfile=uImage-dm814x-evm.bin
    bootdelay=4
    baudrate=115200
    oldbootargs=console=ttyO0,115200n8 rootwait rw mem=364M@0x80000000 mem=320M@0x9FC00000 root=/dev/nfs nfsroot=192.168.0.108:/home/steven/targetfs ip=dhcp
    bootargs=console=ttyO0,115200n8 rootwait rw mem=364M@0x80000000 mem=320M@0x9FC00000 root=/dev/mmcblk0p2 rootfstype=ext3 ip=off
    oldbootcmd=dhcp;setenv serverip 192.168.0.108;tftpboot;bootm
    bootcmd=mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000

    Environment size: 782/8188 bytes

    Now i'm really stuck! What now?

  • Looks like the vmalloc size is insufficient to map the SharedRegion (of size 192M) on HLOS. Pls try modifying your kernel bootargs to set vmalloc=384M.

  • I tried that and now i get lots of lines like this:

    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0
    notify_send_event failed! status = 0xfffffff0
    notify_shm_drv_sendevent failed! status = 0xfffffff0

    Then I get the same crash.

  • This error indicates notify address for A8 -> VPSS M3 communication is wrong. This address is set in the kernel bootargs as notifyk.vpssm3_sva= but I dont see that param at all in your kernel bootup logs.Also was the setting of mem=364M mem=320M@0x9Fxx default setting or was it your customization ?

  • All the uboot values are the default ones that are set by the setup.sh script when it runs minicom.

    What should the uboot settings be?

  • Hi Steven,

    Try with these boot args:

    console=ttyO0,115200n8 rootwait root=/dev/mmcblk0p2 rw mem=364M@0x80000000 mem=320M@0x9FC00000 vmalloc=500M  notifyk.vpssm3_sva=0xBF900000 ip=off noinitrd

    Regards,

    Pavel

  • Hi Pavel,

    That worked and the board now boots. I just checked the output from the setup.sh script in the root of the EZSDK directory. It outputs the uboot environment variables to set onto the terminal before asking if minicom should be used to set up the environment. It appears that the minicom script does not set the same environment settings as the one shown on screen. The ones shown on screen are:

    setenv bootdelay 4
    setenv baudrate 115200
    setenv bootargs console=ttyO0,115200n8 rootwait rw mem=364M@0x80000000 mem=320M@0x9FC00000 vmalloc=500M notifyk.vpssm3_sva=0xBF900000 root=/dev/mmcblk0p2 rootfstype=ext3 ip=off
    setenv bootcmd 'mmc rescan 0;fatload mmc 0 0x82000000 uImage;bootm 0x82000000'

    So setting these manually works, whereas setting them automatically using the minicom script does not work.

    The board is now booting. However, the matrix app does not display. There is a mouse cursor in the middle of the LCD but nothing else on the screen. I have tried restarting it using /etc/init.d/matrix-gui-e stop then /etc/init.d/matrix-gui-e start but still just a mouse cursor on the screen. Any ideas?

    Thanks,

    Steven

  • Hi Steven,

    I think you should calibrate the LCD before proceeding. Can you click with your finger in the middle of the LCD (it is a touchscreen). The cursor should go in the upper left corner, then you should click again. Thus for all other corners of the LCD.

    Regards,

    Pavel

  • Hi,

    I tried calibrating the screen again but the matrix app still wont display after stopping and restarting it.

    I tried running the PSP example apps and they are not all working:

    The saFbdevDisplay and saFbDevDisplayPan examples show the colour bars correctly on the screen.

    saFbDevHdmiDisplay fails with the output:

    I2C No Ack

    Mode Changed to 720P60 from default mode of 1080P60
    press any key and hit return to continue...
    j

    Fix Screen Info:VPSS_GRPX : (0)- region(1280x720) out of frame(800x480).

    ----------------
    Line Length - 3200
    Physical Address = b0a00000
    Buffer Length = 25165824

    Var Screen Info:
    ----------------
    Xres - 800
    Yres - 480
    Xres Virtual - 800
    Yres Virtual - 1440
    nonstd - 0
    Bits Per Pixel - 32
    blue lenth 8 msb 0 offset 0
    red lenth 8 msb 0 offset 16
    green lenth 8 msb 0 offset 8
    trans lenth 8 msb 0 offset 24
    Error writing variable information.
    : Invalid argument

    The saFbdevMovingDisplay and saFbdevScalingDisplay examples fail with the output:

    Fix Screen Info:VPSS_GRPX : (0)- region(800x600) out of frame(800x480).

    ----------------
    Line Length - 3200
    Physical Address = b0a00000
    Buffer Length = 25165824

    Var Screen Info:
    ----------------
    Xres - 800
    Yres - 480
    Xres Virtual - 800
    Yres Virtual - 1440
    nonstd - 0
    Bits Per Pixel - 32
    blue lenth 8 msb 0 offset 0
    red lenth 8 msb 0 offset 16
    green lenth 8 msb 0 offset 8
    trans lenth 8 msb 0 offset 24

    Reg Params Info:
    ----------------
    region 0 postion 0 x 0 prioirty 1
    first 1 last 1
    sc en 0 sten en 0
    tran en 0, type 0, key 0
    blend 0 alpha 0
    bb en 0 alpha 0
    Error setting variable information.
    : Invalid argument

    The saLoopBack, saLoopBackFbdev and saLoopbackScale examples fail with the output:

    failed to open capture device
    Error in opening capture device for channel 0

    What do I need to do to get these examples working??

  • Hello Steven,

    I would suggest you first to read: ti-ezsdk_dm814x-evm_5_05_01_04/docs

    DM814x_EZ_Software_Developers_Guide.pdf

    and

    DM814x_AM387x_EVM_Quick_start_guide.pdf

    "

    The saLoopBack, saLoopBackFbdev and saLoopbackScale examples fail with the output:

    failed to open capture device
    Error in opening capture device for channel 0

    "
    Sample applications like, saLoopBack, saLoopBackFbdev and saLoopbackScale are described in:

    ti-ezsdk_dm814x-evm_5_05_01_04/board-support/docs

    TI81XX_Video_Capture_Driver_User_Guide.pdf

    To run examples: Capture source must be connected to the component input of IO EXPANSION board before run the sample
    application, otherwise the sample application reports error.

    I hope this to help you.

    Best Regards,

    Margarita



  • Margarita,

    I have been through those documents many times already!

    I have a capture source (a DVD player) connected to the IO Exanstion board. I have tried connecting it to the component source (RGB) connectors and to the composite connector and neither one works.

    Can someone please try out these samples to see if they actually work rather than just pointing me at documentation?