Sunday, October 31, 2010

 

Buying Life Insurance: What Kind and How Much?

http://finance.yahoo.com/how-to-guide/insurance/12823

Tuesday, October 26, 2010

 

Jumper Settings for PCI Mode


Jumper Settings for PCI Mode
To use the windows host PCI driver, the related jumpers on the DM64x EVM need to be set to appropriate positions as shown below when the card is inserted in a PCI slot.

2.3  Jumper Settings for EVM-DM6467

SW3 User DIP switches
SW3-1: off  (BOOTMODE[0])
SW3-2: on   (BOOTMODE[1])
SW3-3: off  (BOOTMODE[2])
SW3-4: off  (BOOTMODE[3])
BOOTMODE[3:0]= 0x0010

SW3-5: off  (BW)
SW3-6: off  (PCI: Enable PCI)
SW3-7: off  (DSP)
SW3-8: off  (SR)


Saturday, October 23, 2010

 

DM6467 PCI U-Boot Script

http://arago-project.org/git/projects/?p=examples-davinci.git;a=commit;h=db30f0c1b7d072d4f2582af22867805bdaf11681

 

DM6467 PCI: Host Sample application for PCI Boot

http://arago-project.org/git/projects/?p=examples-davinci.git;a=commit;h=4b4c1b80509fb3308e1b2aaab0995df9169ac2a1

 

PCI Throughput on C64x+ DSPs

http://processors.wiki.ti.com/index.php/PCI_Throughput_on_C64x%2B_DSPs

 

DM6467 EVM Technical Reference:

http://support.spectrumdigital.com/boards/evmdm6467/revf/files/DaVinciHD_EVM_TechRef_RevD.pdf

 

Wiki: Pinmux Switching from NAND to PCI

http://processors.wiki.ti.com/index.php/Pinmux_Switching_from_NAND_to_PCI

 

Examples: USB to PCI loopback

http://processors.wiki.ti.com/index.php/USB_to_PCI_loopback

 

FW: DM6467 EVM SW3 settings for PCI boot

http://linux.omap.com/pipermail/davinci-linux-open-source/2009-August/015128.html

Jaya,

The docs are amazingly confusing on the way these switches map to the
polarity of signals. They use all the terms on/off, up/down, "0/1" instead
of making things easy and clear... I spent a day messing around with this
before finally getting it to work.

If you look at the EVM technical ref page 3-29, you'll see the table of
settings for SW3.  You'll notice the polarity of the "switch" bits and the
"pins" are reversed; this means that TO MAKE A BIT A LOGICAL 1, THE SWITCH
NEEDS TO BE IN THE DOWN POSITION. The "down" position means the little white
switch is on the side where the little numbers (1-8) are labeled on the
switch casing, the LEFT if you have the board oriented so that you can read
the "SW3" label underneath the switch (long way up with the RJ45 on the
right side).

