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.

programming DM355

Hi, I have a card TMDSEVM355, I want to implement my MPEG4 codec on this card, so I can get my source code in the ARM and the co-processor I need necessarily:
Is necessary JTAG 20 pins to make the programming arm of the card in DM355?

Is necessary JTAG 14 pins to make the programming of co-processor on the card TI DM355?

To program the ARM and the co-processor I can use the Ethernet or USB connection or serial port connection ?

What jtag is necessarily for DM355? (XDS510USB, XDS560USB)

Thanks for your answers.

ramac

 

  • We use XDS510 USB, works well

    Regarding the MPEG4 codec I am under the impression that it cannot be changed on the DM355 platform and that you would need a different DaVinci processor if you want to write you own codec.

  • You can use either of the JTAGs mentioned above, though if you do not own these already, I would not recommend getting them for DM355.  DM355 is an ARM9 based part plus dedicated MPEG/JPEG co-processor (MJCP); the MJCP is not open for programing so you are basically left with programming in ARM environment.  With respect to ARM, if you are running Linux most debugging is done via gdb debugger and most IDEs (free ones and commercial ones) run on top of gdb and allow you to debug via ethernet or serial ports  (no JTAG required).  The only time I would recommend JTAG is if you need to debug the bootloader code.

    Also, 20-pin JTAG is a standard for ARM processors and very common on ARM world; 14-pin JTAG comes from TI; you can debug using either, but 20-pin JTAG has additional functionality.  If you are considering a 20-pin JTAG specifically for debugging ARM processors, the BDI2000 is a good choice.  If you are considering a JTAG adapter which will let you debug various ARM and DSP platforms from TI, a 14-pin JTAG such as XDS510USB would be a good choice. 

    I hope this helps.

  • One thing I want to know is whether XDS510 can debug DM365 EVM uboot. Based on some descriptions for bdi2000, the jtag need some gdb tools, and configuration files.  XDS510 works with CCS, I wonder whether it has enough functions to do uboot debug.

    Thanks a lot.

  • BDI2000 is a popular JTAG for the ARM world, gdb is very common in Linux, so if you are using Linux on an ARM, then BDI2000 is a good choice.  However, please note that when it comes to debugging u-boot, gdb does not help. 

    In Linux, gdb is used for debugging user space application and kgdb is used for debugging the Linux Kernel; you can use BDI2000 JTAG with gdb, but you do not have to.  A simpler much cheaper serial or ethernet cable will work with gdb and kgdb just fine.  In fact most Linux developer will use an open source application such as DDD or DevRocket IDE to debug Linux applications.

    That said, where JTAGs become a necessity is for debugging bootloaders such as u-boot (no gdb, just raw ARM debugging); in this case BDI2000 will give you some extra features specific to ARM that XDS510 will not have.  However, XDS510 will allow you to debug ARM and DSP side of TI platforms with a single JTAG adaptor, whereas BDI2000 will only allow you to debug the ARM side (no DSP support); therefore, there are tradeoffs. 

    I started writting the following wiki which you may find helpful: http://tiexpressdsp.com/index.php/Linux_Debugging_Overview

  • BDI is NOT14 pin jtag. Can it be used on DM365 EVM.

    the XDS510 is 14 pin. Does it have software like bdigdb?

    thanks a lot.

  • Yes, DM365 EVM has 20-pin and 14-pin JTAG connectors to allow for BDI and XDS510 JTAGs.  XDS510 is primarily used via CCS IDE (no bdigdb needed).

     

  • Thank you all for your replies.

    As I mentioned, I want to implement my MPEG4 ASP codec on this card TMDSEVM355. Juan says the MPEG/JPEG co-processor is not open for programming. By reading the information before you buy this card, does not mention anything about the impossibility of co-processor programming, so I thought I could program this card.
    My questions are as follows:

    1. Is there any possibility of programming in the co-processor?

    2. How is this possible?

    3. Can I reuse a part of MPEG-4 SP codec engine that comes with the card to be able to implement my MPEG4 ASP codec on this card?.
     So, I can do the programming of the ARM processor and can use the co-processor.

    If you can not program the co-processor card, I think a card with an ARM may have been the only solution.
    4. Why sell a card where the co-processor is not open for programming?

    Thanks again for your responses.

  • Ramac,

    I know you probrably want to hear from others as well on this, but just wanted to pass more information your way.  It would be great if others can chime in as well.

    1.  As our DM355 product folder (http://focus.ti.com/docs/prod/folders/print/tms320dm355.html) specifies  MJCP is a 'fixed function co-processor', which means it only supports a given set of fixed functions which are hard-wired (e.g. MPEG/JPEG); it is not a DSP open for programmability.

    2. I am afraid it is not possible to program MJCP.

    3. You can use the MPEG-4 codec as-is, but cannot modified to create your own MPEG4 codec; of course, you are free to use ARM any which way you need to.

    4. The ARM processor without the MJCP co-processor would not be able to do MPEG4 encode/decode at the resolution DM355 can; the MJCP add value to this platform and a lower price point than if we would have placed a fully-programmable DSP in there (more gates to achieve performance equivalent to MJCP).  FYI, we do have a family of product from ARM-only (DM335) to ARM + MJCP (DM355) to ARM+DSP+ video-coprocessors (DM6446 and DM6467).  DSP is fully programmable, video co-processors are flexible co-processors for implementing video compression and decompression more efficiently than DSP (which can also be used for video compression/decompression).  video co-processors can be quite complex to program, therefore we support them via software libraries which you can use to develop your codec with.  Our family of parts if much bigger than just then ones I mentioned above, so I am sure we can find the right one to suit your needs; however, DM355 is not the one that will allow you to program your own MPEG4 algorithm on top of.

    Hope this helps.

  • Hi Juan,

    sorry for the disturb.

    I've some problems with my leopard-board: it mounts a DM355.

    I flashed UBL and u-bootloader into the NAND correctly, but It doesn't launch anything when I switch-on the board: UBL doesn't start, so I don't see any activity from the board, doesn't start the bootloader, kernel... (I think it's a problem  with RAM memory). It isn't a problem of procedure of binaries, because I launched the same procedure in another (same) board, and it works well.

    So, I need to debug the bootloader, but I haven't got a JTAG adapter.

    1)Is it possible to debug the board using a serial program or IDE?

    2)Using JTAG, which is the product that I need to debug my board?

    Thank you.

     

    Best regards.

    Lorenzo