Video acquisition, processing, and rendering are key features for a variety of different embedded applications and they are heavily used in automotive, monitoring and various AI applications. More specifically, I recently had to work on implementing camera support for a microcontroller running Zephyr RTOS. There is no existing support for camera in Zephyr, but like any other component, creating a common and generic subsystem/API benefits the community and encourages video component support work. Several software proposals, including one of my own, are currently under review and maybe even part of Zephyr when you read these words. We will review a few camera basics, the different ways to drive them and how to design a suitable subsystem/API, taking into account scalability, latency and memory footprint. We will conclude with a summary of the current upstream status and the status of any outstanding pull requests.
Software Engineer (LINARO)
Software engineer member of the Linaro support and solutions team.