So, for example, to do PCI with no auto init, switches 1-4 (using the little
numbers on the side of the switch casing to index switches) corresponding to
the BM bits should look like this (where XXXXX is the white switch, and
_____ is blank space

1. XXXXX  _____  (LEFT  = DOWN = PIN VALUE "1")
2. _____  XXXXX  (RIGHT = UP   = PIN VALUE "0")
3. XXXXX  _____  (LEFT  = DOWN = PIN VALUE "1")
4. XXXXX  _____  (LEFT  = DOWN = PIN VALUE "1")

By the way, we have the other switches as follows:

5. LEFT
6. LEFT
7. LEFT
8. RIGHT

With the switches set this way, and external 5V power disconnected, and
board in PCI slot, I was able to bring up my Fedora box and then do "lspci"
and see the TI board enumerated as a PCI device.

I am still working on getting the actual booting working, but am almost
there...

Steve

Thursday, October 21, 2010

 

1080p at 60 fps H.264 Decode or 8-Channel D1 Encoding with TI DaVinci Video Processor

http://videsignwire.com/1080p-at-60-fps-h264-decode-or-8-channel-d1-encoding-with-ti-davinci-video-processor/

1080p at 60 fps H.264 Decode or 8-Channel D1 Encoding with TI DaVinci Video Processor

TI’s 1 GHz DM6467T is a single-chip processor that enables networked digital video applications to decode high-definition (HD) H.264 1080p at 60 frames per second.
By Cliff Roth

Page 1 of 1
Video/Imaging DesignWire
(2/11/2010 12:23:12 AM)
Texas Instruments has introduced the TMS320DM6467T, a new DaVinci video processor designed to meet the demand for increased digital video quality, higher resolution and faster frame rates for video communications and security applications. The 1 GHz DM6467T is a single-chip processor that enables networked digital video applications to decode high-definition (HD) H.264 (1080p at 60 frames per second (fps)). The processor also provides optimized imaging support and the advanced video processing capabilities required to support up to eight simultaneous channels of H.264 D1 real-time video encoding (with a third party solution).
The DM6467T offers developers the ability to create multi-format video supporting multiple channels, with what TI says is superior compression technology and advanced processing capabilities such as analytics. It also lowers system cost while increasing system functionality and offering flexibility with a programmable on-chip digital signal processor (DSP). Designed to improve performance in every capacity, TI says the DM6467T combines 37 percent higher processing performance than the DM6467 with improved video coprocessors and higher speed peripherals to create a scalable architecture for video surveillance, HD video conferencing, multi-format digital media adaptors, real-time digital video recorders (DVRs) and digital signage (www.ti.com/dm6467t-prprod).
  DM6467T key features and benefits:
  --  The combined performance of a 1 GHz C64x+(TM) DSP and 500 MHz
      ARM926EJ-S
  --  Supports H.264 1080p decoding up to 60 fps, a well as eight
      simultaneous channels of H.264 D1 real-time video encoding with
      solution from a third party
  --  Higher core speed with flexible DSP programmability provides
      sufficient processing capacity to implement advanced video processing
      algorithms and functions
  --  Faster DDR2 interface at 400 MHz facilitates higher bandwidth for more efficient video throughput
  --  Two integrated 500 MHz High Definition Video/Imaging Co-Processors
      (HD-VICP) accelerate video processing and increase application
      efficiency
  --  Faster 150 MHz video port interface supports 1080p capture/display
  --  PCI bus increased to 66 MHz for faster data transfer
  --  Ready for use, off-the-shelf video analytics function libraries are available now
  --  Hardware and software compatibility with the TMS320DM6467, announced in December 2007, enables easy migration to the DM6467T
  --  High level of integration further reduces system cost, complexity,
      power and size
TI announced that the TMS320DM6467T is now available for sampling and is priced at USD $106.95 in quantities of 1,000 units (1ku). The TMDXEVM6467T evaluation module (EVM) comes complete with software, tools and demonstration applications enabling developers to evaluate video processing algorithms and chip performance as well as immediately begin application development. Board support software includes an Open Source Linux Git, DSP/BIOS Link and frameworks for audio/video and codec engines. The DM6467T EVM is available for USD $1,995 and is software and hardware compatible with the DM6467 processor and EVM. TI will also be offering a TMDXSDV6467T daughter card for backward display compatibility with the DM6467 evaluation module, sold separately.
Find out more about the DM6467T by visiting the links below:
  --  TMS320DM6467T processor product folder:
      http://www.ti.com/dm6467t-prprod
  --  TMS320DM6467T processor data sheet:
      http://www.ti.com/dm6467t-prdatasheet
  --  TMDXEVM6467T tool folder: http://www.ti.com/dm6467t-prtools

 

H.264 1080p@30 BP Encoder on DM6467 User’s Guide

http://focus.ti.com/lit/ug/sprugn8/sprugn8.pdf

 

video_encode_io1_dm6467

/video_encode_io1_dm6467.x470MV -c h264enc -i ../../clips/ToysAndCalendar_FullHD.yuv -r 1920x1088 -o test.264

 

video_encode_io1_dm6467

======== Building linux/video_encode_io1_dm6467 ========
Configuring application using linux/video_encode_io1_dm6467.cfg

making package.mak (because of package.bld) ...
generating interfaces for package video_encode_io1_dm6467_config (because package/package.xdc.inc is older than package.xdc) ...
configuring video_encode_io1_dm6467.x470MV from package/cfg/video_encode_io1_dm6467_x470MV.cfg ...
Info: Configuring engine named 'encode' from the info file for DSP server './encodeCombo.x64P',
          located in package 'ti.sdo.servers.encode':
      Target app will look for the DSP server image 'encodeCombo.x64P' in its current directory.
      Adding codec 'h264enc' (ti.sdo.codecs.h264enc.ce.H264ENC), scratch groupId=0
      Adding codec 'aacheenc' (ti.sdo.codecs.aacheenc.ce.AACHEENC), scratch groupId=1
      Adding codec 'g711enc' (ti.sdo.codecs.g711enc.ce.G711ENC), scratch groupId=1
Info: Reading DSP memory map from the info file for DSP server './encodeCombo.x64P',
      located in package 'ti.sdo.servers.encode':
    will link with ti.sdo.dmai:lib/dmai_linux_dm6467.a470MV
    will link with ti.sdo.ce.image1:lib/release/imgdec1.av5T;lib/release/imgenc1.av5T
    will link with ti.sdo.ce.image:lib/release/image.av5T
    will link with ti.sdo.ce.video2:lib/release/viddec2.av5T
    will link with ti.sdo.ce.video1:lib/release/viddec1.av5T;lib/release/videnc1.av5T
    will link with ti.sdo.ce.video:lib/release/video.av5T
    will link with ti.sdo.ce.audio1:lib/release/auddec1.av5T;lib/release/audenc1.av5T
    will link with ti.sdo.ce.audio:lib/release/audio.av5T
    will link with ti.sdo.ce.speech1:lib/release/sphdec1.av5T;lib/release/sphenc1.av5T
    will link with ti.sdo.ce.speech:lib/release/speech.av5T
    will link with ti.sdo.ce:lib/release/ce.av5T
    will link with ti.sdo.ce.alg:lib/release/Algorithm_noOS.av5T;lib/release/alg.av5T
    will link with ti.sdo.ce.ipc.dsplink:lib/release/ipc_dsplink_6467.av5T
    will link with ti.sdo.ce.osal.linux:lib/release/osal_linux_470.av5T
    will link with ti.sdo.fc.acpy3:lib/release/acpy3.a470MV
    will link with ti.sdo.fc.memutils:lib/release/memutils.a470MV
    will link with ti.sdo.fc.dman3:lib/release/dman3Cfg.a470MV
    will link with ti.sdo.ce.node:lib/release/node.av5T
    will link with ti.sdo.ce.utils.xdm:lib/release/XdmUtils.av5T
    will link with ti.sdo.utils.trace:lib/release/gt.a470MV
    will link with ti.sdo.linuxutils.cmem:lib/cmem.a470MV
    will link with dsplink.gpp:export/BIN/Linux/DAVINCIHD/RELEASE/dsplink.lib
cl470MV package/cfg/video_encode_io1_dm6467_x470MV.c ...
Compiling appMain.dm6467.o470MV from appMain.c..
Compiling linux/main.dm6467.o470MV from linux/main.c..

Linking linux/video_encode_io1_dm6467.x470MV from appMain.dm6467.o470MV linux/main.dm6467.o470MV linux/video_encode_io1_dm6467_config/linker.cmd /home/samyu/dvsdk_2_00_00_22/dmai_1_20_00_06/packages/ti/sdo/dmai/lib/dmai_linux_dm6467.a470MV..
make[3]: Leaving directory `/home/samyu/dvsdk_2_00_00_22/dmai_1_20_00_06/packages/ti/sdo/dmai/apps/video_encode_io1'

 

Useful TI support:

H.264 encoder for 1080i on DM6467T DVEVM with DVSDK 3.10 and Arago

http://e2e.ti.com/support/embedded/f/354/p/41767/146785.aspx#146785

h264fhdvenc in DVSDK 3.10!

 

the new h264fhd encoder on DM6467

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/5931/22025.aspx#22025




Wednesday, October 20, 2010

 

DVSDK 2.0: Booting via TFTP (with 2.0 Kernel) Using NFS File System

bootU-boot settings:

DM6467 EVM # printenv

bootdelay=3
baudrate=115200
nfshost=192.168.1.2
rootpath=/home/xxxx/workdir/filesys
gateway=192.168.1.1
bootfile=uImage
ipaddr=192.168.1.7
serverip=192.168.1.2
stdin=serial
stdout=serial
stderr=serial
ethaddr=00:0e:99:02:b5:ca
bootcmd=ping 192.168.1.2;tftp 80700000 uImage-dm6467;bootm
bootargs=console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/home/samyu/workdir/filesys,nolock mem=120M davincihd_capture.channel0_n4



setenv bootcmd 'ping 192.168.1.2;tftp 80700000 uImage-dm6467;bootm'
setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=120M davincihd_capture.channel0_numbuffers=4
saveenv
boot

 

DVSDK 2.0 Kernel: uImage-dm6467

@
~/dvsdk_2_00_00_22/PSP_02_00_00_140/bin/dm6467


cp uImage-dm6467 /tftpboot/

Test if it is working:

==============================================
DM6467 EVM # setenv ipaddr 192.168.1.7   
DM6467 EVM #
setenv serverip 192.168.1.2 
DM6467 EVM #
saveenv                      Saving Environment to NAND...            
Erasing Nand...Writing to Nand... done   
DM6467 EVM # tftp 80700000 uImage-dm6467  TFTP from server 192.168.1.2; our IP address is 192.168.1.7
Filename 'uImage-dm6467'.                                 
Load address: 0x80700000                                  
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ################################################################
done                                                                     
Bytes transferred = 1988588 (1e57ec hex)                                 
DM6467 EVM # bootm                                                       
## Booting image at 80700000 ...                                         
   Image Name:   Linux-2.6.18_pro500-davinci_evm-                        
   Image Type:   ARM Linux Kernel Image (uncompressed)                   
   Data Size:    1988524 Bytes =  1.9 MB                                 
   Load Address: 80008000                                                
   Entry Point:  80008000                                                
   Verifying Checksum ... OK                                             
OK                                                                       

Starting kernel ...

Uncompressing Linux................................................................................................................................... done, b.
Linux version 2.6.18_pro500-davinci_evm-arm_v5t_le (x0029463@aspbuild11) (gcc version 4.2.0 20070126 (prerelease) (MontaVista 4.2.0-3.0.0.0702771 2007-03-10))9
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177  

 

TI support post: NFS root does not work with DVSDK 2.0 / DM6467

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/5878/121145.aspx

"
as suggested above, using ping command from u-boot prompt should allow you to work-around this problem until our next software release fixes this issue.
you can try something similar to the command below if you want to automate the this work-around.
bootcmd=ping 192.168.0.25;nboot 80700000 0 a0000;bootm
"

 

Davinci HD EVM DM6467 support page

http://support.spectrumdigital.com/boards/evmdm6467/revf/

Sunday, October 17, 2010

 

DM6467 EVM Software Setup

Software Setup

The latest DVSDK release can be downloaded from here. For Monta Vista Linux distribution, use DVSDK 2.00, which is production quality for DM6467. For community Linux, use DVSDK 3.10, which is currently production quality for DM6467T.
The GSG: DM6467 DVEVM Software Setup page covers how to install the Linux tools, (DV)SDK software, and Linux Support Package for the DM6467/DM6467T DVEVM, assuming a Ubuntu 8.04 LTS (or similar) distribution.
Note: To use DM6467 on community Linux see the DM6467 platform setup in DVSDK 3.10 page.

 

Wiki: DM6467 Getting Started Guide

http://processors.wiki.ti.com/index.php/DM6467_Getting_Started_Guide

 

Additional Documents and Resources

[From the Getting Started Guides]

Additional Documents and Resources
You can use the following sources to supplement this user’s guide:
❏ Spectrum Digital website:
http://support.spectrumdigital.com/boards/evmdm6467
❏ TI Linux Community for DaVinci Processors:
http://linux.davincidsp.com
❏ TI DaVinci Software Updates: http://www.ti.com/dvevmupdates
❏ TI DaVinci Technology Developers Wiki: http://wiki.davincidsp.com
❏ Codec Engine Application Developer's Guide (SPRUE67)
❏ Other PDF documents included with the DVEVM kit
❏ Section 4.11 lists documentation in the DVSDK software installation.
❏ SoC Analyzer Help menu

 

TMS320DM6467 DVEVM v2.0 Getting Started Guide

http://focus.ti.com/lit/ug/spruf88d/spruf88d.pdf

Thursday, October 14, 2010

 

Experiments: Amazon.com Banner


 

TI DM6467 Analysis

http://blog.radvision.com/voipsurvivor/2009/11/16/hd-video-chip-case-study-ti-dm6467-analysis/


This post is part of our Designing Hardware for HD series. Be sure to check it out!
[While I've done my best to cover the various options for HD video chips and the trends in the market, I also wanted to take a deeper dive and explain how we analyze such a chip. In this case, the TI DM6467, which we have selected as the basis for our BEEHD product. For that, I asked Amit Klir, our resident video architecture expert, to share his insights. I do warn you though  some of the information here is quite low-level even for me.]
I’ve been working on the TI DM6467 for a while now, as part of our VC240 HD (video telephony LCD monitor) project. My role in the project is taking care of the audio and video codecs’ quality and the architecture of the media system we have built into the device, on top of the chip itself.
The DM6467 is a system-on-chip for multimedia applications. From an architecture point of view, it splits the media processing and the application into two separate processors: media processing is targeted to run on a powerful DSP that comes coupled with video accelerators, while the application is targeted to run on an ARM host processor.

TI DM6467 functional block diagram (PDF)
I won’t go over the whole set of peripherals and devices in the block diagram above, but I do want to touch the areas that I think would interest you the most, especially if you are in a search for a video chip.

EVM

The DM6467 has an EVM (evaluation board), which you can use to start the project without having to design and manufacture the hardware before the programmers start doing their thing. This is possible, as the DM6467 has a host of its own.

Host

The DM6467 comes with a 300 MHz ARM 9 host processor. TI was kind enough to provide MontaVista Linux out of the box for it, with an almost full set of driver packages to start with.
We have based our solution on top of the TI offering, although at times we had to “tweak” some of the drivers and the kernel itself.

DSP

The DSP on the DM6467 is a C64+ core – a technology that TI is using in a lot in other system-on-chip solutions of theirs, making it quite robust. It is fully programmable, allowing the use of it for a lot of tasks that are not related specifically to video coding. We actually use the DSP to deal with the audio coding in parallel.
In a way, the DSP itself doesn’t run the video coding engine, but acts as the controller of the process, which runs on the various accelerators. It is what allows the DM6467 to achieve HD video coding.
To access the video accelerators, the DSP uses the DMA engine for rapid data transfer, and interacts with small ARM 968 processors that control the accelerators.
Some other cool features the DSP has are the ability to handle very large vector operations and its advanced cache system.

Accelerators

As mentioned already, the DM6467 comes with a set of video accelerators that are designed to meet specific video processing challenges.

VICP

Video coding on the DM6467 is done in the VICP – the High Definition Video Imaging Co-Processor. There are two of those in the DM6467 – one for encoding and the other for decoding. This separation allows simultaneously encoding and decoding in a single chip.
These accelerators where designed to deal with the CPU-intensive video coding tasks required by H.264 and other codecs. These include motion estimation, intra-prediction, mathematical transforms, quantization, loop filtering and syntax coding.

VDCE

The VDCE is an image co-processor which is used for specific pre- and post-processing algorithms on the video frame, such as:

DMA

The DMA engine of the DM6467 is quite a powerful one. It deals with all data transfers from/to virtually everywhere on the system (from external memory to internal one, from external memory to the VICPs, etc). This means that the DSP remains “free” of these tedious memory transfers and can be utilized for “real” processing.
As the goal is to deal with HD video, the memory bandwidth is extremely high, to the point that without the DMA engine it would simply be impossible.

Peripherals

The great thing about the DM6467, especially if you are planning on developing an endpoint device, is the fact that it comes with quite a wide range of peripherals: USB, video input and output ports, PCI, Ethernet to name a few.
These make it easier to design the hardware, when you finally get down to it.

Large ecosystem

One thing that should not be left out when selecting a video chip is the ecosystem that comes with it, usually from the chipset vendor. Another aspect of it is the user base – how many have already used the chip (or are currently using) for a similar purpose?
The DM6467 has quite a large ecosystem, which is based on the fact that it uses an ARM 9 as host and a C64+ DSP. The C64+ DSP is one of the most popular DSPs out there, and has been in the market for a few years already. So additional tools and modules that you might need down the road – such as encryption algorithms, audio codecs, image processing libraries and the likes – are probably already available from 3rd party companies.

What Else Is Needed?

While this might seem perfect, there are areas where the DM6467 is going to cause you some pain, if you are planning to use it for an HD videophone product.
Here are a few, which might – sadly – require you to add additional hardware devices in your hardware design:

Only 2 Video Ports

The DM6467 comes with only two video ports. This allows connecting a camera from one side and a display from the other (or other devices). It doesn’t leave a lot of room for additional inputs and outputs that might be required in a full videophone product.

OSD

While the DM6467 has its own On Screen Display (OSD) module, it supports only 2 bits-per- pixel. That’s a range of 4 colors for the OSD, which just doesn’t cut it for a good user interface. It means that you will need to find another solution for your OSD, external to the DM6467.

Upscaler

The DM6467 provides a hardware-based down-scaler, but not an up-scaler. You will either need to implement it in software on the DSP, or do it on an external device. And you will definitely need to upscale once you get video in lower resolutions.

Muxer

There is no hardware acceleration available in the DM6467 for comprising the video layout on the screen (combining several video images into a single display).

No PCI Express Interface

While you might not need a PCI Express interface, but it might come handy at times – especially if the way you plan to deal with the OSD, Upscaling and muxing is by means of moving the data to and from the DM6467 to external devices doing these operations by way of PCI Express.
The fact that there isn’t such an interface means that some architecture solutions will simply be harder to implement (if not impossible altogether).

Limited USB and PCI

If you plan on using the USB or PCI interfaces that come with the DM6467, you should check their specs closely. The way they are designed, and especially their memory management, doesn’t allow for high throughputs – at given use cases they provide a lot less bits per second than you need.

Limitations Aside – DM6467 is a Solid Choice

While this may seem to a bit harsh, it still is one of the best solutions on the market today, and for good reasons:
I’d say that this is why this chip is so popular by video conferencing vendors.

This page is powered by Blogger. Isn't yours?

Subscribe to Comments [Atom]