I am working on a project where i have to log data of many Analog and Digital sensors, GPS with lots of processing Algorithms. I am in a hunt to select a Microcontroller for my application. My question : How do i know, how much processing speed do i require for my application.? as well as How much RAM do i need for it as well.?

anybody help.

thank you

| improve this question | | | | |
  • 4
    \$\begingroup\$ By analysis of your application and its requirements. \$\endgroup\$ – Brian Drummond Oct 29 '17 at 10:12
  • 1
    \$\begingroup\$ The "lots of processing Algorithms" is quite vague specs, so the answer could be likewise vague. \$\endgroup\$ – aluis.rcastro Oct 29 '17 at 10:33
  • \$\begingroup\$ you have to get some eval boards and do some prototyping. \$\endgroup\$ – old_timer Oct 29 '17 at 13:33
  • \$\begingroup\$ First you design the system, then you pick a micro which allows you to realize that design. And by 'design' I don't mean a rough sketch with a few lines of writing. \$\endgroup\$ – brhans Oct 29 '17 at 16:52

What I did for my project (for from unfinished):

For memory usage:

  • Count for each item (global variables):
    • How many you need to store in SRAM
    • How many bytes each type cost
  • Add some extra for stack, and temporary variables
  • Check what you want to optimize

For processor speed, it's a bit trickier. You should decide what is the most performance and critical part of your program, than decide how much instructions you need to perform it against the speed you need. You could analyze this by writing the critical part and check in the assembled code the exact amount of instructions, calculate it by the clock cycle used for that instruction and sum all up.

| improve this answer | | | | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.