ESC Boston and BIOMED Boston is part of the Informa Markets Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

ESC Boston 2019 Schedule Viewer


Welcome to the Biomed Boston & ESC Boston 2019 Presentation Store. Here you can view and download conference and/or show floor theater presentations before, during, and after the event. If you’re looking for a presentation from a specific session that you’re unable to find here, note that it’s likely because the presenter has not provided permission for external use or has not yet shared their presentation with us. Please check back after the event for a more complete catalogue of available presentations.

Developing Reusable Device Drivers for Microcontrollers

Jacob Beningo  (President, Beningo Embedded Group)

Location: Focus on Fundamentals Satellite Area - Outside Room 106

Date: Thursday, May 16

Time: 9:00 am - 10:00 am

Track: ESC Boston, Track E: Focus on Fundamentals, ESC Boston, Track B: Embedded Software Design & Verification

Vault Recording: TBD

The speed at which a developer is expected to write software often results in device drivers that are difficult to understand and hard to maintain. This session describes methods and techniques that can be used to develop re-usable abstracted device drivers that are easy to maintain and speed up software development. A method for driver abstraction is examined in addition to a brief look at key C language features. A layered approach to software design will be explored with common driver design patterns for I/O, SPI and EEPROM being presented.


Key Take-a-ways:

- Current issues with driver development
- Methodologies to improve driver development
- Methods for abstracting device drivers
- Key C language features that can improve drivers and code readability
- Understanding of layered software development and the importance of interface control documents
- Examples of properly designed I/O, SPI and EEPROM drivers
- Methods of code organization