Electronic – arduino – TIVA C series launchpads for arduino programmers

arduinodspstellaris

I have bought a Tiva C series Launchpad TM4C1294NCPDT by TI and wish to do a project on face recognition. I will soon get a DSP EVM by TI, but still confused which one to choose (MAY be the one with 32 bit arch.)

Actually, i have quite good experience using arduino boards (and programming them in C and assembly languages).
but shifting from arduino to TIVA C and DSP's is really difficult, please help me, AND GUIDE ME.

Zeek clarified:

Ok, Being Specific these are my problems..

  • I am not getting the layout of the LaunchPad.
  • I want to do the face recognition, will the processor and DSP give me enough computational power?
  • I need to connect a camera (a 5MP camera to DSP) and want to control it using the MCU (TIVA-C series) how should I do it.

Best Answer

There seems to be several different dimensions to the obstacles.

Q2: You are concerned about having enough computer power. This is a 'killer' problem to have. It may be genuinely infeasible to solve it on the equipment you have identified.

Some digital cameras use processors which are comparable to the TIVA's, and they do some still-image processing okay. However, I believe they must have plenty of memory (RAM). Any form of complex image processing will become either unacceptably slow, or practically impossible without enough memory.

The TIVA-C Launchpad wikipedia page says "32 Kbyte RAM". That is approximately 0.2% of a 5Mpixel image. Unless you have a very, very clever algorithm, I would assume it is practically impossible.

The TMS320C5515 DSP Evaluation Module uses the TMS320C5515 DSP. It has 320K, 10x more RAM than the TIVA C. That is still only 2% of an image from a 5Mpixel camera.

I would expect to have at least 2x more memory than a single image requires, plus a bit more space for the program to do work. Any less would very likely be too hard.

Have you prototyped your face recognition project on a computer system with plenty of computer power, and got it to work? Or have you very strong evidence that it is feasible?

For example is the project on a multi-core Intel, AMD, or high-end ARM, running an OS that you are familiar with. Once you have a working system, you should be able to get a reasonable measure of how much computer power is required.

I suggest this because their is a lot of evidence that trying to develop an application for a computer with barely enough computer power takes almost exponentially more time and effort than starting with a computer with 'embarrassingly too much power'. Do not be tempted to over complicate your hardware approach. Stick to single chip MCU or SoC solutions.

Once you know the project is feasible, then tackle the next part. Please update your question with more information about your experience. My current view is Funkyguy was offering good advice on how to transition to a more complex system like TIVA from Arduino. Essentially the advice was: make the transition in more than one step. Move closer to the hardware. Become confident with new tools. Travel a path which has good forum support.

Edit:
How would I choose between TIVA and the DSP?

Initially, I would not bother. Instead I'd try to get the project working on a system with 'embarrassingly too much power'. That could potentially teach me more about the project, and how to do it than anything else I could do.

I don't think there is a lot to choose between TIVA-C and DSP EVM. The DSP appears to be more computer power than the TIVA, and much more memory. Memory is likely "killer" and I don't think either has enough to make face recognition easy.

I might use a Raspberry-Pi (R-Pi) or BeagleBone Black (BB). Both have 0.5GB RAM. You could use 200MB in your app., and hold many images in memory while running your algorithm. I think both have camera daughterboards, though I think the R-Pi camera is better. Both have SD memory cards, so you could have GB's of storage holding images. In which case, you might not need a camera initially, and having lots of stored images would make testing easier.