<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>armhub.dev</title>
    <link>https://armhub.dev</link>
    <description>The modern reference for ARM development — architecture, peripherals, RTOSes, toolchains, vendors, and real-world system designs.</description>
    <language>en</language>
    <lastBuildDate>Fri, 15 May 2026 04:48:57 GMT</lastBuildDate>
    <atom:link href="https://armhub.dev/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>AAPCS &amp; calling conventions</title>
      <link>https://armhub.dev/docs/architecture/aapcs/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/aapcs/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How ARM functions pass arguments, return values, preserve registers, align the stack, and interact with FPU / vector state. Covers AAPCS32, AAPCS64, and the variations for VFP and Helium.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>Advanced control timers</title>
      <link>https://armhub.dev/docs/peripherals/timers-advanced/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/timers-advanced/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>TIM1 and TIM8 on STM32 — complementary PWM outputs, dead-time generator, break input, repetition counter, encoder and Hall sensor modes, and the master-slave synchronization that drives multi-timer motor-control pipelines.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Advanced DMA — MDMA, DMA2D, GPDMA</title>
      <link>https://armhub.dev/docs/peripherals/dma-advanced/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/dma-advanced/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Beyond the classic stream-based DMA — master DMAs that initiate transfers across the bus matrix, 2D blending engines for graphics, linked-list scatter-gather, and cache coherency on Cortex-M7 systems.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Ambiq Apollo4</title>
      <link>https://armhub.dev/docs/vendors/ambiq-apollo4/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/ambiq-apollo4/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Apollo4 family — Cortex-M4F at 192 MHz, 2 MB flash, MIPI-DSI display, 2D GPU, BLE 5.1 on Plus variants, sub-microamp deep sleep. The silicon behind the modern AMOLED smartwatch.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Ambiq Apollo5 / Apollo510</title>
      <link>https://armhub.dev/docs/vendors/ambiq-apollo5/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/ambiq-apollo5/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Apollo510 — first commercial Cortex-M55 with Helium MVE for wearables, dedicated NPU for on-device AI, 4 MB MRAM, MIPI-DSI and MIPI-CSI. The platform for the AI smartwatch generation.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Ambiq Micro</title>
      <link>https://armhub.dev/docs/vendors/ambiq/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/ambiq/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Ambiq&apos;s sub-threshold voltage SPOT technology — the silicon behind every multi-week-battery-life smartwatch and hearing aid. Apollo family from Apollo1 to Apollo510, software stack, why wearables design teams choose it.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>ARM semihosting</title>
      <link>https://armhub.dev/docs/tools/semihosting/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/semihosting/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How semihosting lets a target Cortex-M call into the debug host for printf, file IO, and time — the SVC 0xAB trap, the operation table, host implementations, the latency cost, and when to use it instead of a UART.</description>
      <category>tools</category>
    </item>
    <item>
      <title>ARMv6-M architecture</title>
      <link>https://armhub.dev/docs/architecture/armv6m/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/armv6m/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The minimal M-profile ISA — what&apos;s in ARMv6-M (Cortex-M0, M0+, M1), what&apos;s missing compared to v7-M, and the design decisions that drop the gate count to under 12k while still running C code.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>ARMv7-A vs ARMv8-A vs ARMv9-A</title>
      <link>https://armhub.dev/docs/cortex-a/isa-compare/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/isa-compare/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How the Cortex-A instruction set evolved across three architecture generations — AArch32 vs AArch64, register file expansion, the death of conditional execution, NEON to SVE2, and what MTE/PAC/BTI mean for compile-target choices.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>ARMv7-M architecture</title>
      <link>https://armhub.dev/docs/architecture/armv7m/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/armv7m/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The mainstream M-profile ISA — full Thumb-2, IT blocks, LDREX/STREX, optional MPU and FPU, DSP extensions, bit-banding. The architecture behind Cortex-M3, M4, and M7.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>ARMv7-R vs ARMv8-R — Cortex-R generations</title>
      <link>https://armhub.dev/docs/cortex-r/isa-compare/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-r/isa-compare/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How the Cortex-R real-time family evolved — R4/R5/R7/R8 on ARMv7-R, the MPU-only memory model, lockstep, V-FIQ, and ARMv8-R&apos;s introduction of EL2 hypervisor and (with R82) AArch64 to the real-time domain.</description>
      <category>cortex-r</category>
    </item>
    <item>
      <title>ARMv8-M architecture</title>
      <link>https://armhub.dev/docs/architecture/armv8m/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/armv8m/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The current M-profile generation — Baseline and Mainline, TrustZone-M security extension, improved MPU, stack-limit registers, and the v8.1-M Helium MVE that lights up Cortex-M55 and M85.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>ARMv8-R architecture</title>
      <link>https://armhub.dev/docs/architecture/armv8r/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/armv8r/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The real-time R-profile — MPU-based memory protection (no MMU), hypervisor support for real-time virtualization, lockstep, EL0/EL1/EL2 exception levels. Cortex-R52 and the AArch64 R82.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>Artery AT32F4 — mainstream Cortex-M4</title>
      <link>https://armhub.dev/docs/vendors/artery-at32f4/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/artery-at32f4/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>AT32F403 through AT32F437 — the high-clock M4F mainstream. Pinout-compat with STM32F407, up to 288 MHz, 4 MB flash, CAN-FD. Architectural detail and migration mechanics.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Artery AT32M — motor control on Cortex-M4</title>
      <link>https://armhub.dev/docs/vendors/artery-at32m/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/artery-at32m/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>AT32MC family — dedicated BLDC, PMSM, stepper, and SRM motor-drive MCUs with high-resolution timers, complementary PWM, dead-time generators, overcurrent comparators, and FOC reference firmware.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Artery Technology AT32</title>
      <link>https://armhub.dev/docs/vendors/artery/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/artery/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Shanghai-based vendor of high-performance Cortex-M4 MCUs targeting STM32F4 replacement at lower cost — 240 MHz clocks, larger flash, AT-Link debug, and aggressive China-market pricing.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>AUTOSAR Classic and Adaptive</title>
      <link>https://armhub.dev/docs/systems/autosar/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/autosar/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>AUTOSAR — the automotive software architecture standard. Application layer, RTE, BSW (MCAL, ECU abstraction, services), communication and diagnostics stacks. Adaptive AUTOSAR on Cortex-A with POSIX and ara::com.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Battery-powered IoT sensor node</title>
      <link>https://armhub.dev/docs/systems/iot-sensor-node/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/iot-sensor-node/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Architecting a battery-powered IoT sensor node — Cortex-M0+/M33 plus Sub-GHz or LTE-M radio, sleep budget in microamps, LoRaWAN / NB-IoT / BLE mesh / Wi-SUN / Zigbee. OTA, secure provisioning, deep-sleep buffers in RTC backup RAM.</description>
      <category>systems</category>
    </item>
    <item>
      <title>big.LITTLE &amp; DynamIQ</title>
      <link>https://armhub.dev/docs/cortex-a/big-little/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/big-little/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>ARM&apos;s asymmetric multiprocessing — the evolution from big.LITTLE cluster migration through global task scheduling to DynamIQ&apos;s mixed-core single-cluster design, with the Linux Energy Aware Scheduler tying it all together.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>Bootloaders</title>
      <link>https://armhub.dev/docs/programming/bootloaders/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/bootloaders/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Bootloader architecture for Cortex-M. ROM vs flash bootloaders, vector-table relocation, dual-bank fail-safe update, signed and encrypted firmware, MCUboot, STM32 system bootloader, USB DFU.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C language tutorial — for embedded engineers</title>
      <link>https://armhub.dev/docs/programming/c-tutorial/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-tutorial/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>A 15-lesson hands-on tutorial taking you from hello world through pointers, memory, the preprocessor, the standard library, and modern C11/17/23. Built for people who already program and want to learn C properly.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C tutorial — bare-metal Cortex-M from zero</title>
      <link>https://armhub.dev/docs/programming/tutorial/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>A hands-on 10-lesson tutorial. Set up GCC, blink an LED without HAL, read registers, write a linker script, handle interrupts, decode CFSR/HFSR, build a DMA-driven UART driver — all from scratch.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C++ Lesson 10 — Lambdas</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-10-lambdas/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-10-lambdas/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Lambda syntax, capture by value vs reference, mutable and generic lambdas, init-capture, the anonymous class lambdas desugar to, and the function-pointer decay rule.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C++ Lesson 11 — Error handling</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-11-error-handling/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-11-error-handling/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Return codes, exceptions, and std::expected (C++23). Exception cost, noexcept, exception safety guarantees, and why most embedded builds use -fno-exceptions.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C++ Lesson 12 — Concurrency</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-12-concurrency/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-12-concurrency/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>std::thread, mutex and lock_guard, condition variables, atomics with memory ordering, async/future, jthread, and a lock-free SPSC queue example.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C++ Lesson 13 — Modules (C++20)</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-13-modules/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-13-modules/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Module interface and implementation units, export and import, partitions, header units, compile-time wins, and the current state of compiler and build-system support.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C++ Lesson 14 — Modern C++23</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-14-modern/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-14-modern/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>A tour of C++23 features that actually change how you write code — std::expected, std::print, stacktrace, deducing this, if consteval, and the C++20 highlights worth catching up on.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C++ Lesson 15 — C++ on Cortex-M</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-15-embedded/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-15-embedded/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Building a real Cortex-M firmware in C++23. The flag list, the global-constructor fiasco, STL without exceptions, and a small worked driver bringing every previous lesson together.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C++ Lesson 9 — Move semantics</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-09-move-semantics/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-09-move-semantics/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>R-value references, move constructors, std::move, the rule of five and the rule of zero, noexcept moves, and why STL containers fall back to copy without it.</description>
      <category>programming</category>
    </item>
    <item>
      <title>C++ programming tutorial — from C-with-classes to modern C++23</title>
      <link>https://armhub.dev/docs/programming/cpp-tutorial/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-tutorial/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>A 15-lesson hands-on tutorial taking you through classes, RAII, templates, the STL, smart pointers, move semantics, lambdas, modules, and modern C++23. Built for C programmers and embedded engineers.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Cache &amp; TCM</title>
      <link>https://armhub.dev/docs/cortex-m/cache-tcm/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/cache-tcm/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Cortex-M7/M55/M85 I-cache, D-cache, and tightly-coupled memory. Line size, write-back vs write-through, invalidate/clean, DMA coherency, ITCM/DTCM bring-up.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>CAN-FD</title>
      <link>https://armhub.dev/docs/peripherals/can-fd/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/can-fd/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>CAN with Flexible Data-rate — the second-generation CAN protocol with up to 64-byte payloads and accelerated data-phase bit rates. How the bit timing works, the new frame layout, hardware controllers, and what changes for software.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>CMSIS-DSP</title>
      <link>https://armhub.dev/docs/programming/cmsis-dsp/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cmsis-dsp/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The ARM CMSIS-DSP library — vector math, FIR/IIR filters, FFT, matrix ops, statistics, and transforms. Q-format fixed-point, performance on M0/M4F/M7/M55 Helium, and practical audio and PID examples.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Coresight architecture</title>
      <link>https://armhub.dev/docs/cortex-m/coresight/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/coresight/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>TPIU, ETM, ITM, DWT, FPB, AHB-AP, DAP, SWJ-DP. How a debug probe reaches the core, ROM tables, DWT cycle counting accuracy, the JTAG vs SWD trade-off.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M architecture comparison</title>
      <link>https://armhub.dev/docs/cortex-m/architecture-compare/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/architecture-compare/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Every Cortex-M core side by side — pipeline depth, DMIPS/MHz, ISA profile, MPU, FPU, cache, TCM, TrustZone, vector ops, and typical silicon clocks. The single reference table.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M0</title>
      <link>https://armhub.dev/docs/cortex-m/m0/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m0/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The smallest, lowest-power Cortex — ARMv6-M, 3-stage von Neumann pipeline, Thumb-only ISA, no MPU, no cache. The minimum-viable 32-bit MCU.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M0+</title>
      <link>https://armhub.dev/docs/cortex-m/m0plus/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m0plus/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The improved M0 — two-stage pipeline, optional MPU, single-cycle GPIO on some vendors, MTB instruction trace. The default low-end Cortex for new designs.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M23</title>
      <link>https://armhub.dev/docs/cortex-m/m23/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m23/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>ARMv8-M Baseline — the M0+ successor with TrustZone-M, improved ISA (divide, compare-and-branch), and an updated MPU. The smallest secure-capable Cortex.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M33</title>
      <link>https://armhub.dev/docs/cortex-m/m33/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m33/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>ARMv8-M Mainline — the modern mid-tier Cortex. TrustZone-M, optional FPU and DSP, MPU, 3-stage pipeline. The default pick for new secure IoT and industrial designs.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M55</title>
      <link>https://armhub.dev/docs/cortex-m/m55/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m55/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>ARMv8.1-M with Helium (M-profile Vector Extension). Scalar+vector core for ML inference and DSP, optimized for pairing with Ethos-U NPUs.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M85</title>
      <link>https://armhub.dev/docs/cortex-m/m85/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m85/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The highest-performance Cortex-M — ~3.0 CoreMark/MHz, Helium, branch prediction, PAC/BTI security, and the de-facto M7 replacement for new high-performance MCUs.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-R interrupts — VIC, VIM, GIC</title>
      <link>https://armhub.dev/docs/cortex-r/interrupts/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-r/interrupts/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How Cortex-R parts handle interrupts — Vectored Interrupt Controller, TI&apos;s VIM, GIC on R52, the IRQ vs FIQ distinction, direct vector lookup vs software dispatch, and how it all compares to Cortex-M&apos;s NVIC.</description>
      <category>cortex-r</category>
    </item>
    <item>
      <title>Cortex-R52 cluster modes</title>
      <link>https://armhub.dev/docs/cortex-r/r52-cluster/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-r/r52-cluster/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Split vs lockstep configurations in a Cortex-R52 cluster — up to 4 cores, mix of lockstep pairs and independent cores, inter-core memory bus, L1 cache coherency in split mode, and use in ASIL-D powertrain and brake-by-wire designs.</description>
      <category>cortex-r</category>
    </item>
    <item>
      <title>Debug architecture</title>
      <link>https://armhub.dev/docs/architecture/debug/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/debug/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How ARM debug works under the hood — DAP, AHB-AP, JTAG vs SWD, the FPB breakpoint unit, DWT watchpoints, vector catch, CoreSight, ROM tables, and the difference between halting and sampling debug.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>Drone Electronic Speed Controller</title>
      <link>https://armhub.dev/docs/systems/drone-esc/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/drone-esc/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Drone ESC firmware — BLDC commutation (back-EMF zero-cross vs sensored), six-step trapezoidal vs FOC sinusoidal, PWM 16–32 kHz, DShot300/600/1200 digital throttle protocol, bidirectional DShot for RPM telemetry, BLHeli_32 / AM32 / BetaFlight ESC.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Drone IMU subsystem</title>
      <link>https://armhub.dev/docs/systems/drone-imu/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/drone-imu/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>MEMS gyro and accelerometer for drones — ICM-42688-P, BMI270, magnetometer and barometer fusion. Complementary filter, Madgwick, Mahony, full EKF. Sample rate 8 kHz, low-pass to 100 Hz, gyro-bias tracking.</description>
      <category>systems</category>
    </item>
    <item>
      <title>DWT, ITM, and ETM</title>
      <link>https://armhub.dev/docs/cortex-m/dwt-itm-etm/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/dwt-itm-etm/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Debug Watchpoint and Trace, Instrumentation Trace Macrocell, Embedded Trace Macrocell. PC sampling, cycle counting, SWO printf, exception trace, function trace.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>ECC, parity, and fault detection</title>
      <link>https://armhub.dev/docs/cortex-r/ecc/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-r/ecc/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How Cortex-R parts catch hardware faults — SECDED Hamming on TCMs and caches, parity on bus interfaces, the ESM (Error Signaling Module) in TI TMS570, precise vs imprecise data aborts, and how software-driven error injection drives functional safety tests.</description>
      <category>cortex-r</category>
    </item>
    <item>
      <title>Ethernet MAC &amp; PHY</title>
      <link>https://armhub.dev/docs/peripherals/ethernet/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/ethernet/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The Ethernet peripheral on Cortex-M parts — MAC vs PHY split, MII/RMII/RGMII interfaces, descriptor rings, PTP hardware timestamping, hardware checksum and VLAN offload, and the MDIO bus that configures the PHY.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>EV charger power stage</title>
      <link>https://armhub.dev/docs/systems/ev-charger-power/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/ev-charger-power/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>EV charger power electronics — AC-DC PFC, isolated DC-DC LLC, three-phase rectification for &gt;7 kW, CC/CV control, vehicle communication via Control Pilot PLC (J1772/CCS). Cortex-M role in digital control loops.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Exclusive monitors (LDREX/STREX)</title>
      <link>https://armhub.dev/docs/architecture/exclusive-monitors/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/exclusive-monitors/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The atomic primitive that builds every lock on ARM — the LDREX/STREX exclusive monitor. How it works, when it clears, how to layer spinlocks and lock-free counters on top, and the ARMv8.1 CAS instruction that supersedes it on Cortex-A.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>Firmware profiling</title>
      <link>https://armhub.dev/docs/tools/profiling/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/profiling/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Measuring where time goes on Cortex-M — DWT PC sampling, SystemView, Tracealyzer, ETM streaming with J-Trace, and embedded gcov for coverage. When statistical wins, when full trace wins, and how to wire each up.</description>
      <category>tools</category>
    </item>
    <item>
      <title>Floating-Point Unit (FPU)</title>
      <link>https://armhub.dev/docs/cortex-m/fpu/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/fpu/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>FPv4-SP on M4, FPv5-SP/DP on M7/M33/M85, MVE on M55/M85. Register file, FPSCR, lazy stacking, extended stack frame, CPACR enable, denormal handling.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Formal methods in firmware</title>
      <link>https://armhub.dev/docs/tools/formal-methods/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/formal-methods/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Mathematical proof of firmware properties — Frama-C with WP and EVA, TLA+ for protocol design, CBMC bounded model checking, Astrée abstract interpretation. When the investment pays off, and how Airbus, SEL, and Amazon use them.</description>
      <category>tools</category>
    </item>
    <item>
      <title>GIC — Generic Interrupt Controller</title>
      <link>https://armhub.dev/docs/cortex-a/gic/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/gic/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How interrupts are routed on Cortex-A — GICv2 vs v3 vs v4, SGI/PPI/SPI/LPI classes, distributor + redistributor + CPU interface, affinity routing, priority/preemption rules, and the EOI/active-priority stack.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>GigaDevice GD32</title>
      <link>https://armhub.dev/docs/vendors/gigadevice/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/gigadevice/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Beijing-based MCU vendor shipping Cortex-M0+/M3/M4/M7/M23/M33/R52 parts as pin-and-register-compatible STM32 alternatives with their own peripheral IP and aggressive pricing.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>GigaDevice GD32F — mainstream M3, M4, M7</title>
      <link>https://armhub.dev/docs/vendors/gigadevice-gd32f/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/gigadevice-gd32f/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>GD32F1 through GD32F7 — the workhorse Cortex-M3/M4/M7 line. Pin-and-register compatibility with STM32F1/F3/F4/F7, the migration gotchas, and which part to pick for which design.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>GigaDevice GD32L — Cortex-M23 low-power</title>
      <link>https://armhub.dev/docs/vendors/gigadevice-gd32l/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/gigadevice-gd32l/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>GD32L23 and GD32L235 — sub-microamp stop modes, TrustZone-M, LPUART, LPTIM, and the GigaDevice answer to the STM32L0/L4 battery-IoT slot.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>GigaDevice GD32W — Wi-Fi and BLE on Cortex-M33</title>
      <link>https://armhub.dev/docs/vendors/gigadevice-gd32w/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/gigadevice-gd32w/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>GD32W51x — single-band Wi-Fi 4 plus BLE 5.x on a Cortex-M33 with TrustZone-M. The GigaDevice answer to ESP32 and STM32WB, with HMAC/AES/SHA acceleration.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>GPIO alternate functions &amp; drive</title>
      <link>https://armhub.dev/docs/peripherals/gpio-af/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/gpio-af/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How a single physical pin gets multiplexed between dozens of peripherals — alternate-function tables, output type, slew-rate control, pull resistors, Schmitt input, and the vendor differences between STM32 AF, NXP IOCON, and Nordic GPIOTE.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Industrial edge gateway</title>
      <link>https://armhub.dev/docs/systems/industrial-gateway/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/industrial-gateway/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Industrial edge gateway architecture — Cortex-A application plus Cortex-R5 or PRU real-time. Fieldbus interfaces (Modbus, EtherCAT, PROFINET, IO-Link), TSN, OPC UA server, MQTT to cloud, Linux + containerised apps.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Infineon AURIX TC3xx and TC4xx</title>
      <link>https://armhub.dev/docs/vendors/aurix/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/aurix/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Infineon AURIX — TriCore-based automotive microcontrollers (NOT ARM), ASIL-D capable lockstep, on-chip HSM, used in EV powertrain inverter control and ADAS sensor fusion. Why an ARM-focused reference covers AURIX, and how it pairs with Cortex cores in modern ECUs.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>IPC primitives</title>
      <link>https://armhub.dev/docs/rtos/ipc/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/ipc/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>RTOS inter-task communication — semaphores, mutexes, queues, event groups, stream and message buffers, task notifications. Latency, memory cost, and the right tool for each problem.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Jetson AGX Orin and Thor</title>
      <link>https://armhub.dev/docs/vendors/nvidia-jetson-agx/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nvidia-jetson-agx/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>NVIDIA&apos;s top-tier Jetson modules. AGX Orin with 12 Cortex-A78AE cores and 275 TOPS, AGX Thor with Neoverse-derived A720AE and Blackwell GPU at 2000 TOPS for humanoid robotics and autonomous driving development.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Jetson Orin Nano and Orin NX</title>
      <link>https://armhub.dev/docs/vendors/nvidia-jetson-orin-nano/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nvidia-jetson-orin-nano/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>NVIDIA Jetson Orin Nano and Orin NX — Cortex-A78AE plus Ampere GPU on a SODIMM module. 20 to 100 TOPS INT8, 5 to 25 W, pin-compatible across the family. Real workloads, nvpmodel power modes, and a comparison with Raspberry Pi 5 plus Hailo-8.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Lesson 1 — Hello, C</title>
      <link>https://armhub.dev/docs/programming/c-lesson-01-hello/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-01-hello/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The anatomy of a C program, printf and format specifiers, what every gcc flag in the strict build command actually does, exit codes, and why &quot;void main&quot; is wrong.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 1 — Hello, C++</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-01-hello/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-01-hello/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Your first C++ program, std::cout and stream insertion, auto type deduction, nullptr, the using-namespace debate, and a roadmap of the four C++ super-features.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 1 — Toolchain setup</title>
      <link>https://armhub.dev/docs/programming/tutorial-01-toolchain/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-01-toolchain/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Install arm-none-eabi-gcc, OpenOCD, and GDB. Wire up the ST-Link. Verify the toolchain with a one-line compile and decode every GCC flag.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 1 — Why an RTOS, and when not</title>
      <link>https://armhub.dev/docs/rtos/tutorial-01-why-rtos/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-01-why-rtos/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Bare-metal superloop vs scheduled tasks. Hard vs soft real-time. The exact list of problems an RTOS solves — and the workloads where it costs more than it gives.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 10 — Dynamic memory</title>
      <link>https://armhub.dev/docs/programming/c-lesson-10-dynamic-memory/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-10-dynamic-memory/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>malloc, calloc, realloc, free, the heap, double-free and use-after-free, leaks, valgrind, ownership patterns, a growable vector, and why embedded systems avoid malloc.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 10 — Ring buffers and DMA-driven UART</title>
      <link>https://armhub.dev/docs/programming/tutorial-10-ringbuffer-dma/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-10-ringbuffer-dma/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Lock-free SPSC ring buffer with power-of-two sizing. Circular DMA on USART2 RX, half-transfer and transfer-complete interrupts. The driver that ships in production firmware.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 10 — Tickless idle and debugging</title>
      <link>https://armhub.dev/docs/rtos/tutorial-10-tickless-debug/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-10-tickless-debug/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Suppress SysTick during idle and save 100×–1000× power. Trace tools — SystemView, Tracealyzer, Ozone. Common bugs and how to find them. Where to go after FreeRTOS.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 11 — The preprocessor</title>
      <link>https://armhub.dev/docs/programming/c-lesson-11-preprocessor/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-11-preprocessor/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>include, define, conditional compilation, function-like macros with parenthesisation, stringification, token pasting, predefined macros, X-macros, _Generic, and when not to use macros.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 12 — Multi-file projects</title>
      <link>https://armhub.dev/docs/programming/c-lesson-12-multi-file/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-12-multi-file/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Translation units, the header/source split, extern, the one-definition rule, static linkage, avoiding cyclic includes, building a 5-file project, and a 30-line Makefile.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 13 — The C standard library</title>
      <link>https://armhub.dev/docs/programming/c-lesson-13-stdlib/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-13-stdlib/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>A tour of the headers that matter — stdio, stdlib, string, math, time, assert, errno, limits, stddef, stdint, stdbool, inttypes. File I/O, qsort, bsearch, memcpy vs memmove.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 14 — Undefined behavior, the dragon</title>
      <link>https://armhub.dev/docs/programming/c-lesson-14-ub/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-14-ub/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>What UB is and why the compiler is free to do anything. The classic list. Address Sanitizer. The optimisations that exploit UB. The 10 rules to follow in practice.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 15 — Modern C, C11/C17/C23</title>
      <link>https://armhub.dev/docs/programming/c-lesson-15-modern-c/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-15-modern-c/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>What each revision added — Static_assert, Generic, atomics, nullptr, constexpr, attributes, typeof, BitInt, embed. Which compilers support what and when to use them.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 2 — Hello FreeRTOS</title>
      <link>https://armhub.dev/docs/rtos/tutorial-02-hello-freertos/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-02-hello-freertos/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Pull the FreeRTOS kernel from GitHub, wire SysTick/PendSV/SVC, write FreeRTOSConfig.h, build, flash, and watch your first task blink an LED.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 2 — References, namespaces, and the basics</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-02-references/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-02-references/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>References vs pointers, const T&amp; parameters, namespaces, function overloading, default arguments, and strongly typed enum class — the scaffolding that makes C++ feel different from C.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 2 — Types and literals</title>
      <link>https://armhub.dev/docs/programming/c-lesson-02-types/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-02-types/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Integer types and the standard&apos;s actual guarantees, fixed-width types from stdint.h, floating point, every integer literal form, sizeof, and the implicit-conversion rules that bite.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 2 — Your first blink, no HAL</title>
      <link>https://armhub.dev/docs/programming/tutorial-02-bare-metal/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-02-bare-metal/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Write main.c, startup.s, and linker.ld from scratch. Build, flash, watch the LED blink. Every line is yours — about 80 lines total.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 3 — Classes and RAII</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-03-classes/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-03-classes/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Constructors, destructors, member init lists, the rule of three and five, access control, RAII as the killer feature, explicit, = default, = delete, static members.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 3 — Expressions and operators</title>
      <link>https://armhub.dev/docs/programming/c-lesson-03-expressions/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-03-expressions/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Every C operator, the precedence and associativity table, short-circuit evaluation, sequence points, and why a[i] = i++ is undefined behavior.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 3 — Reading hardware registers in C</title>
      <link>https://armhub.dev/docs/programming/tutorial-03-registers/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-03-registers/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>volatile, memory-mapped I/O, peripheral struct types, atomic single-bit writes via BSRR, and the read-modify-write hazards that bite every embedded engineer.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 3 — Tasks, what they are</title>
      <link>https://armhub.dev/docs/rtos/tutorial-03-tasks/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-03-tasks/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>What xTaskCreate actually allocates. Stack sizing with the high-water mark. Priority. Ready/Running/Blocked/Suspended. Observing pre-emption on real silicon.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 4 — Control flow</title>
      <link>https://armhub.dev/docs/programming/c-lesson-04-control-flow/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-04-control-flow/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>if, switch, while, do/while, for, break/continue/goto, the case fall-through rule, and the unsigned-loop overflow that catches every engineer at least once.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 4 — Inheritance and polymorphism</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-04-inheritance/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-04-inheritance/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Single inheritance, virtual functions and the vtable, override and final, virtual destructors, abstract classes, the diamond problem, and when composition beats inheritance.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 4 — Memory layout</title>
      <link>https://armhub.dev/docs/programming/tutorial-04-memory-map/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-04-memory-map/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Walk the Cortex-M memory map — flash, SRAM, peripherals, system region. Decode _etext, _sdata, _edata, _sbss, _ebss. Watch the startup-time .data copy.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 4 — Synchronisation with semaphores</title>
      <link>https://armhub.dev/docs/rtos/tutorial-04-semaphores/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-04-semaphores/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Binary semaphore for ISR-to-task signalling. Counting semaphore for resource pools. portYIELD_FROM_ISR. The UART-RX-to-parser-task pattern that&apos;s in every product.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 5 — A minimum linker script you understand</title>
      <link>https://armhub.dev/docs/programming/tutorial-05-linker-script/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-05-linker-script/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Annotate the linker.ld from lesson 2 line-by-line. MEMORY, SECTIONS, AT-load, PROVIDE, ENTRY. Add a bootloader region. Reserve heap and stack.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 5 — Functions</title>
      <link>https://armhub.dev/docs/programming/c-lesson-05-functions/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-05-functions/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Declarations vs definitions, headers and prototypes, pass-by-value (C has nothing else), static and inline, recursion, and the f() vs f(void) trap that bit everyone before C23.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 5 — Mutex and priority inheritance</title>
      <link>https://armhub.dev/docs/rtos/tutorial-05-mutex/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-05-mutex/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Why a mutex is not a binary semaphore. The Mars Pathfinder story. Recursive vs non-recursive. configMAX_SYSCALL_INTERRUPT_PRIORITY done correctly.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 5 — Templates</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-05-templates/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-05-templates/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Function and class templates, type deduction, template specialisation, variadic packs, if constexpr, concepts (C++20), and a RingBuffer with N as a template parameter — the zero-overhead polymorphism mechanism.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 6 — Arrays</title>
      <link>https://armhub.dev/docs/programming/c-lesson-06-arrays/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-06-arrays/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Array declaration, indexing, the famous array-to-pointer decay, multi-dimensional arrays, designated initializers, VLAs, and a fixed-size circular buffer implementation.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 6 — Interrupts and ISRs</title>
      <link>https://armhub.dev/docs/programming/tutorial-06-interrupts/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-06-interrupts/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Write a SysTick handler by hand. Configure the timer, define the handler, set NVIC priority, manage volatile shared state, and bracket critical sections with BASEPRI.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 6 — Queues for IPC</title>
      <link>https://armhub.dev/docs/rtos/tutorial-06-queues/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-06-queues/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Copy-by-value queues. Producer/consumer. ISR-safe sends. The pointer-vs-copy decision. UART RX parser written the proper way.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 6 — STL containers</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-06-stl-containers/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-06-stl-containers/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>std::vector, std::array, std::string with SSO, std::map vs std::unordered_map, std::set, std::deque and std::list, std::span — when to use each, what they cost, and which to avoid on embedded.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 7 — Bit manipulation patterns</title>
      <link>https://armhub.dev/docs/programming/tutorial-07-bit-patterns/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-07-bit-patterns/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Set, clear, toggle. Multi-bit fields. Sign extension. __builtin_clz, __builtin_popcount, __builtin_ctz. __REV. Saturate-add DSP intrinsics on Cortex-M4F.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 7 — Event groups and task notifications</title>
      <link>https://armhub.dev/docs/rtos/tutorial-07-events-notifications/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-07-events-notifications/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Wait on AND/OR bit patterns for &quot;all subsystems ready&quot; rendezvous. Task notifications — the FreeRTOS fast IPC, ~45× faster than a semaphore.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 7 — Iterators and algorithms</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-07-iterators-algorithms/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-07-iterators-algorithms/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Iterator categories, range-based for, the std::algorithm header (sort, find, transform, accumulate), and C++20 ranges and views — the operations that work across every STL container.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 7 — Pointers, the C superpower</title>
      <link>https://armhub.dev/docs/programming/c-lesson-07-pointers/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-07-pointers/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Addresses, dereference, NULL, pointer arithmetic, const correctness in all three positions, function pointers as first-class values, and a generic sort using a comparator.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 8 — Fixed-point math without an FPU</title>
      <link>https://armhub.dev/docs/programming/tutorial-08-fixed-point/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-08-fixed-point/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Q-format primer. Q15 and Q31 multiplication and overflow rules. CMSIS-DSP helpers. A complete Q15 PID controller. When floats are fine on Cortex-M4F.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 8 — Smart pointers</title>
      <link>https://armhub.dev/docs/programming/cpp-lesson-08-smart-pointers/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp-lesson-08-smart-pointers/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>std::unique_ptr, std::shared_ptr, std::weak_ptr, std::make_unique, std::make_shared, custom deleters, the owning-vs-non-owning distinction, and why raw new and delete are mostly wrong in modern C++.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 8 — Stream buffers and software timers</title>
      <link>https://armhub.dev/docs/rtos/tutorial-08-streams-timers/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-08-streams-timers/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Lock-free byte streams for UART RX. Software timers and the timer daemon task. configTIMER_TASK_PRIORITY pitfalls. The blink-once abstraction.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 8 — Strings</title>
      <link>https://armhub.dev/docs/programming/c-lesson-08-strings/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-08-strings/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>There is no string type in C. NUL termination, the strncpy trap, snprintf as your friend, sscanf pitfalls, why gets is gone, UTF-8, char32_t, and a safe string_copy.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 9 — Memory management, heap and stack</title>
      <link>https://armhub.dev/docs/rtos/tutorial-09-memory/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial-09-memory/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>heap_1 through heap_5 — what each one does and when to pick which. Stack overflow detection. Static allocation for safety-cert builds.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Lesson 9 — State machines that survive</title>
      <link>https://armhub.dev/docs/programming/tutorial-09-state-machine/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/tutorial-09-state-machine/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Switch-case FSMs, function-pointer-table FSMs, hierarchical state machines. A real UART command parser that dispatches LED ON / LED OFF / BLINK 5.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lesson 9 — Structs and unions</title>
      <link>https://armhub.dev/docs/programming/c-lesson-09-structs/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/c-lesson-09-structs/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Struct declaration, field access, padding and alignment, packed structs for wire formats, anonymous structs, unions as tagged sum types, bit fields, designated initializers.</description>
      <category>programming</category>
    </item>
    <item>
      <title>libc for embedded — newlib, newlib-nano, picolibc</title>
      <link>https://armhub.dev/docs/programming/libc/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/libc/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The C standard library on Cortex-M and Cortex-A. newlib, newlib-nano, picolibc, glibc, musl. Syscall stubs, heap layout, re-entrancy, printf cost, and how to retarget a libc for a bare-metal target.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Low-power &amp; sleep modes</title>
      <link>https://armhub.dev/docs/cortex-m/low-power/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/low-power/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>WFI, WFE, sleep / deep-sleep / standby. SCB.SCR.SLEEPDEEP, SLEEPONEXIT, the event registers, wake-up sources, and power consumption tradeoffs.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Maxim Integrated / Analog Devices MAX32</title>
      <link>https://armhub.dev/docs/vendors/maxim/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/maxim/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Maxim&apos;s MAX32 Cortex-M microcontroller line under ADI. DARWIN low-power architecture, tiny WLP packages for hearables, precision analog integration, BLE radios, and the MAX78000 CNN ML accelerator.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Maxim MAX32 general-purpose Cortex-M4F</title>
      <link>https://armhub.dev/docs/vendors/maxim-max32/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/maxim-max32/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The mainstream Maxim MAX32 Cortex-M4F parts — MAX32660 in 1.6 mm WLP, MAX32670/72 with precision ADCs, MAX32650 for audio, and MAX32690 with on-die BLE 5.2. Power, peripherals, and an I2S DMA example.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Maxim MAX78000 and MAX78002 CNN accelerator</title>
      <link>https://armhub.dev/docs/vendors/maxim-max78000/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/maxim-max78000/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Maxim&apos;s MAX78000 and MAX78002 — Cortex-M4F microcontrollers with a dedicated convolutional neural network engine. Sub-milliwatt inference for keyword spotting, person detection, and audio classification at the edge.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>MediaTek — Genio, Filogic, Dimensity</title>
      <link>https://armhub.dev/docs/vendors/mediatek/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/mediatek/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>MediaTek is the world&apos;s second-largest fabless silicon vendor. Genio for IoT and edge AI, Filogic for Wi-Fi routers, Dimensity for smartphones, all on TSMC.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>MediaTek Filogic — Wi-Fi 6, Wi-Fi 6E, and Wi-Fi 7 router SoCs</title>
      <link>https://armhub.dev/docs/vendors/mediatek-filogic/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/mediatek-filogic/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>MediaTek Filogic 880, 830, and 630 — quad Cortex-A53 plus Wi-Fi 7 MAC, WED packet engine, MLO, 4K-QAM. OpenWrt and vendor SDK split, real product list.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>MediaTek Genio — IoT, HMI, and edge AI</title>
      <link>https://armhub.dev/docs/vendors/mediatek-genio/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/mediatek-genio/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>MediaTek Genio family for IoT and edge AI. Genio 350 to Genio 1200 — Cortex-A35 to Cortex-A78, Mali GPU, NeuroPilot APU, Yocto BSP, NPU model conversion.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Medical-grade wearable</title>
      <link>https://armhub.dev/docs/systems/medical-wearable/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/medical-wearable/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Architecting a medical-grade wearable — PPG and ECG signal chain, sample rate and ADC requirements, BLE for sync, regulatory framework (IEC 60601, ISO 14971, IEC 62304), battery life via duty-cycling.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Motor field-oriented control</title>
      <link>https://armhub.dev/docs/systems/motor-foc/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/motor-foc/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Field-oriented control of three-phase motors on Cortex-M. Clarke and Park transforms, d-q frame PI controllers, SVPWM, position estimation (encoder or sensorless), 10–20 kHz loop on M4F/M7 with DSP extensions or vendor FOC libraries.</description>
      <category>systems</category>
    </item>
    <item>
      <title>MPU &amp; TCM on Cortex-R</title>
      <link>https://armhub.dev/docs/cortex-r/mpu-tcm/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-r/mpu-tcm/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Memory protection regions and tightly-coupled memories on Cortex-R — how the MPU differs from Cortex-M, the ATCM/BTCM at fixed addresses, ECC-enabled bring-up, and vector remap mechanics for fault tolerance.</description>
      <category>cortex-r</category>
    </item>
    <item>
      <title>MPU on Cortex-M</title>
      <link>https://armhub.dev/docs/cortex-m/mpu/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/mpu/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The Memory Protection Unit — how Cortex-M defines memory regions, what attributes they carry, how privileged and unprivileged code see different views, and the rules for stack overflow detection, RTOS task isolation, and execute-never enforcement.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>NEON, SVE &amp; SVE2</title>
      <link>https://armhub.dev/docs/cortex-a/neon-sve/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/neon-sve/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>ARM&apos;s SIMD lineage — fixed-width NEON (Advanced SIMD), scalable-vector SVE with predicate-driven loops, and SVE2&apos;s expansion into integer, string, and crypto. Practical auto-vectorization and intrinsics for dot products and image filters.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>Nordic nRF53 series</title>
      <link>https://armhub.dev/docs/vendors/nordic-nrf53/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nordic-nrf53/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Nordic Semiconductor&apos;s nRF5340 — dual Cortex-M33 with TrustZone, 128 MHz application core, 64 MHz network core running BLE/Thread/Matter. Inter-processor communication, nrfx HAL, Zephyr-based nRF Connect SDK.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Nordic nRF91 series</title>
      <link>https://armhub.dev/docs/vendors/nordic-nrf91/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nordic-nrf91/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Nordic&apos;s nRF9160 and nRF9151 — single Cortex-M33 with integrated LTE-M, NB-IoT, and GPS modem. Modem firmware, AT commands, trace-and-test split, nRF Connect SDK on Zephyr, and real-world cellular IoT design.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Nuvoton NuMicro</title>
      <link>https://armhub.dev/docs/vendors/nuvoton/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nuvoton/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Nuvoton Technology — Taiwan&apos;s quiet Cortex-M heavyweight. NuMicro M0/M23/M4/M55 portfolio, fabless-with-fab strategy, NuTool ecosystem, where it beats STM32 and where it doesn&apos;t.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Nuvoton NuMicro M0</title>
      <link>https://armhub.dev/docs/vendors/nuvoton-m0/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nuvoton-m0/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>NuMicro Cortex-M0 entry families — NUC100, NUC200, NANO100 ultra-low-power, M031/M032 modern entry, and the LD-ROM/APROM dual-flash boot architecture that defines them.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Nuvoton NuMicro M23</title>
      <link>https://armhub.dev/docs/vendors/nuvoton-m23/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nuvoton-m23/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>NuMicro Cortex-M23 secure family — M2351 / M2354 with TrustZone-M, ROM-based secure boot, anti-tamper, Key Store, PSA Certified Level 2 silicon. Nuvoton&apos;s answer to STM32L5.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Nuvoton NuMicro M4</title>
      <link>https://armhub.dev/docs/vendors/nuvoton-m4/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nuvoton-m4/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>NuMicro Cortex-M4F mainstream — M451, NUC472, M480 (192 MHz with HS USB, Ethernet, CAN-FD, crypto), M487 industrial, M032 entry. Where it competes with STM32F4 and GD32F4.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>NVIC priority &amp; preemption</title>
      <link>https://armhub.dev/docs/cortex-m/nvic-priority/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/nvic-priority/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How the Cortex-M priority byte gets split into preempt and sub-priority groups, why PRIGROUP matters, how priority changes interact with active interrupts, and the exact rules the hardware uses to decide what runs next.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>NVIC register reference</title>
      <link>https://armhub.dev/docs/cortex-m/nvic-registers/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/nvic-registers/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Every NVIC register decoded — ISER, ICER, ISPR, ICPR, IABR, IPR, STIR. Address map, atomic semantics, debug behaviour, and the gotchas of write-1-to-set / write-1-to-clear.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>NVIDIA Jetson — edge AI on Cortex-A</title>
      <link>https://armhub.dev/docs/vendors/nvidia-jetson/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nvidia-jetson/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>NVIDIA&apos;s Jetson family — Cortex-A CPUs plus NVIDIA GPU and DLA on a single SoM. From TK1 in 2014 to Thor in 2025, the JetPack SDK, TensorRT, CUDA, and why Jetson dominates serious edge AI.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>NXP LPC family</title>
      <link>https://armhub.dev/docs/vendors/nxp-lpc/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nxp-lpc/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>NXP&apos;s LPC microcontrollers — LPC54xxx M4+M0+ dual core, LPC55Sxx M33 with TrustZone and PUF, LPC845 low-cost M0+. State-Configurable Timer, MCUXpresso ecosystem, and how LPC differs from i.MX RT.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>OTA firmware update</title>
      <link>https://armhub.dev/docs/programming/ota/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/ota/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Over-the-air update for embedded ARM devices. A/B banks, delta updates, secure transport, rollback safety, FOTA over BLE / Wi-Fi / cellular, and the major IoT cloud update services.</description>
      <category>programming</category>
    </item>
    <item>
      <title>PAC, BTI, and MTE</title>
      <link>https://armhub.dev/docs/architecture/pac-bti-mte/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/pac-bti-mte/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The three modern ARM hardware-security extensions — Pointer Authentication (PAC) against ROP, Branch Target Identification (BTI) against JOP, and Memory Tagging Extension (MTE) against use-after-free and buffer overflows. What they cost, where they&apos;re deployed, and the threat model each one defeats.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>Performance Monitoring Unit (PMU)</title>
      <link>https://armhub.dev/docs/cortex-a/pmu/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/pmu/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How to profile Cortex-A workloads — PMCR control, event counters and architectural events, perf_event_open / perf record workflows, and the Statistical Profiling Extension (SPE) for sub-instruction sampling on ARMv8.2+.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>Performance Monitoring Unit (PMU)</title>
      <link>https://armhub.dev/docs/architecture/pmu/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/pmu/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How ARM counts cycles, instructions, cache misses, and dozens of other events — the PMU on Cortex-A and Cortex-R, the lightweight DWT counters on Cortex-M, and how to use them to measure IPC, branch mispredict rates, and cache pressure.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>Priority inversion</title>
      <link>https://armhub.dev/docs/rtos/priority-inversion/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/priority-inversion/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How a high-priority task gets blocked by a low-priority one through a shared mutex. The Mars Pathfinder story. Priority inheritance, priority ceiling protocol, and how FreeRTOS / Zephyr / ThreadX implement them.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Quad-SPI &amp; Octo-SPI</title>
      <link>https://armhub.dev/docs/peripherals/qspi-ospi/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/qspi-ospi/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Memory-mapped access to external NOR flash over 4 or 8 parallel data lines. Single/dual/quad/octal SDR and DDR modes, the command-address-data phase model, indirect vs memory-mapped operation, and XIP from external flash on STM32 and NXP parts.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Rockchip — RK3399, RK3568, RK3588, and the SBC ecosystem</title>
      <link>https://armhub.dev/docs/vendors/rockchip/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/rockchip/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Rockchip is the largest Chinese application-processor vendor outside mobile. RK3568 for IoT gateways, RK3588 for edge AI workstations, dominant in SBC market.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Rockchip RK3566 and RK3568 — Cortex-A55 IoT and gateway SoC</title>
      <link>https://armhub.dev/docs/vendors/rockchip-rk3568/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/rockchip-rk3568/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Rockchip RK3566 and RK3568. Quad Cortex-A55, Mali-G52, NPU, dual GbE, PCIe Gen3. Buildroot and Armbian, mainline kernel status, device-tree examples.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Rockchip RK3588 and RK3588S — flagship Cortex-A76 edge AI SoC</title>
      <link>https://armhub.dev/docs/vendors/rockchip-rk3588/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/rockchip-rk3588/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Rockchip RK3588 and RK3588S. Quad Cortex-A76 plus quad Cortex-A55, Mali-G610, 6 TOPS NPU, 8K decode. RKNN Toolkit, Orange Pi 5 Plus, Rock 5B, edge AI use cases.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>RT-Thread</title>
      <link>https://armhub.dev/docs/rtos/rt-thread/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/rt-thread/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>RT-Thread RTOS — Chinese-developed, dominant in Asia, object-oriented kernel with a package manager, finsh shell, lwIP/FAT integration, SMP support, and optional MMU. Architecture, components, and how it differs from FreeRTOS.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>RTOS scheduling</title>
      <link>https://armhub.dev/docs/rtos/scheduling/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/scheduling/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Real-time scheduling theory and practice. Priority-based preemptive vs cooperative, rate-monotonic analysis, the Liu-Layland bound, deadline-monotonic, EDF, time-slicing, and how to assign priorities to a real workload.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>RTOS tutorial — FreeRTOS on Cortex-M from zero</title>
      <link>https://armhub.dev/docs/rtos/tutorial/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tutorial/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>A hands-on 10-lesson tutorial. Why an RTOS, your first task, blocking primitives, queues, event groups, mutexes done right, tickless idle, debugging — all on real silicon.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Safety standards (ISO 26262 / IEC 61508)</title>
      <link>https://armhub.dev/docs/cortex-r/safety-standards/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-r/safety-standards/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How Cortex-R-based designs meet functional safety standards — ISO 26262 ASIL classification, IEC 61508 SIL, DO-178C for avionics, IEC 62304 for medical. What ARM ships as &quot;safety packs&quot; and what the integrator still owns.</description>
      <category>cortex-r</category>
    </item>
    <item>
      <title>Safety-certified RTOSes</title>
      <link>https://armhub.dev/docs/rtos/safety-rtos/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/safety-rtos/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Safety-certified real-time operating systems. SAFERTOS, Azure RTOS ThreadX certifications, PikeOS, QNX, INTEGRITY, VxWorks Cert. IEC 61508, ISO 26262, DO-178C, IEC 62304, and the artifacts required.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>SDMMC &amp; SDIO</title>
      <link>https://armhub.dev/docs/peripherals/sdmmc/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/sdmmc/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The SD/MMC card peripheral on Cortex-M — protocol layers from CMD0/CMD1 initialization through UHS-I speeds, 4-bit data line operation, the SDIO variant for Wi-Fi and other non-card devices, and FATFS integration.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>SMBus &amp; PMBus</title>
      <link>https://armhub.dev/docs/peripherals/smbus/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/smbus/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>System Management Bus and Power Management Bus — extensions on top of I²C with packet error checking, address resolution, alert response, and the standardized PMBus power-supply command set used by every modern point-of-load converter.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>SMP &amp; cache coherency on Cortex-A</title>
      <link>https://armhub.dev/docs/cortex-a/smp/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/smp/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Symmetric multiprocessing on Cortex-A clusters — CCI/CCN interconnect, MESI/MOESI cache coherency, LDXR/STXR spinlocks, inter-processor interrupts via SGIs, secondary CPU boot via PSCI, and the Linux scheduler&apos;s view.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>Static analysis for firmware</title>
      <link>https://armhub.dev/docs/tools/static-analysis/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/static-analysis/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Catching bugs before the firmware runs — clang-tidy, scan-build, Coverity, Polyspace, PC-lint Plus, Cppcheck, MISRA-C 2012 conformance, and how to make CI gating actually useful.</description>
      <category>tools</category>
    </item>
    <item>
      <title>STM32 low-power — L and U series</title>
      <link>https://armhub.dev/docs/vendors/stm32-lowpower/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/stm32-lowpower/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>STM32 L series (M3/M4/M33 low-power) and U series (M33 with TrustZone, ultra-low-power), stop-mode currents below 1 µA, LPTIM and LPUART autonomous peripherals, designing a battery-powered system from the silicon up.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>STM32 mainstream — F, G, H series</title>
      <link>https://armhub.dev/docs/vendors/stm32-mainstream/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/stm32-mainstream/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The mainstream STM32 lines — F-series general-purpose M3/M4/M7, G-series cost-optimised M4 with ART accelerator, H-series M7 with cache and Chrom-ART. Architecture differences, ecosystem, and how to pick.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>STM32 wireless — WB and WL</title>
      <link>https://armhub.dev/docs/vendors/stm32-wireless/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/stm32-wireless/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>STM32WB dual-core BLE/Thread/Zigbee with a dedicated Cortex-M0+ radio core, STM32WL sub-GHz LoRa with M4 application and M0+ Sub-GHz radio. How the application/network split works, IPC, and coexistence.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>SWO and ITM tracing</title>
      <link>https://armhub.dev/docs/tools/swo/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/swo/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Serial Wire Output and the Instrumentation Trace Macrocell — non-halting printf, exception tracing, PC sampling and DWT counters streamed over a single pin at multi-megabit rates.</description>
      <category>tools</category>
    </item>
    <item>
      <title>System Control Block (SCB)</title>
      <link>https://armhub.dev/docs/cortex-m/scb/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/scb/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>ICSR, AIRCR, SCR, CCR, SHPR1-3, SHCSR, CFSR, HFSR, MMFAR, BFAR — every SCB register decoded. Reset, sleep, fault handling, exception priority, and unaligned-access trapping.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Tail-chain &amp; late-arrival</title>
      <link>https://armhub.dev/docs/cortex-m/tail-chain/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/tail-chain/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>The two NVIC optimizations that hide exception-entry latency. Cycle-by-cycle: standard entry, tail-chain savings, late-arrival upgrade path.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>TI Sitara — AM62x, AM64x, AM243x</title>
      <link>https://armhub.dev/docs/vendors/ti-sitara/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/ti-sitara/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Texas Instruments Sitara processor family — Cortex-A53 / Cortex-R5F / Cortex-M4F heterogeneous SoCs. AM62x for HMI and edge AI, AM64x for industrial fieldbus, AM243x as full-R5 safety controller. PRU, Linux + RTOS split.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Tickless idle</title>
      <link>https://armhub.dev/docs/rtos/tickless/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/tickless/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Power-aware RTOS idle. Conventional 1ms tick costs a wakeup every millisecond. Tickless skips ticks when no task is ready, sleeps until the next real deadline. FreeRTOS portSUPPRESS_TICKS_AND_SLEEP, Zephyr CONFIG_TICKLESS_KERNEL, wakeup sources, and catch-up logic.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>TLB &amp; address translation</title>
      <link>https://armhub.dev/docs/cortex-a/tlb/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/tlb/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How Cortex-A cores translate virtual to physical addresses — split L1 TLBs, unified L2 TLB, ASIDs and VMIDs, page-walk caches, the TTL hint, and the real cost of a TLB miss in a modern OoO core.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>TrustZone-M deep dive</title>
      <link>https://armhub.dev/docs/architecture/trustzone-m/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/trustzone-m/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How TrustZone for ARMv8-M partitions a Cortex-M chip into Secure and Non-secure worlds — SAU, IDAU, NSC regions, the SG gateway instruction, TT probes, SecureFault, and how TF-M ties it together.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>UART — LIN &amp; ISO 7816 modes</title>
      <link>https://armhub.dev/docs/peripherals/uart-lin-iso7816/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/uart-lin-iso7816/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Two specialist protocols layered on top of the same USART hardware — LIN for low-cost automotive networking and ISO 7816 for contact smartcards. Frame structure, hardware support on STM32, and the timing rules that matter in production.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>USB Host &amp; OTG</title>
      <link>https://armhub.dev/docs/peripherals/usb-host/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/usb-host/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Acting as a USB host on Cortex-M — enumeration, transfer scheduling, the controller stack from PHY up to class drivers, and the dual-role OTG mechanism that lets a single port flip between host and device based on the ID pin.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Vector table &amp; VTOR</title>
      <link>https://armhub.dev/docs/cortex-m/vector-table/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/vector-table/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>Vector table layout, VTOR register, relocating to RAM for bootloader splits and dynamic dispatch, alignment requirements, and the bring-up gotchas.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Virtualization &amp; EL2</title>
      <link>https://armhub.dev/docs/cortex-a/virtualization/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/virtualization/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>How Cortex-A virtualization works at EL2 — stage-1 and stage-2 translation, VHE for type-2 hypervisors, vGIC for interrupt delivery, the HVC/SVC/SMC instruction split, and what KVM, Xen, and Jailhouse do with all of it.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>volatile &amp; memory-mapped IO</title>
      <link>https://armhub.dev/docs/programming/volatile-mmio/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/volatile-mmio/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>What volatile actually guarantees, why MMIO without it is broken, read-modify-write hazards on peripheral registers, bit-banding on M3/M4, and the Cortex-M memory-ordering rules for device vs normal memory.</description>
      <category>programming</category>
    </item>
    <item>
      <title>ADC / DAC</title>
      <link>https://armhub.dev/docs/peripherals/adc/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/adc/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Analog-to-digital and digital-to-analog converters — sampling, resolution, references, oversampling, and the signal-chain tradeoffs you make without realising it.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>ARMv7-M &amp; ARMv8-M</title>
      <link>https://armhub.dev/docs/architecture/armv7m-armv8m/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/armv7m-armv8m/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>What changed between ARMv7-M and ARMv8-M — TrustZone, stack limits, security states — and what stayed the same.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>Automotive ECU (body / chassis class)</title>
      <link>https://armhub.dev/docs/systems/automotive-ecu/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/automotive-ecu/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Inside a typical body-control or chassis ECU — Cortex-R52 lockstep + Cortex-M I/O cores, CAN-FD, ISO 26262, AUTOSAR Classic. The firmware that keeps the airbag from misfiring.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Boot flow &amp; EL levels</title>
      <link>https://armhub.dev/docs/cortex-a/boot-and-exception-levels/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/boot-and-exception-levels/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>From silicon reset to Linux init — the multi-stage boot chain on ARMv8-A, and what runs in each Exception Level.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>Build systems</title>
      <link>https://armhub.dev/docs/tools/build/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/build/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>CMake, Make, Meson, west, scons — what to use for a new Cortex-M project, and how to glue the toolchain together.</description>
      <category>tools</category>
    </item>
    <item>
      <title>C++ on Cortex-M</title>
      <link>https://armhub.dev/docs/programming/cpp/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cpp/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Modern C++ in firmware — constexpr, std::array, templates, and the language features to embrace or avoid on embedded.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Caches &amp; coherency</title>
      <link>https://armhub.dev/docs/cortex-a/caches/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/caches/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Multi-level caches on ARM apps cores — L1/L2/L3 hierarchy, the cache coherency protocol, and where DMA still surprises you.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>CAN</title>
      <link>https://armhub.dev/docs/peripherals/can/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/can/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Controller Area Network — bit timing, arbitration, message filtering, CAN-FD, and why the network length actually matters.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>CMSIS</title>
      <link>https://armhub.dev/docs/programming/cmsis/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/cmsis/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The Cortex Microcontroller Software Interface Standard — what&apos;s in it, why every vendor ships it, and the parts you actually use.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Cortex-A overview</title>
      <link>https://armhub.dev/docs/cortex-a/overview/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/overview/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>ARM&apos;s applications-class cores — what makes them different from Cortex-M, and what a firmware engineer needs to know when stepping up to A-profile.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>Cortex-M3</title>
      <link>https://armhub.dev/docs/cortex-m/m3/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m3/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The original mainstream Cortex-M. Full Thumb-2, hardware divide, bit-banding — still everywhere despite being twenty years old.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M4</title>
      <link>https://armhub.dev/docs/cortex-m/m4/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m4/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The workhorse of the Cortex-M family — ARMv7E-M, 3-stage pipeline, DSP extensions, optional FPU. Everything you need to ship firmware on M4.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-M7</title>
      <link>https://armhub.dev/docs/cortex-m/m7/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/m7/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The first superscalar Cortex-M. Caches, TCMs, double-precision FPU, six-stage dual-issue pipeline. Real performance, real complexity.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Cortex-R overview</title>
      <link>https://armhub.dev/docs/cortex-r/overview/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-r/overview/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>ARM&apos;s real-time application-class cores — built for hard real-time, often in lockstep, with MPUs instead of MMUs and tightly coupled memories.</description>
      <category>cortex-r</category>
    </item>
    <item>
      <title>DMA</title>
      <link>https://armhub.dev/docs/peripherals/dma/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/dma/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Direct Memory Access — moving bytes without the CPU, channel/stream architectures, request signals, double-buffering, and cache coherency on Cortex-M7.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Drone flight controller</title>
      <link>https://armhub.dev/docs/systems/drone-flight-controller/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/drone-flight-controller/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Inside a Pixhawk-class flight controller — Cortex-M7 at 480 MHz, 8 kHz attitude loop, IMU + barometer + GPS, DSHOT ESCs, PX4 on NuttX.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Embedded C patterns</title>
      <link>https://armhub.dev/docs/programming/embedded-c/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/embedded-c/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The C patterns that show up in every Cortex-M codebase — volatile, register access, alignment, packed structs, weak symbols, and what they actually mean.</description>
      <category>programming</category>
    </item>
    <item>
      <title>EV charger (Level 2 home)</title>
      <link>https://armhub.dev/docs/systems/ev-charger/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/ev-charger/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Inside a 7.2–11.5 kW home EV charger — Cortex-M7 control, Wi-Fi MCU, the J1772 control-pilot dance, residual-current protection, and OCPP cloud comms.</description>
      <category>systems</category>
    </item>
    <item>
      <title>FreeRTOS</title>
      <link>https://armhub.dev/docs/rtos/freertos/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/freertos/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The pragmatic RTOS — task creation, scheduling, the Cortex-M port internals, queues, semaphores, software timers, and tickless idle.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>GDB &amp; on-chip debug</title>
      <link>https://armhub.dev/docs/tools/gdb/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/gdb/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Using GDB with Cortex-M — connecting to a probe, set/load, breakpoints, watchpoints, peripheral views, and the .gdbinit that saves you 50% of bring-up time.</description>
      <category>tools</category>
    </item>
    <item>
      <title>GPIO</title>
      <link>https://armhub.dev/docs/peripherals/gpio/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/gpio/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The most fundamental peripheral — push-pull, open-drain, pull-up, pull-down, alternate functions, atomic set-reset, EXTI. Patterns that work on every Cortex-M.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>I²C</title>
      <link>https://armhub.dev/docs/peripherals/i2c/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/i2c/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The two-wire bus — addressing, clock stretching, multi-master, 7-bit and 10-bit addresses, and why your I²C peripheral hung again.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Industrial motor drive (FOC, 3-phase BLDC/PMSM)</title>
      <link>https://armhub.dev/docs/systems/motor-drive/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/motor-drive/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Inside a 1–50 kW industrial servo drive — Cortex-M4F or M7, FOC at 20 kHz, current-sense ADC synced to inverter PWM, encoder feedback, CANopen/EtherCAT.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Infineon (XMC, PSoC, AURIX)</title>
      <link>https://armhub.dev/docs/vendors/infineon/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/infineon/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Infineon&apos;s Cortex-M lines — XMC (industrial), PSoC (programmable analog + digital), and the TriCore-based AURIX for automotive.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Inline assembly</title>
      <link>https://armhub.dev/docs/programming/inline-asm/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/inline-asm/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>When and how to use inline assembly on Cortex-M — GCC syntax, clobbers, the LLVM extended-asm rules, and what assembly actually buys you.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Linker scripts</title>
      <link>https://armhub.dev/docs/programming/linker-scripts/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/linker-scripts/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>GNU ld linker scripts for Cortex-M — memory regions, section placement, AT-load addresses, alignment, and the directives you actually need.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Lockstep &amp; ASIL</title>
      <link>https://armhub.dev/docs/cortex-r/lockstep/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-r/lockstep/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>How dual-core lockstep delivers ASIL-D readiness on Cortex-R — and where the software still has to do work.</description>
      <category>cortex-r</category>
    </item>
    <item>
      <title>Memory model &amp; barriers</title>
      <link>https://armhub.dev/docs/architecture/memory-model/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/memory-model/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>How loads and stores are ordered on ARM — relaxed by default, with explicit barriers (DMB, DSB, ISB) where you need them. Plus the Cortex-M memory map.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>Microchip (SAM, PIC32CM/CK/CX)</title>
      <link>https://armhub.dev/docs/vendors/microchip/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/microchip/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Microchip&apos;s Cortex-M lines — the inherited Atmel SAM family and Microchip&apos;s own PIC32C Cortex-M parts.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>MMU &amp; paging</title>
      <link>https://armhub.dev/docs/cortex-a/mmu/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-a/mmu/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>How ARMv8-A translates virtual addresses to physical — page table levels, TLBs, memory attributes, and the AArch64 translation regime.</description>
      <category>cortex-a</category>
    </item>
    <item>
      <title>Nordic Semiconductor (nRF52, nRF53, nRF54)</title>
      <link>https://armhub.dev/docs/vendors/nordic/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nordic/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The Bluetooth-first Cortex-M family — softdevice architecture, EasyDMA, the nRF Connect SDK / Zephyr migration.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>NVIC deep dive</title>
      <link>https://armhub.dev/docs/cortex-m/nvic/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/nvic/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The Nested Vectored Interrupt Controller — how priorities, preemption, pending, and active states actually interact. With registers and timing analysis.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>NXP (Kinetis, LPC, i.MX RT)</title>
      <link>https://armhub.dev/docs/vendors/nxp/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/nxp/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>NXP&apos;s Cortex-M lines — Kinetis for industrial, LPC for embedded mainstream, i.MX RT for crossover MCUs running at GHz speeds.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>OpenOCD &amp; probes</title>
      <link>https://armhub.dev/docs/tools/openocd/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/openocd/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>ST-Link, J-Link, CMSIS-DAP, Black Magic — the debug probes you&apos;ll meet, what OpenOCD does, and the alternatives (pyOCD, probe-rs).</description>
      <category>tools</category>
    </item>
    <item>
      <title>QEMU &amp; Renode</title>
      <link>https://armhub.dev/docs/tools/sim/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/sim/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Simulating Cortex-M without hardware — when emulation actually works, and when you should just buy the dev board.</description>
      <category>tools</category>
    </item>
    <item>
      <title>Raspberry Pi RP2040 / RP2350</title>
      <link>https://armhub.dev/docs/vendors/raspberry/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/raspberry/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The hobbyist-friendly Cortex-M from Raspberry Pi — dual-core, PIO, excellent docs, and now the dual-Arm/RISC-V RP2350.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Renesas RA / RX / RZ</title>
      <link>https://armhub.dev/docs/vendors/renesas/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/renesas/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Renesas&apos;s ARM portfolio — the RA family (modern Cortex-M from the Synergy line) and RZ (Cortex-A/R) for industrial.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Rust on Cortex-M</title>
      <link>https://armhub.dev/docs/programming/rust/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/rust/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The modern path — cortex-m, embedded-hal, RTIC, Embassy. What Rust gives you that C doesn&apos;t, and where the rough edges still are.</description>
      <category>programming</category>
    </item>
    <item>
      <title>Silicon Labs (EFM32 / EFR32)</title>
      <link>https://armhub.dev/docs/vendors/silabs/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/silabs/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Silicon Labs&apos;s energy-friendly Cortex-M parts — and their EFR32 wireless line that owns much of the Zigbee / Thread / Matter market.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>Smart thermostat</title>
      <link>https://armhub.dev/docs/systems/smart-thermostat/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/smart-thermostat/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Inside a Nest / ecobee class thermostat — Cortex-M33 + Wi-Fi/Thread radio, capacitive touch, e-paper or LCD, HVAC relays, Matter, and how to run on 24 VAC stolen-power.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Smartwatch / fitness tracker</title>
      <link>https://armhub.dev/docs/systems/smartwatch/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/smartwatch/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>How a wearable runs 5–15 days on a 200 mAh battery — Cortex-M33 + BLE radio, sensor fusion, AMOLED, GATT services, and where Wear OS departs from this entirely.</description>
      <category>systems</category>
    </item>
    <item>
      <title>SPI</title>
      <link>https://armhub.dev/docs/peripherals/spi/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/spi/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Synchronous serial — clock polarity and phase, master/slave, multi-slave, full-duplex DMA, and the gotchas you only learn on the bench.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Startup &amp; vector table</title>
      <link>https://armhub.dev/docs/programming/startup/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/programming/startup/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Writing the code that runs before main — vector table layout, Reset_Handler, .data/.bss init, C++ static constructors, and what newlib needs.</description>
      <category>programming</category>
    </item>
    <item>
      <title>STM32 (STMicroelectronics)</title>
      <link>https://armhub.dev/docs/vendors/stm32/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/stm32/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The most prolific Cortex-M family — F0 through U5, plus the H7 / H5 high-end. Strengths, ecosystem, and the right line for the job.</description>
      <category>vendors</category>
    </item>
    <item>
      <title>System designs — overview</title>
      <link>https://armhub.dev/docs/systems/overview/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/overview/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>How real products are actually built — block-level walkthroughs of seven everyday embedded systems, from Wi-Fi routers to flight controllers.</description>
      <category>systems</category>
    </item>
    <item>
      <title>SysTick &amp; timing</title>
      <link>https://armhub.dev/docs/cortex-m/systick/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/systick/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The universal Cortex-M 24-bit downcounter — how it works, how to use it for an RTOS tick or a delay, and what its limits are.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>Texas Instruments (Tiva, MSP432, Hercules)</title>
      <link>https://armhub.dev/docs/vendors/ti/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/vendors/ti/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>TI&apos;s ARM portfolio — Tiva (was Stellaris, M4), MSP432 (low-power M4F), Hercules (Cortex-R safety).</description>
      <category>vendors</category>
    </item>
    <item>
      <title>The ARM ISA family</title>
      <link>https://armhub.dev/docs/architecture/isa-family/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/isa-family/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>A field guide to ARM&apos;s instruction set architectures — from ARMv6-M on tiny microcontrollers to ARMv9-A on flagship phones — and how the modern Cortex lineup maps onto them.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>The Cortex-M lineup</title>
      <link>https://armhub.dev/docs/cortex-m/lineup/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/cortex-m/lineup/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Every Cortex-M core from M0 to M85 — what changed, what it costs, when to pick it.</description>
      <category>cortex-m</category>
    </item>
    <item>
      <title>The exception model</title>
      <link>https://armhub.dev/docs/architecture/exception-model/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/exception-model/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>How Cortex-M handles interrupts, faults, and supervisor calls — vector tables, exception priorities, stack frames, and tail-chaining.</description>
      <category>architecture</category>
    </item>
    <item>
      <title>The RTOS landscape</title>
      <link>https://armhub.dev/docs/rtos/landscape/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/landscape/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>FreeRTOS, Zephyr, ThreadX, RT-Thread, Mbed OS, RIOT — what they are, where they win, and how to choose for a new project.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>ThreadX (Azure RTOS / Eclipse ThreadX)</title>
      <link>https://armhub.dev/docs/rtos/threadx/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/threadx/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The certifiable RTOS — fast context switches, deterministic primitives, and pre-existing safety certifications for IEC 61508 and ISO 26262.</description>
      <category>rtos</category>
    </item>
    <item>
      <title>Timers &amp; PWM</title>
      <link>https://armhub.dev/docs/peripherals/timers/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/timers/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>General-purpose timers, advanced timers, input capture, output compare, PWM, encoder mode — the most flexible peripheral on the chip.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Toolchains (GCC / LLVM / commercial)</title>
      <link>https://armhub.dev/docs/tools/toolchains/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/tools/toolchains/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>arm-none-eabi-gcc, LLVM/clang, IAR, Keil/ARM Compiler — the realistic options for compiling Cortex-M code, with the flags that actually matter.</description>
      <category>tools</category>
    </item>
    <item>
      <title>TrustZone</title>
      <link>https://armhub.dev/docs/architecture/trustzone/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/architecture/trustzone/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>How TrustZone partitions ARM systems into secure and non-secure worlds — on Cortex-M (per-access SAU/IDAU) and on Cortex-A (per-CPU NS bit).</description>
      <category>architecture</category>
    </item>
    <item>
      <title>UART</title>
      <link>https://armhub.dev/docs/peripherals/uart/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/uart/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Asynchronous serial — bit rates, framing, parity, hardware flow control, DMA, and the subtle differences across vendor implementations.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>USB device</title>
      <link>https://armhub.dev/docs/peripherals/usb/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/peripherals/usb/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>USB Full-Speed device class on Cortex-M — descriptors, endpoints, control transfers, CDC ACM, and the gotchas of bring-up.</description>
      <category>peripherals</category>
    </item>
    <item>
      <title>Wi-Fi router (Wi-Fi 6 consumer)</title>
      <link>https://armhub.dev/docs/systems/wifi-router/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/systems/wifi-router/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>How a $150 Wi-Fi 6 router is actually built — quad Cortex-A53, dedicated MAC/PHY, NPU offload, OpenWrt. Plus where ASUS, Linksys, GL.iNet differ.</description>
      <category>systems</category>
    </item>
    <item>
      <title>Zephyr</title>
      <link>https://armhub.dev/docs/rtos/zephyr/</link>
      <guid isPermaLink="true">https://armhub.dev/docs/rtos/zephyr/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>The Linux-Foundation RTOS — device tree, Kconfig, west, drivers, networking. The whole-OS approach to embedded.</description>
      <category>rtos</category>
    </item>
  </channel>
</rss>