Simplifying Concepts.
Accelerating Innovation.

Jacob's Blog

Jacob Beningo

CEC – Designing API’s and HAL’s for Real-time Embedded Systems

Course Overview:

Each year developing embedded software becomes slightly more complex and costly as more features and connectivity are added to systems. Developers are faced with finding ways to develop systems that increase functionality and at a minimum maintain the budget status quo. In this course, attendees will be walked through techniques for designing reusable embedded software through API’s and HAL’s. Characteristics for reusable software will be explored along with their advantages and pitfalls. Real world examples will be provided to give attendees an understanding for the spectrum that is available to them.

CECDay 1 – Developing Reusable Embedded Software

Before a developer can start developing their own APIs and HALs, they need to understand a few critical characteristics that all portable and reusable software exhibit. In this session, Jacob will dig into the details on how to write reusable code, including how to select a language subset, encapsulate, document, develop interfaces and more. Attendees will walk away understanding how to write software that can be reused.

Registration and Playback located here (May require login to access)

Day 2 – Designing API’s and HAL’s Part 1

Developers need to think a lot up front about how to develop their own APIs. In this session, Jacob will discuss important considerations such as performance, code space and reusable and how they apply to the API and HAL design. Attendees will also learn the steps required to start developing their own API’s with a basic example being presented for GPIO.

Registration and Playback located here (May require login to access)

Day 3 – Designing API’s and HAL’s Part 2

This session continues the previous session by walking developers through more API and HAL design. Developers will learn more about how to write configurable code that can be easily used from one application to the next. Attendees will learn how to develop their own flash, EEPROM and Uart API’s and HAL’s.

Registration and Playback located here (May require login to access)

Day 4 – Utilizing Existing API’s and HAL’s

Some developers may not be interested in taking the time to develop their own API’s and HAL’s but instead would rather utilize what has already been created within the industry. In this session, we will begin to examine the API’s and HAL’s associated with the Renesas Synergy™ Platform and review important terminology such as interfaces, objects and instances. We will look at how reusability and API’s can be applied to an external interrupt controller.

Registration and Playback located here (May require login to access)

Day 5 – API and HAL Trade-offs and Benefits

In this session, Jacob will review important concepts related to API’s, HAL’s and provide guidance on how attendees can start designing their own. Looking at the benefits, timeline and potential costs along with strategies to get started. Additional API examples and sources will also be provided for attendees to review and use in their own development processes.

Registration and Playback located here (May require login to access)

Course Resourses

  • Sign-Up for the Embedded Bytes Newsletter here
  • Embedded Software Design Techniques – An API Standard for MCU’s here
  • Doxygen C Templates Download can be here
  • DesignNews Blog Articles can be found here
  • Jacob’s YouTube Channel – here

Course Source Code Download

Course materials can be found on the Insights page located here.

* * *

Struggling to keep your development skills up to date or facing outdated processes that slow down your team, raise costs, and impact product quality?

Here are 4 ways I can help you:

  • Embedded Software Academy: Enhance your skills, streamline your processes, and elevate your architecture. Join my academy for on-demand, hands-on workshops and cutting-edge development resources designed to transform your career and keep you ahead of the curve.
  • Consulting Services: Get personalized, expert guidance to streamline your development processes, boost efficiency, and achieve your project goals faster. Partner with us to unlock your team's full potential and drive innovation, ensuring your projects success.
  • Team Training and Development: Empower your team with the latest best practices in embedded software. Our expert-led training sessions will equip your team with the skills and knowledge to excel, innovate, and drive your projects to success.
  • Customized Design Solutions: Get design and development assistance to enhance efficiency, ensure robust testing, and streamline your development pipeline, driving your projects success.

Take action today to upgrade your skills, optimize your team, and achieve success.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.