Don't snipe me in space-intentional flash corruption for STM32 microcontrollers
The MOVE student club at the Technical University of Munich develops a reliable Rust-based bootloader for STM32 microcontrollers in satellites. Rigorous testing ensures the bootloader's resilience to flash errors, offering mission continuity.
Read original articleThe article discusses the development of a reliable bootloader for STM32 microcontrollers used in satellites by the MOVE student club at the Technical University of Munich. The bootloader, written in Rust, manages operating system images and metadata in flash storage to enable in-orbit software updates. Special attention is given to handling non-maskable interrupts like ECC detection, which can disrupt program flow. To test the bootloader's resilience, the author intentionally corrupts flash memory to trigger ECCD NMIs, ensuring the system can recover and boot successfully. By implementing a binary search approach over multiple resets, the author fine-tunes the timing to induce ECCD interrupts reliably. This testing tool provides peace of mind regarding the bootloader's performance in space. The author invites support for the student club and offers the testing program on GitHub for others to use. The successful testing results demonstrate the bootloader's ability to handle flash errors and ensure mission continuity.
Related
Hacking eInk Price Tags (2021)
Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.
Debugging hardware is hard
Debugging hardware can be complex. A case study involving communication problems between STM32 MCU and ESP32 WiFi chips in Pickup device revealed an unexpected glitch in the STM32's auto-calibration feature affecting UART communication. Disabling it resolved the issue, emphasizing the need for thorough hardware and software analysis.
Booting Linux Off of Google Drive
A programmer's competitiveness leads to booting Linux from Google Drive, facing challenges like networking setup and mounting an Arch Linux root from an S3 bucket. Despite setbacks, Linux boots successfully, integrating Google Drive but facing performance issues and complexities.
How to validate a market with development boards and SD cards
The article emphasizes validating markets with development boards before marketing electronic devices, highlighting FCC regulations in the US. It stresses FCC approval, risks of unauthorized marketing, and proposes using common chip development boards to streamline processes.
Debugging an evil Go runtime bug: From heat guns to kernel compiler flags
Encountered crashes in node_exporter on laptop traced to single bad RAM bit. Importance of ECC RAM for server reliability emphasized. Bad RAM block marked, GRUB 2 feature used. Heating RAM tested for stress behavior.
> In our bootloader we can now enable a custom boot mode that ensures that if at least one image is bootable, it is booted, which will enable us to fix this problem remotely
"OneFileLinux: A 20MB Alpine metadistro that fits into the ESP" https://news.ycombinator.com/item?id=40915199 :
- eaut/efistub generates signed boot images containing kernels and initrd ramdisks in one file to ensure the verification of the entire initial boot process.
Are there already ways to fail to the next kernel+initrd for uboot, [ventoy, yumi, rufus], grub, systemd-boot, or efistub?
Are there better MCUs on the market for these applications (other than massively expensive actual 'rad-hardened' space chips)? You can get MCUs with lockstep dual CPUs, for example (TMS570 etc., and I assume the automotive sector has loads of stuff).
Related
Hacking eInk Price Tags (2021)
Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.
Debugging hardware is hard
Debugging hardware can be complex. A case study involving communication problems between STM32 MCU and ESP32 WiFi chips in Pickup device revealed an unexpected glitch in the STM32's auto-calibration feature affecting UART communication. Disabling it resolved the issue, emphasizing the need for thorough hardware and software analysis.
Booting Linux Off of Google Drive
A programmer's competitiveness leads to booting Linux from Google Drive, facing challenges like networking setup and mounting an Arch Linux root from an S3 bucket. Despite setbacks, Linux boots successfully, integrating Google Drive but facing performance issues and complexities.
How to validate a market with development boards and SD cards
The article emphasizes validating markets with development boards before marketing electronic devices, highlighting FCC regulations in the US. It stresses FCC approval, risks of unauthorized marketing, and proposes using common chip development boards to streamline processes.
Debugging an evil Go runtime bug: From heat guns to kernel compiler flags
Encountered crashes in node_exporter on laptop traced to single bad RAM bit. Importance of ECC RAM for server reliability emphasized. Bad RAM block marked, GRUB 2 feature used. Heating RAM tested for stress behavior.