tags:

views:

26

answers:

1

Hey guys

Basically I'm working on a model of an automated vacuum cleaner. I currently have made software simulation of the same. How do I figure out which SOC or SDK board to use for the hardware implementation? My code is mostly written in C. Will this be compatible with the sdk provided by board manufacturers? How do i know what clock speed,memory etc the hardware will need?

I'm a software guy and have only basic knowledge about practical hardware implementations. Have some experience in programming the 8086 to carry out basic tasks.

+3  A: 

You need to perform some kind of analysis of the required performance of your application. I'm certainly no expert in this, but questions that come to mind include:

  • How much performance do you need? Profile your application, and try to come up with some estimate of its minimum performance requirements, in e.g. MIPS.
  • Is your application code and/or data going to be large? Do you need a controller with 8 KB of code space and 100 bytes of RAM, or one with 1 MB of code and 128 KB of RAM? Somewhere inbetween? Where?
  • Do you need lots (tens) of I/O channels? With what characteristics? Is it enough with just basic digital I/O, a handful of pins, or do you need 20 channels of 10-bit A/D conversion? PWM? Communications peripherals?

Followups:

  • Manufacturers will of course make sure that their customers can build and run software on their boards. They will provide either free compilers, or (since embedded devlopment is an industry and a very large market, after all) sell them as tools.
  • There are free development environments, often based around GNU's gcc compiler, for many low-end (and of course many medium and high-end, too) architectures.
  • You could, for instance, look through Atmel's range of AVR 8-bit controllers, they're very popular in the hobbyist world and easy to port C code to. Free compilers are available, and basic development boards are cheap.
unwind
Wow.. Thanks for that. Are there any free tools I can use to do all this?Fine, so Now I've figured out my requirements. How do I go about porting the code to the board? Will the manufacturers provide their own compilers for this?
Ram Bhat
Thanks again! Answers most of my questions!
Ram Bhat