040coders.nl: Talks and Videos. Food and Drinks. Every 3rd Thursday somewhere in the 040 region. 040coders.nl: Talks and Videos. Food and Drinks. Every 3rd Thursday somewhere in the 040 region.



Low-end embedded systems for high-end products:

insights from a real products development


Talk

Caio Oliviera By: Caio Oliviera
From: ENTER

Talk at Meetup 20200528


Abstract

With the advent of the Internet, the world has seen a considerable increase in embedded systems complexity and consumer's expectations alike. In contrast with that trend, development and production costs are expected to steadily decrease, directly impacting the hardware and software design of consumer electronics. In consequence, programmers are commonly challenged to develop extremelly complex firmware on considerably restricted platforms, while meeting restrictive functional/non-functional requirements.

This presentation discusses a real-life development experience of the firmware of the Philips Somneo Wake-Up Lights Family of Connected Devices. More specifically, how the team addressed the issue of developing a complex firmware on a platform with small amount of program flash (while using C++ to keep the code reusable and testable). Under those circumstances, Caio and his team took inspiration from the Bank Switching technique (here called Soft-Code Banking) to design and develop a solution that allow considerably bigger program sizes while keeping the system simple and reusable.

The presentation discusses the ins-and-outs of Soft-Code Banking and how it affects the development of bare-metal C++ applications. Caio presents code examples and considerations over performance, security, memory management, memory consistency, reusability, and build tooling.

slides are now available


Biography

Caio Oliviera is an Embedded Software Architect and Software Developer at ENTER and experienced in R&D projects for world class consumer electronics. He holds a Master’s Degree in Electrical Engineering and his expertise covers a.o. embedded software, hardware, (real-time) operating systems, compilers, desktop-, and mobile applications.

Caio has been working as architect and lead developer for the Philips Somneo Wake-Up Lights Family and SmartSleep Snoring Relief Band. Currently he is working as Senior Developer for Philips Fiber Optic RealShape (FORS) venture.



contact: organizers at 040coders.nl
contact: organizers at 040coders.nl