<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Embedded on TiJet</title><link>https://www.tainuohc.com/en/categories/embedded/</link><description>Recent content in Embedded on TiJet</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 22 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.tainuohc.com/en/categories/embedded/index.xml" rel="self" type="application/rss+xml"/><item><title>Secure Boot and Firmware Signing: A Practical Guide for Industrial IoT Devices</title><link>https://www.tainuohc.com/en/blog/2026-07-22-industrial-security/</link><pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate><guid>https://www.tainuohc.com/en/blog/2026-07-22-industrial-security/</guid><description>&lt;h2 id="1-why-bother">1. Why Bother?&lt;/h2>
&lt;p>In industrial control, a compromised firmware image isn&amp;rsquo;t just a data breach — it&amp;rsquo;s a physical safety hazard. A tampered firmware could disable watchdog timers, override thermal shutdown thresholds, or silently exfiltrate proprietary motion-control parameters.&lt;/p>
&lt;p>Yet most industrial IoT devices ship with JTAG left open and firmware images verified by nothing more than a CRC32 checksum. CRC32 catches bit flips; it does nothing against a motivated attacker.&lt;/p></description></item><item><title>Rust on Bare Metal: Rewriting Our Bootloader Without a Single Page Fault</title><link>https://www.tainuohc.com/en/blog/2026-07-19-rust-embedded/</link><pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate><guid>https://www.tainuohc.com/en/blog/2026-07-19-rust-embedded/</guid><description>&lt;h2 id="1-the-bootloader-problem">1. The Bootloader Problem&lt;/h2>
&lt;p>Tainuo&amp;rsquo;s industrial control boards ship with an MCU that manages power sequencing, watchdog timers, and over-the-air (OTA) firmware updates. The bootloader — roughly 8,000 lines of C — had been stable for years, but &amp;ldquo;stable&amp;rdquo; in the embedded sense means &amp;ldquo;the bugs are known and we have workarounds.&amp;rdquo;&lt;/p>
&lt;p>Every 6–9 months, a new OTA edge case would surface: a buffer overflow during firmware image verification, an off-by-one in the flash erase routine, a use-after-free in the CAN bus command dispatcher. Each of these bugs required a full recall-cycle OTA fix, which on a deployed fleet of industrial controllers is a multi-week ordeal.&lt;/p></description></item></channel></rss>