Jacob Beningo


Jacob Beningo is an embedded software consultant, advisor and educator who currently works with clients in more than a dozen countries to dramatically transform their software, systems and processes. Feel free to contact him at, at his website, and sign-up for his monthly Embedded Bytes Newsletter here.

Jacob Beningo

's contributions
    • In a previous article, I wrote about how developers can speed up their application code by executing time sensitive functions in RAM rather than from flash. You might be wondering if you were to make such an adjustment, what would the performance change be, and how could you measure it?

    • Flash provides an inexpensive and fast storage medium for MCU-based applications, but when execution time and deterministic behavior are paramount, developers need to perform these three steps to place critical functions into RAM for an extra speed boost.

    • Exploring the latest security, IoT and artificial intelligence technologies driving innovation in embedded systems.

    • Modifying Amazon FreeRTOS demonstration code for publishing messages to Amazon Web Services to support multiple topics and messages turns out to be pretty straight forward.

    • Amazon FreeRTOS simplifies cloud integration but the documentation doesn’t provide a clear picture on what is going on. In this post, we take a peek inside Amazon FreeRTOS to see what we can expect from this Amazon Web Services offering.

    • Battery life is one of the last thing on the minds of developers rushing to complete their designs but there are a number of things they can do throughout their development cycle to properly manage devices energy consumption.

    • There are several different ways you can measure the difference. 1) If you are using an RTOS, you could use Tracealyzer, System View, etc 2) If you are running bare-metal, the tried and true toggle an I/O pin before you call the function and after. Do that for flash execution and ram and use a scope or logic analyzer to measure the difference. 3) Setup a timer to measure the execution time Thanks for the question.

    • Thanks for the comment. I also highly suspect that the code just polls instead of being event driven. I'm planning to do some follow-ups that will dig deeper into the code and hopefully provide developers with some more insights into how the application behaves and what changes might be warranted for a production intent system. Thanks for the insights!