Electronic – Processor Budgeting

cpumicrocontrollermicroprocessorprocessing

How do I figure out if a microcontroller has enough processing speed to handle particularly "intensive" tasks?

Specifically, I am a university student looking to design a robot that uses OpenCV and a LADAR. Our team has an ODROID X2. I figure the ARM is fast enough but how can I make sure?

Best Answer

Oftentimes performance is not limited by the pure processing speed of the CPU, but instead other bottlenecks in the system - RAM, Flash, Serial I/O, etc. This becomes more of an issue with more complicated peripherals. While you may be able to theoretically compute processor load, this is very, very difficult. The right way to do this is to use benchmarking. Test how much your LIDAR interface and other interfaces require, and also (this is very important) continue to test throughout the development process so if processor usage spikes after a certain feature is added then you can go back and figure out whether there's a better way.

At the end of the day though, Hardware is cheap - when in doubt go big.