<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rust on TiJet</title><link>https://www.tainuohc.com/en/tags/rust/</link><description>Recent content in Rust on TiJet</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 19 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.tainuohc.com/en/tags/rust/index.xml" rel="self" type="application/rss+xml"/><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><item><title>From Proprietary Protocols to gRPC: A Major Leap in Tainuo's Heterogeneous Industrial Control Communication Architecture</title><link>https://www.tainuohc.com/en/blog/2026-07-18-grpc-migration/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate><guid>https://www.tainuohc.com/en/blog/2026-07-18-grpc-migration/</guid><description>&lt;h2 id="1-why-we-had-to-abandon-our-legacy-proprietary-protocols">1. Why We Had to Abandon Our Legacy Proprietary Protocols&lt;/h2>
&lt;p>For a long time, Tainuo&amp;rsquo;s industrial control boards communicated with the host computer and print control terminals using self-built proprietary protocols. These protocols were indeed lightweight, flexible, and easy to modify during single-category development. However, as Tainuo gradually moves toward Industry 5.0 standards, our system architecture is evolving into a &amp;ldquo;universal industrial-grade heterogeneous computing and intelligent control platform.&amp;rdquo;&lt;/p>
&lt;p>Against this backdrop, the legacy proprietary protocols exposed three irreconcilable pain points: prohibitively high multi-language SDK maintenance costs (C#, C++/Rust heterogeneous endpoints required manual parser rewriting), lack of strong type safety boundaries, and difficulty in flexibly extending RPC services across heterogeneous systems.&lt;/p></description></item></channel></rss>