
Study compares Rust and C languages for embedded firmware development
There's a lot of hype around the Rust programming language, and I'm seeing it being adopted by various projects, not least the Linux kernel. However, so far it was unclear to me whether it was suitable for embedded firmware development since the hardware resources are limited on microcontrollers. A low memory and storage footprint is required, and optimal performance may also be important, for example, to lower the power consumption of battery-powered devices. A Cornell Universty's study entitled "Lessons from an Industrial Microcontroller Use Case with Ariel OS" attempts to answer this question using embedded C and Rust, and the conclusion is that Rust is a viable option: As Rust gains traction for developing safer systems software, a reality check for the microcontroller hardware segment becomes necessary. How ready is the Rust ecosystem for this segment? Can Rust compete with C in practice? This paper reports on an IoT industrial
CNX Software - Embedded Systems News
Ubuntu 26.04 LTS “Resolute Raccoon” released with Linux 7.0
Canonical has just announced the release of Ubuntu 26.04 LTS “Resolute Raccoon” Linux distribution about two years after Ubuntu 24.04 LTS “Noble Numbat” was introduced. The new version of the operating system comes with the just-released Linux 7.0 kernel, GNOME 50, and a range of updates and new features. As a long-term support release, Ubuntu 26.04 LTS will be supported for 5 years until April 2031, and an Ubuntu Pro subscription provides access to ESM (Expanded Security Maintenance) updates for ten years, or until April 2036. One of the benefits of using the latest Linux 7.0 kernel is support for Intel Core Ultra Series 3 "Panther Lake" processors, including Intel Xe3 integrated graphics and the integrated NPU (Neural Processing Unit) optimizations, which may also benefit Wildcat Lake processors (aka Panther Lake Lite). Canonical also highlights TPM-backed full-disk encryption, improved support for application permission prompting, Livepatch updates for Arm-based servers, and
CNX Software - Embedded Systems News
Idle CPU power management: cpuidle
CNXSoft: This is a guest post by Daniel Thompson, Principal Software Engineer at RISCstar Solutions, about Linux CPU power management for embedded systems, specifically covering cpuidle in depth. Twenty years ago, it was easy for an operating system kernel to go idle: when there were no tasks to run, “the idle loop” would be scheduled. Early idle loops were basically empty infinite loops that did nothing while waiting for the next interrupt to happen. This saved power simply by avoiding running instructions that needed power-hungry components such as the cache or FPU! Over time, changing technology has allowed multiple additional hardware mechanisms to reduce power to be introduced. With these new options available today, the idle loop is responsible for choosing and deploying the “best” way to go idle. As a brief reminder, entering and returning from an idle state has a cost, and that cost can be measured both
CNX Software - Embedded Systems News
Reminder: enable ZRAM on your Linux system to optimize RAM usage (and potentially save money)
With the price of RAM getting out of control, it might be a good idea to remind Linux users to enable ZRAM so they can get better performance without upgrading memory, or save money on their next single board computer by selecting a board with the right amount of memory. I had already written about the subject when I enabled ZRAM on a ODROID-XU4Q in 2018 using zram-config, and did the same on my Ubuntu laptop at the time. In recent days, I found Firefox crashing often due to running out of memory on my system with 16GB of RAM, and the Linux 7.0 release reminded me about ZRAM, since there were some related changes. So I decided to check the current swap configuration on my Ubuntu 24.04 laptop: lzo doesn't look like a recent compression algorithm, and I think I've seen Zstandard compression used on other systems before. However,
CNX Software - Embedded Systems News
wolfIP – An open-source, lightweight TCP/IP stack with no dynamic memory allocations for embedded systems
Better known for its open-source wolfSSL SSL/TLS library, wolfSSL (the company) has now released the wolfIP open-source, lightweight TCP/IP stack with no dynamic memory allocations (e.g., no malloc calls) designed for resource-constrained embedded systems.
The company highlights that wolfIP "supports both endpoint-only mode and full multi-interface support with optional IP forwarding. By default, it operates as a network endpoint, but can be configured to forward traffic between multiple network interfaces".
CNX Software - Embedded Systems News
Velxio is an open-source, self-hosted Arduino, Raspberry Pi, and ESP32 simulator
Velxio is an open-source, self-hosted simulator for Arduino, ESP32, and Raspberry Pi boards that works directly in your web browser. You can drag-and-drop boards, connect components and modules, write and run code in Arduino or Python, and access the serial console, all without hardware. If it looks similar to what the Wokwi simulator has to offer, it's because Velxio was inspired by it and even integrates the AVR8 CPU emulator, RP2040 emulator, and QEMU fork for ESP32 Xtensa emulation from the Wokwi project. But the key difference is that Velxio can be self-hosted, although there's also an online demo. Velxio currently supports 19 targets across five architectures AVR8 (ATmega / ATtiny) Arm Cortex-M0+ (Raspberry Pi RP2040) RISC-V RV32IMC/EC (ESP32-C3 / CH32V003) Xtensa LX6/LX7 (ESP32 / ESP32-S3 via QEMU) Arm Cortex-A53 (Raspberry Pi 3 Linux via QEMU) The project also offers 48 components. The developer mentions that additional features compared to
CNX Software - Embedded Systems News
ESP-IDF v6.0 framework adds support for ESP32-C5 and ESP32-C61, preview for ESP32-H21 and ESP32-H4
Espressif Systems released the ESP-IDF v6.0 framework a few days ago with stable support for ESP32-C5 and ESP32-C61 SoCs, as well as preview support for ESP32-H21 and ESP32-H4 low-power wireless microcontrollers. The framework also implements a new ESP-IDF Installation Manager (EIM) to make the ESP-IDF installation easier, relies on the low-footprint Picolibc C library, adds security and tooling updates, as well as a few Wi-Fi enhancements, and the ability to update the bootloader over the air. Here are some of the ESP-IDF v6.0 highlights: ESP-IDF Installation Manager - Unified cross-platform tool to simplify the setup process for ESP-IDF and compatible IDEs. It's available as a graphical interface or a CLI for automation and CI/CD pipelines. You can check the installation instructions for your OS. Picolibc replaces Newlib for a smaller memory footprint and better performance on resource-constrained devices. Check the Newlib vs Picolibc comparison for details. Contrary to some of
CNX Software - Embedded Systems News
GyroidOS virtualization solution aims to secure embedded devices, ease cybersecurity certification
Designed by Fraunhofer AISEC, GyroidOS is an open-source, multi-arch OS-level virtualization solution designed for embedded devices with hardware security features, and aiming to support security certification processes such as Common Criteria (ISO/IEC 15408), DIN SPEC 27070 - IDS Trust Security profile, and IEC-62443 cybersecurity standards. The virtualization layer is based on Linux-specific features like namespaces, cgroups, and capabilities to provide isolation of different guest operating system stacks on top of a single, shared Linux kernel. It offers a much smaller footprint and additional separation of privileged instances compared to other container solutions, such as Docker. GyroidOS security features Container isolation based on a modularized OS-level virtualization layer Secure boot (e.g., UEFI on x86) Kernel module signing Signed GuestOSes (containers) Measured boot and remote attestation Full disk encryption coupled to TPM and secure boot Restriction of superuser in containers with Linux capabilities Fine-grained device access with device cgroups whitelists Secure Element
CNX Software - Embedded Systems News
Linux 6.19 Release – Main changes, Arm, RISC-V, and MIPS architectures
Linus Torvalds has just released Linux 6.19 on the Linux Kernel Mailing List (LKML): No big surprises anywhere last week, so 6.19 is out as expected - just as the US prepares to come to a complete standstill later today watching the latest batch of televised commercials. The betting man would expect them all to be AI-generated, but maybe some enterprising company decides to buck the trend? Doubtful, but there's always a slight chance. But for anybody outside the US, maybe taking the newest kernel out for a spin instead is an option? I have more than three dozen pull requests for when the merge window opens tomorrow - thank you to all the early maintainers. And as people have mostly figured out, I'm getting to the point where I'm being confused by large numbers (almost running out of fingers and toes again), so the next kernel is going to
CNX Software - Embedded Systems News