Home > Workshops >

MCU Driver Design Techniques

Jacob Beningo - Watch Now - Duration: 02:02:06

MCU Driver Design Techniques
Jacob Beningo

Driver design is still a critical need in nearly every system whether it’s to improve access to a microcontroller peripheral or interface to an external chip. Designing drivers that meet performance, scalability, and reuse requirements can be challenging. In this workshop, we will explore various driver design techniques and walk through the design of both “internal and external” drivers on a microcontroller-based system.

Topics covered in this workshop:

  • Characteristics of good drivers
  • The software stack-up
  • API Design
  • Peripheral Driver Design and Implementation
  • External device driver design and implementation
  • C/C++ Driver Techniques

This workshop is designed to be interactive. There will be generic hands-on examples that can be applied to nearly any microcontroller-based development board.

italicssurround text with
boldsurround text with
**two asterisks**
or just a bare URL
surround text with
strikethroughsurround text with
~~two tilde characters~~
prefix with

Score: 0 | 3 weeks ago | 1 reply

Great overview with good detailed examples. Thanks a lot!

Score: 0 | 3 weeks ago | no reply


Score: 0 | 3 weeks ago | 1 reply

Great talk! Do you ever implement a POSIX layer? I find that very useful. That way you can program your application using well known APIs that make your code very portable and you can run/test your application in any POSIX (semi)compliance system such as Linux, with all the tools and techniques that it provides.
I think that would be a great talk for next conference as well as setting/defining newlib's system calls and stubs.

Score: 0 | 3 weeks ago | no reply

Thanks, Javi the comment! I don't use POSIX layers too often, but I definitely agree that it can be very useful. I'll give this topic some thought for a future talk at the conference, or in some other form. Thanks!