×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Optimizing Performance in Embedded Systems Development - Emmanuel Katto Uganda

Optimizing Performance in Embedded Systems Development - Emmanuel Katto Uganda

Optimizing Performance in Embedded Systems Development - Emmanuel Katto Uganda

(OP)
Hello Eng-Tips Community,

I am Emmanuel Katto. I’m currently working on a project involving embedded systems and looking for advice on optimizing performance. Specifically, I want to understand the best approaches to improve efficiency without significantly increasing power consumption.

  • What coding practices or algorithms do you recommend for optimizing performance in embedded software?
  • Are there specific tools or methodologies for profiling and benchmarking embedded applications to identify bottlenecks?
  • How do hardware features, such as low-power modes or specialized processing units, impact the performance optimization strategies you implement?
I appreciate any insights or experiences you can share!

Thank you!
Emmanuel Katto
Replies continue below

Recommended for you

RE: Optimizing Performance in Embedded Systems Development - Emmanuel Katto Uganda

What kind of embedded system are you using? Are you running embedded Linux, for example? What kind of development environment are you using?

Some coding practices:
* Use fixed-point arithmetic instead of floating-point where precision is not critical.
* Replace computationally expensive operations with lookup tables when feasible, especially for trigonometric or logarithmic functions.

For specific tools, you need to use tools that are specific to your development environment. For example, if you use Linux, you can use gprof and Valgrind.

You can also use hardware tools like oscilloscopes and logic analyzers to measure execution times

For low-power modes, put the MCU in a low-power mode when idle and wake it up only when necessary.

RE: Optimizing Performance in Embedded Systems Development - Emmanuel Katto Uganda

Optimizations require a holistic approach; piecemeal optimization often results in poor performance overall.

Algorithmic optimization often requires multiple iterations on the algorithm and detailed code analysis; we once found a specific implementation of an application specific algorithm could be simplified by 98% by making use of intermediate results that could be used for multiple calculations further downstream. We probably spent 3 weeks on the looking for alternate implementations on the algorithm alone.

CPUs and MCUs are sometimes overpowered for the task at hand; careful algorithm analysis and optimization may reveal a simpler architecture for the processor. Sometimes, you may find that a software or firmware implementation of an algorithm can eliminate dedicated hardware, which may lower both cost and power. RISC vs. conventional processor trade offs look at things like that. Recursive algorithms often trade processor throughput for increased execution time with lower power hardware.

TTFN (ta ta for now)
I can do absolutely anything. I'm an expert! https://www.youtube.com/watch?v=BKorP55Aqvg
FAQ731-376: Eng-Tips.com Forum Policies forum1529: Translation Assistance for Engineers Entire Forum list http://www.eng-tips.com/forumlist.cfm

RE: Optimizing Performance in Embedded Systems Development - Emmanuel Katto Uganda

Optimizing performance?

"best approaches to improve efficiency without significantly increasing power consumption"

Improve efficiency is a little vague.
Are you looking to minimize power consumption?
Trying to get the greatest thruput of data?
Trying to minimize product cost?

Need to be a lot more specific on what you are trying to optimize.

More information is needed on what you want to do will get more meaningful results on how to do it. Typically a bare metal system can be optimized for power consumption better than something running a RTOS and the associated overhead. But still need to understand what your goals are first.

Jerry Twomey, Author of:
"Applied Embedded Electronics Design Essentials for Robust Systems"
https://effectiveelectrons.com/book/

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login



News


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close