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.

Leave a Reply

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