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.

How does one determine if the DM6446 DSP is operational? is the error ARM or DSP related?

What is the easiest method of determining if the DSP is up and running?

I have the SDK2 "decode" demo running on a MV5 2.6.18 EVM . It runs fine.

I am bringing up a  DM6446 target board that is also running the same 2.6.18 level kernel (though a different build because of the existance of BBN NAND).

When I try to run the SDK2 decode demo on it, I receive the following error:

#
# ./loadmodules.shCMEMK module: built on Sep  7 2009 at 09:13:07

  Reference Linux version 2.6.18
  File /home/jcw/tigerlabs/dvsdk_2_00_00_22/framework_components_2_23_01/fctools
/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
ioremap_nocache(0x87600000, 10485760)=0xc8000000
allocated heap buffer 0xc8000000 of size 0x2c000
cmem initialized 5 pools between 0x87600000 and 0x88000000
dsplinkk: no version for "struct_module" found: kernel tainted.
DSPLINK Module (1.61.03) created on Date: Aug 31 2009 Time: 20:00:30
#
#
# ./decode -k -v /usb/demo/data/videos/davinci.m2v
Decode demo started.
Error: Failed to create display device
Error: Failed to create Ir Object

#
# ./decode -k -a /usb/demo/data/sounds/davinci.aac
Decode demo started.
Error: Failed to create Ir Object
Error: Failed to create audio device

#

The two possibilities that I see are that:

  1. the kernel build we have on the target is missing something that the decode demo needs
  2. the codec server is not being called correctly ( this same decode app and codec works on the EVM build though)
  3. the dsp is not running (we have never successfully run any application that would use it, this is a new target board design)

How do I eliminate the latter as a variable?

Does the above error indicate a DSP error or an ARM error?  The DSP codec seems to get "opened", does that imply the DSP is running?

 

 

 

  • From the error log, it appears it failed to create the Display device, meaning the call to open(/dev/fb/x) where x can be any number from 0 thru 3 in DM6446 probrabbly failed.  The first thing I would check is to see if these devices exist in your target board (e.g. type command 'ls /dev/fb/*' ).  If these do not exists, this means the display driver did not load correctly during boot process, you can look thru boot log to spot any errors....

    The call to Engine_open function takes DSP out of reset and loads DSP image onto DSP.  You can verify this is working by connecting to DSP via CCS (one way of doing this); you should only be able to connect when DSP is out of reset.  FYI, before the demo exits, it calls on Engine_close which puts DSP back in reset, saving you power consumptiion.  I do not think this is leading to the error you are seeing above; I believe the above error has to do with the display driver not loading correctly.

  • Juan, I agree there may be something funky with our frame buffers. Though they do get set up:

    Console: switching to colour frame buffer device 90x30
    davincifb davincifb: dm_osd0_fb: 720x480x16@0,0 with framebuffer size 675KB
    davincifb davincifb: dm_vid0_fb: 720x480x16@0,0 with framebuffer size 2500KB
    davincifb davincifb: dm_osd1_fb: 720x480x4@0,0 with framebuffer size 675KB
    davincifb davincifb: dm_vid1_fb: 720x480x16@0,0 with framebuffer size 2500KB
    davincifb davincifb.0: dm_osd0_fb: Failed to obtain ownership of OSD window.      (this version of the MV5 seems to always give this warning)

    # ls /dev/fb
    0  1  2  3

    # cat fb
    0 dm_osd0_fb
    1 dm_vid0_fb
    2 dm_osd1_fb
    3 dm_vid1_fb

    The audio driver seems to be having the same problem as the video.

    We have had an arm-based audio (aplayer) and video (fim) player playing an image and sound, so I know the target external hardware works, but that was on a different kernel level.

    I can throw up an osd image by copying it to /dev/fb/2 .

    I had tried to load the DSP gel using an emulator, but the DSP target was being held in reset.

  • Hi,

    You can try enabling the linux penguin logo option in menuconfig and see if its being displayed correctly during bootup.

    Also you can use fbtest utility - http://wiki.davincidsp.com/index.php/Fbtest to check the display on the frame buffer devices.

    Thanks,

    Prathap.

  • Can you make sure the u-boot bootargs match what is documented in this DVSDKs Getting Started Guide?  For example, if you are using DVSDK_2_00_00_22, can you ensure your bootargs have the following window sizes (video=davincifb:vid0=0,2500K:vid1=0,2500K:osd0=720x576x16,2025K).