Pengutronix on ELC 2021
The sun is shining for the last days of summer 2021. It doesn't only mean that autumn is coming, but also that this year's ELC is in preparation.
Since the ELC takes place in North America in-person and in Europe virtually, our colleagues are recording their talks. We are proud to contribute to the ELC's schedule with four talks and covering a wide range of topics: from writing kernel mainline drivers to hardware testing.
Teach an Old Network Driver New Tricks
Oleksij Rempel & Marc Kleine-Budde
This talk gives an overview of several new features in the networking driver world and how your Ethernet or CAN driver can benefit from it. In most cases there is HW support, but old network drivers implement only a limited amount of functionality: PHY support in Ethernet drivers is hard coded (AX88772) or switches aren't connected to the Kernel's switch framework (AR9331). Today PHYs (gigabit or single pair ETH) need special handling, hard coding PHY support is not an option. So let's convert Ethernet drivers to make use of the phylib as an Abstraction Layer. This brings access to ready to use PHY drivers and new functionalities, like diagnostic, self testing, cable testing, and workarounds for PHY specific errata. The functionality of Ethernet switches perfectly fits under the DSA framework which is the kernel's abstraction for different types of switching HW offloading capabilities. Another nifty feature to add is RX/TX hardware timestamping that modern MACs support, to increases diagnostic capabilities. Devices can benefit from lower latencies with Byte Queue Limit support, those connected with slow buses (USB, SPI) can combine outgoing network packets into one transaction. The talk will briefly mention XDP, what it does and if your ETH and CAN driver can benefit from it.
Initializing RISC-V: a Guided Tour for ARM Developers
Ahmad Fatoum & Rouven Czerwinski
RISC-V is the hot and upcoming architecture in the embedded space. While a majority of embedded developers have earned their chops programming for ARM processors (and PowerPC beforehand), many have yet to dip their toes into the growing RISC-V ecosystem. This talk will guide attendees through the RISC-V architecture and some of its ISA extensions and then follow Ahmad's and Rouven's journey in applying their ARM knowledge to porting the barebox bootloader to the RISC-V-powered Beagle-V Starlight, while enjoying the fun and woe of early-revision silicon.
Building Open Hardware with Open Software
Since their invention in the 80s, FPGAs are used in many domains of digital electronics. Up until now they play a notable role in embedded system development because they allow simultaneous development of system software and hardware. Combined System-On-Chips and FPGAs in one package make offloading realtime- or safety-critical processes to the FPGA even easier. Thanks to the work of many open-source developers, we can now use tools like Yosys and nextpnr to build FPGA bitstreams with a completely open-source toolchain, top to bottom. With the recent rise of RISC-V there is even an open ISA, allowing development of a multitude of compatible, open CPU cores. Designing systems that contain FPGAs becomes more difficult, as they introduce additional flexibility and, thus, complexity into systems. For example, which modules to implement as gateware or as software is a critical decision. Moreover, the software must be able to adapt to changing gateware, as it might change due to system updates. This must be considered in the software and system architecture as well. In this talk, Michael will present his experience with using the open source FPGA tools. Furthermore, he will outline important aspects when designing systems involving software, gateware, and actual hardware.
Automated Testing for Embedded Development: Next Generation Board Farming
Board farming is an important topic for embedded Linux development: It allows developers to share their hardware and lays the foundation for continuous testing of BSPs and applications on real hardware. With this talk I want to continue the discussion on how to control large numbers of Embedded Devices in a lab. I will begin with a short introduction on how Pengutronix currently operates their board farm: I will give you an overview on the hardware we use and how we use labgrid to support interactive work and automated testing of our devices under test. Afterwards I will give some insight of the everyday life with 150+ slots in the Pengutronix lab and what the most annoying (and expensive) problems are. To mitigate most of the problem my team and I are currently working on a new way to organize our labs: we try to shift our labs from a centralized architecture with many devices connected to a few control servers to a distributed structure where every device under test is controlled by its own test automation controller. I will conclude my talk with a discussion of the pros and cons of this design that we already discovered.
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.
"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
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.
At the ELC Europe 2016 in Berlin our colleagues Jan Lübbe and Marc Kleine-Budde are talking about two interesting and important presentations about Kernel longterm maintenance strategies and verified boot.