Pengutronix at FOSDEM 2021
"FOSDEM is a free event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels. In 2021, they will gather online." -- FOSDEM
This year, we will gather at 6th and 7th February and members of Pengutronix will contribute to FOSDEM with three talks.
So, grab your beer (what would a FOSDEM be, without beer?) and join us!
|Time||Testing and Automation devroom|
|Sa, 12:25||About the joy and tears of testing Embedded Devices (Chris Fiege)|
|Time||Embedded, Mobile and Automotive devroom|
|Sa, 13:00||From Reset Vector to Kernel: Navigating the ARM Matryoshka (Ahmad Fatoum)|
|Sa, 16:00||The Road to the Mainline ZynqMP VCU Driver (Michael Tretter)|
About the joy and tears of testing Embedded Devices (Chris Fiege)
Embedded development is complex enough. By automating repetitive parts during development and employing testing, a lot of time can be saved and human errors avoided. Additionally, embedded development is usually a team effort: scarce hardware must often be shared between developers and sometimes even with automated testing. labgrid is an open source tool for remote control and testing of Embedded Linux Devices in a distributed lab. In this talk the presenter takes a look at how labgrid can be used in your Embedded lab and what labgrid's developers have learned in over three years of using and developing it.
At first the presenter takes a closer look at what is actually needed to fully remote-control an Embedded Linux Device: What are the typical interfaces that need to be covered? What remote-control hardware is commercially available?
Next the presenter will focus on the labgrid framework. Labgrid is an embedded board control python library, with a focus on testing, development and general automation. After a short overview of the key design-concepts the presenter will discuss labgrid's architecture. This part finishes with a demo of how interactive development with labgrid looks like and how tests are implemented using pytest.
The talk will conclude with a lessons-learned with the joy and tears of over three years of active labgrid development and use.
The Road to the Mainline ZynqMP VCU Driver (Michael Tretter)
The Xilinx ZynqMP SoC includes a powerful H.264/H.265 Video Codec Unit (VCU) which Xilinx supports with an out-of-tree driver and user space library. The allegro driver from mainline Linux allows to use the VCU using the standard V4L2 encoder API without requiring any custom user space.
I will explain why I wrote the driver, show how the VCU is used from a driver perspective, and present the current state of the driver and which features are still missing.
The Zynq UltraScale+ MPSoC integrates several ARM cores and an FPGA into a single chip. One variant of this SoC includes an H.264/H.265 Allegro DVT Video Codec Unit (VCU).
Although Xilinx did a good job supporting the ZynqMP in mainline Linux, the VCU was originally only supported via an out-of-tree driver. It consists of a user space library and a firmware blob, which interact via a custom IOCTL interface. Unfortunately, this has security implications as the user space handles physical buffer addresses.
Fortunately, the V4L2 mem2mem device API for video codecs avoids this problem by using abstract DMA buffers. Many applications already use these APIs, and various drivers for hardware codecs already implement these APIs. Thus, a V4L2 driver for the VCU allows reusing existing applications such as FFmpeg and GStreamer on the ZynqMP.
Now that, due to the COVID-19 pandemic, everyone has gotten used to digitalisation and online conferences - it has never been easier to organise a conference and bring together all experts and interested parties for a few hours of intensive exchange of ideas on a certain topic.
The schedule for this year's Embedded Linux Conference Europe (ELCE) has just been released. As in the last years Pengutronix contributes talks to current topics around Embedded Linux.
FOSDEM is one of the biggest Open Source community meetings in Europe and takes place in Brussels at the Université Libre de Bruxelles every year in February. For Pengutronix this is always a good chance to meet developers, discuss current topics and enjoy some Belgian beer and food. This year we attended FOSDEM with 15 colleagues. Here are some talks our colleagues recommend you to see.
Besides the improvements around embedded Linux software and ongoing development of Linux kernel components, the Pengutronix team took the corona pandemic as an opportunity: Last year, many conferences were accessible via internet, so we joined from the comfort of our home offices and shared our experiences and ideas with the community.
2022 has started, and although Corona had a huge impact on our workflow, the Pengutronix team again made quite some contributions to the Linux kernel. The last kernel release in 2020 was 5.10, the last one in 2021 was 5.15, so let's have a look at what happened in between.
Today it has been 15 years since we mainlined support for Freescale/NXP's i.MX architecture in the Linux kernel! That was one small step for [a] man, one giant leap for (industrial Linux users') mankind :-) Here is some background about why it happened and what you might want to learn from history for your next embedded Linux project.
Some days ago, Greg Kroah-Hartmann wrote a great blogpost about Which Stable Kernel One Should Use?. I fully agree with his position; however, I'd like to make some additions for the industry device manufacturer use case and some common pitfalls and misunderstandings we see in that area.