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.

A cheap way to develop for DM355

The DM355 is a great chip and the price is great.  However, I am wondering, what is the cheapest (but still practical) setup to be able to do useful development.  I am guessing that the EVM is a good start.  What about other tools.  Some developement tools and JTAG emulators are pretty pricey ($1000+).  Is there a cheap way to go geared for a hobbyist or someone who does not have a lot of cash to burn?

 

Thank you,

--

A

  • Hi,

    For JTAG you can use OpenOCD (it supports the DM355 just fine if you use the right EMU settings).

    For Kernel use the Davinci GIT kernel (which has support for DM355).

    For user space and toolchain use OpenEmbedded.

    Diego Dompe

    RidgeRun Engineering.

  • When you purchase the EVM ($495 if I recall correctly), you get access to our DVSDK software bundle and update site for any future DVSDK releases.  The DVSDK includes all you need to develop under a Linux based system, including toolchain (compiler, linker...), Linux kernel (DM355 hadrware drivers...), Linux filesystem (basic system tools, editors, DM355 demos), boot loader, gdb and kgdb support... (used for debugging). 

    In case you are not familiar with the Linux world, most fancy commercial IDEs (e.g. MontaVista Devrocket...) run on top gdb and kgdb.  gdb uses ethernet or serial port to debug user applications and kgdb serves a similar purpose at the kernel level.  If you do not want to pay extra money for a commercial IDE, there are also free open source debugger (not as fancy) such as DDD (see http://focus.ti.com/lit/an/spraap9/spraap9.pdf for an intro).  These solutions do not require expensive JTAGs (they use ethernet or serial port).

    That said, there are also JTAG solution as Diego suggested (for additional $$) that may make your development easier.  There are even other commercially supported OS (for additional $$) if you do not like Linux.  Since you are looking to minimize expenses, I will not go into these.  Please feel free to send any follow up questions you may have. 

  • Thank you for the wonderful quick and informative answers.  This is great.

    I do have a few other questions that may sound very primitive to the experienced reader so please bear with me.  I am familiar with Linux ( I have used and installed it on pc's but have never developed or compiled it).  I have also used ddd but not for cross compilation.

    Can I used a JTAG connector (such as Olimex Wigger) to flash the device and install all that is needed? Bootloader, kernel and file system?

    If I end up choosing the free open source Davinci GIT kerne, how hard is it to tap into the coprocessor to encode a jpeg for example?  Is it a system or function call or do I have to write the jpeg algorithm from scratch?

     

    Thanks again for your time and help.

     

    Best,

    -- A

     

  • I am not familiar with Olimex Wigger, but I would guess you can use it to flash the device (you can with other JTAGs).  The challenge here may be having the right program to do the flashing; is such a program available to flash DM355 EVM via Olimex Wigger (including source code if you use other flash parts in your board design)?  The other challenge would be the Linux file system since it has dependancies in file system type (JFFS2, YAFFS,...) and hence would make the flashing program all that more complex; for this reason, flashing of the Linux file system is more commonly done via Linux command prompt from within the OS.

    DVSDK software includes codec engine framework which has defined APIs for accessing JPEG hardware codec; there is no need for you to write your own jpeg algorithm, this is included already.

  • I've been trying to get the Olimex USB JTAG pod and OpenOCD v0.1.0 to work with the DM355 eval board.

    I had been using this wiki page as a guide (which is based on the archived listserv post quoted above)...
    http://wiki.davincidsp.com/index.php?title=Debugging_on_DaVinci_using_Olimex_dongle

    Likewise, I was using this page for advice on installing OpenOCD on Ubuntu v8.10:
    http://openhardware.net/Embedded_ARM/OpenOCD_JTAG/

    However, the problem appears to be that the DM355.cfg offered on davincidsp.com uses obsolete syntax.  In particular, this is what I get using the DM355.cfg data provided with OpenOCD v0.1,0.  Might anyone have tips for updating DM355.cfg syntax?

    $ sudo openocd -f DM355.cfg
    Open On-Chip Debugger 0.1.0 (2009-01-24-18:18) Release


    BUGS? Read http://svn.berlios.de/svnroot/repos/openocd/trunk/BUGS


    $URL: https://kc8apf@svn.berlios.de/svnroot/repos/openocd/tags/openocd-0.1.0/src/openocd.c $
    OLD SYNTAX: DEPRECATED - translating to new syntax
    jtag newtap CHIP TAP -irlen 4 -ircapture 0x1 -irvalue 0x0
    Example: STM32 has 2 taps, the cortexM3(len4) + boundryscan(len5)
    jtag newtap stm32 cortexm3  ....., thus creating the tap: "stm32.cortexm3"
    jtag newtap stm32 boundry  ....., and the tap: "stm32.boundery"
    And then refer to the taps by the dotted name.
    NEW COMMAND:
    OLD SYNTAX: DEPRECATED - translating to new syntax
    jtag newtap CHIP TAP -irlen 4 -ircapture 0x1 -irvalue 0x0
    Example: STM32 has 2 taps, the cortexM3(len4) + boundryscan(len5)
    jtag newtap stm32 cortexm3  ....., thus creating the tap: "stm32.cortexm3"
    jtag newtap stm32 boundry  ....., and the tap: "stm32.boundery"
    And then refer to the taps by the dotted name.
    NEW COMMAND:
    OLD SYNTAX: DEPRECATED - translating to new syntax
    jtag newtap CHIP TAP -irlen 6 -ircapture 0x1 -irvalue 0x0
    Example: STM32 has 2 taps, the cortexM3(len4) + boundryscan(len5)
    jtag newtap stm32 cortexm3  ....., thus creating the tap: "stm32.cortexm3"
    jtag newtap stm32 boundry  ....., and the tap: "stm32.boundery"
    And then refer to the taps by the dotted name.
    NEW COMMAND:
    Runtime error, file "DM355.cfg", line 24:
        bad option "arm926ejs": must be one of count, create, current, names, number, or types

  • Hi,

    I am new to this forum, and to the developement with DM355. Me and my team are in the process of evaluating the DM355 for an IP dome. We did purchase the DM355 EVM. Following are the questions i have:

    1. What is the difference between the linux kernel provided with the kit (Montavista Linux 4.0.1) and the full Montavista commercial licensed version (including DevRocket I suppose) they offer?

    2. Are there any other alternate IDE's that i can use in Linux, to support application development & Driver Development with the embedded Linux kernel provided with the Development Kit?

    Thanks a lot for ur response.

    Roshni

  • 1) Free MV Linux distro included with DVSDK consits of linux kernel + TI specific patches (e.g. drivers for DM355 perihperals)

    2) DVSPB software package adds MV License for one year, as well as acces to MVZone.  MVzone contains linux kernel + TI specific patches + non-TI specific patches (could include patches that fix general system Linux issues); in additional, MV Zone also gives you access to DevRocket as you pointed out.

    3) Many people use ddd (GUI front end to gdb), but I do not know if I would call this an IDE.  I suspect there are free open source IDEs in the vast Linux world, but I do not know any of the top of my head that I can recommend.

  • Thanks Juan, that was very helpful.

  • Thanks,

    Diego Dompe Sir

    I am going to try your option. I will let you know it works or not.

    Bye