56,966 blogs · [ { "id": "01a0c505-a741-701a-8ff6-fef762a681e0", "title": "When the Debugger Lies", "url": "https://danielmangum.com/posts/when-the-debugger-lies/", "published_at": "2026-09-18T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-026511feec6c", "title": "Farewell Golioth... and Hello Nordic!", "url": "https://danielmangum.com/posts/farewell-golioth-hello-nordic/", "published_at": "2026-08-24T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-0265126a2cc8", "title": "The Simple Elegance of the Integrated Timing Belt Loopback Fastener", "url": "https://danielmangum.com/posts/integrated-timing-belt-loopback-fastener/", "published_at": "2026-07-31T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-0265132f0225", "title": "Leadership Lessons from The Odyssey", "url": "https://danielmangum.com/posts/odyssey-leadership-lessons/", "published_at": "2026-07-27T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-026514095185", "title": "JLink JTAG Access on the Pinecil", "url": "https://danielmangum.com/posts/jlink-jtag-pinecil/", "published_at": "2026-05-30T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-02651465514d", "title": "Floating Point Fun on Cortex-M Processors", "url": "https://danielmangum.com/posts/floating-point-cortex-m/", "published_at": "2026-04-16T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-02651525feb9", "title": "PSA Crypto: The P is for Portability", "url": "https://danielmangum.com/posts/psa-crypto-portability/", "published_at": "2026-04-10T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-0265153f3a8a", "title": "Fooling Go's X.509 Certificate Verification", "url": "https://danielmangum.com/posts/fooling-go-x509-certificate-verification/", "published_at": "2026-03-01T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-0265154ac57b", "title": "Making Ferrite Core Inductors at Home", "url": "https://danielmangum.com/posts/making-ferrite-core-inductors-home/", "published_at": "2026-02-01T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-026515beb7a8", "title": "3,500 Miles in 2025", "url": "https://danielmangum.com/posts/3500-miles-2025/", "published_at": "2026-01-19T07:41:34+00:00" }, { "id": "01a08767-3962-7063-a1e7-02651601271c", "title": "Fixing My System76 Laptop in 20 Minutes or Less", "url": "https://danielmangum.com/posts/fix-system76-laptop-20-min/", "published_at": "2025-12-30T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda57beb1b", "title": "Determining Current Arm Cortex-M Security State with GDB", "url": "https://danielmangum.com/posts/arm-cortex-m-security-state-gdb/", "published_at": "2025-12-24T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda6019aff", "title": "Make it Possible, Then Make it Normal", "url": "https://danielmangum.com/posts/possible-then-normal/", "published_at": "2025-11-09T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda66badb0", "title": "Interesting SPI Routing with iCE40 FPGAs", "url": "https://danielmangum.com/posts/spi-routing-ice40-fpga/", "published_at": "2025-11-07T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda6fd26c1", "title": "Using a Laptop as an HDMI Monitor for an SBC", "url": "https://danielmangum.com/posts/laptop-hdmi-monitor-sbc/", "published_at": "2025-10-09T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda703e410", "title": "How AI on Microcontrollers Actually Works: Registering Operators", "url": "https://danielmangum.com/posts/ai-microcontrollers-registering-operators/", "published_at": "2025-07-14T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda76dafc6", "title": "How AI on Microcontrollers Actually Works: The Computation Graph", "url": "https://danielmangum.com/posts/ai-microcontrollers-computation-graph/", "published_at": "2025-07-07T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda81ca926", "title": "How AI on Microcontrollers Actually Works: Operators and Kernels", "url": "https://danielmangum.com/posts/ai-microcontrollers-operators-kernels/", "published_at": "2025-06-30T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda8840b5f", "title": "Just Barely Fitting a Full Wi-Fi Stack on the nRF9151", "url": "https://danielmangum.com/posts/nrf9151-wifi-station/", "published_at": "2025-02-17T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda916d549", "title": "Accessing the Qualcomm Modem over USB on the RAK5010", "url": "https://danielmangum.com/posts/modem-usb-rak5010/", "published_at": "2025-01-30T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fda9fe470d", "title": "VPR: Arm and RISC-V Inter-Processor Communication", "url": "https://danielmangum.com/posts/vpr-arm-risc-v-inter-processor/", "published_at": "2024-12-31T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdaafcc35f", "title": "VPR: Nordic's First RISC-V Processor", "url": "https://danielmangum.com/posts/vpr-nordic-risc-v-processor/", "published_at": "2024-12-24T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdaba7bcf8", "title": "USB UART on the Thingy:91 X", "url": "https://danielmangum.com/posts/usb-uart-thingy91-x/", "published_at": "2024-12-15T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdac5cc682", "title": "This Website is Hosted on Bluesky", "url": "https://danielmangum.com/posts/this-website-is-hosted-on-bluesky/", "published_at": "2024-11-24T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdac8a4ef6", "title": "USB On-The-Go on the ESP32-S3", "url": "https://danielmangum.com/posts/usb-otg-esp32s3/", "published_at": "2024-11-11T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdad858f01", "title": "Is It Better to Fail Spectacularly?", "url": "https://danielmangum.com/posts/better-to-fail-spectacularly/", "published_at": "2024-10-20T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdae4b1e6a", "title": "The Taxonomy of Hardware Security Mechanisms", "url": "https://danielmangum.com/posts/taxonomy-hardware-security-mechanisms/", "published_at": "2024-09-29T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdaf27981a", "title": "Founder Mode for Non-Founders", "url": "https://danielmangum.com/posts/founder-mode-non-founders/", "published_at": "2024-09-03T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdaf3c4922", "title": "Static Allocation in External RAM on ESP32", "url": "https://danielmangum.com/posts/static-alloc-external-ram-esp32/", "published_at": "2024-06-30T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdaffd0ab7", "title": "Wireframes are Cheap, Engineering Should Be Too", "url": "https://danielmangum.com/posts/wireframes-cheap-engineering-too/", "published_at": "2024-06-15T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb084c1ce", "title": "The Most Important Skill in Startup Engineering Leadership", "url": "https://danielmangum.com/posts/most-important-skill-startup-engineering-leadership/", "published_at": "2024-03-10T07:41:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb1482eee", "title": "RISC-V Bytes: Accessing the Pinecil UART with picoprobe", "url": "https://danielmangum.com/posts/risc-v-bytes-accessing-pinecil-uart-picoprobe/", "published_at": "2024-01-29T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb1a94b20", "title": "RISC-V Bytes: Soldering the Pinecil Breakout Board", "url": "https://danielmangum.com/posts/risc-v-bytes-soldering-pinecil-breakout-board/", "published_at": "2024-01-22T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb1e7ad8a", "title": "Reflections on Running 3,000 Miles in 2023", "url": "https://danielmangum.com/posts/3000-miles-2023/", "published_at": "2024-01-02T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb2d7f477", "title": "Understanding Every Byte in a WASM Module", "url": "https://danielmangum.com/posts/every-byte-wasm-module/", "published_at": "2023-12-22T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb37a2dd6", "title": "Zero to WASI with Clang 17", "url": "https://danielmangum.com/posts/wasm-wasi-clang-17/", "published_at": "2023-12-19T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb429f9cc", "title": "Supercon 2023 Day 3: badgecase.io", "url": "https://danielmangum.com/posts/supercon-2023-day-3/", "published_at": "2023-11-06T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb4d79da9", "title": "Supercon 2023 Day 2: Talks Begin, Hacking Continues", "url": "https://danielmangum.com/posts/supercon-2023-day-2/", "published_at": "2023-11-05T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb5bed0a7", "title": "Supercon 2023 Day 1: Hello Badge", "url": "https://danielmangum.com/posts/supercon-2023-day-1/", "published_at": "2023-11-04T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb6a7deb3", "title": "Setting Up Verible for Verilog with Neovim", "url": "https://danielmangum.com/posts/setup-verible-verilog-neovim/", "published_at": "2023-11-03T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb79c9a0e", "title": "A Particularly Gnarly Case of Go’s Non-Nil Interfaces", "url": "https://danielmangum.com/posts/go-gnarly-non-nil-interfaces/", "published_at": "2023-10-20T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb83a899c", "title": "How LUTs Are Used as Storage Elements on an FPGA", "url": "https://danielmangum.com/posts/how-luts-used-storage-fpga/", "published_at": "2023-10-14T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb8bc7c80", "title": "The Value of Livestreaming Long-Term Projects", "url": "https://danielmangum.com/posts/value-livestreaming-long-term/", "published_at": "2023-10-06T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb96f991f", "title": "When Does Vivado Infer BRAM?", "url": "https://danielmangum.com/posts/when-vivado-infer-bram/", "published_at": "2023-10-01T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb9a0f4ed", "title": "Microprocessors Are Tiny, But They Can’t Fit in Your Head", "url": "https://danielmangum.com/posts/microprocessors-tiny-cant-fit-in-head/", "published_at": "2023-09-02T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdb9d3f080", "title": "A Brief Retrospective on SPARC Register Windows", "url": "https://danielmangum.com/posts/retrospective-sparc-register-windows/", "published_at": "2023-08-21T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdba20a5a3", "title": "How To Dissect a Critical HackerNews Comment", "url": "https://danielmangum.com/posts/how-to-dissect-critical-hackernews/", "published_at": "2023-08-09T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdba368f6b", "title": "A Single-Cycle 64-Bit RISC-V Register File", "url": "https://danielmangum.com/posts/single-cycle-rv64-register-file/", "published_at": "2023-08-04T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdba384493", "title": "Single-Cycle and Multicycle Do Not Describe Processor Performance", "url": "https://danielmangum.com/posts/single-cycle-multicycle-processor-performance/", "published_at": "2023-07-28T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbb0ae664", "title": "Why Create a New Instruction Set Architecture?", "url": "https://danielmangum.com/posts/why-create-new-isa/", "published_at": "2023-07-21T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbb8f7ec7", "title": "A Three Year Bet on Chip Design", "url": "https://danielmangum.com/posts/a-three-year-bet-on-chip-design/", "published_at": "2023-07-19T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbbf89b9d", "title": "RISC-V Bytes: Semihosting with Zephyr on an ESP32", "url": "https://danielmangum.com/posts/risc-v-bytes-semihosting-zephyr-esp32/", "published_at": "2023-05-30T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbc1ad79f", "title": "RISC-V Bytes: Zephyr Before Main", "url": "https://danielmangum.com/posts/risc-v-bytes-zephyr-before-main/", "published_at": "2023-04-28T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbd06206c", "title": "RISC-V Bytes: Zephyr on the ESP32", "url": "https://danielmangum.com/posts/risc-v-bytes-zephyr-on-esp32/", "published_at": "2023-04-17T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbddbc289", "title": "RISC-V Bytes: Exploring a Custom ESP32 Bootloader", "url": "https://danielmangum.com/posts/risc-v-bytes-exploring-custom-esp32-bootloader/", "published_at": "2023-04-09T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbed5c58d", "title": "Do you want to take a leap of faith?", "url": "https://danielmangum.com/posts/leap-of-faith/", "published_at": "2023-04-06T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbf3b0d6f", "title": "Where does the kubelet mount volumes?", "url": "https://danielmangum.com/posts/where-does-the-kubelet-mount-volumes/", "published_at": "2023-03-18T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbfb161de", "title": "K8s ASA: Watching and Caching", "url": "https://danielmangum.com/posts/k8s-asa-watching-and-caching/", "published_at": "2023-02-13T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdbfefd325", "title": "K8s ASA: The Storage Interface", "url": "https://danielmangum.com/posts/k8s-asa-the-storage-interface/", "published_at": "2023-01-23T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc0932315", "title": "Welcome to Kubernetes API Server Adventures", "url": "https://danielmangum.com/posts/k8s-asa-welcome/", "published_at": "2023-01-16T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc100c93b", "title": "RISC-V Bytes: Timer Interrupts", "url": "https://danielmangum.com/posts/risc-v-bytes-timer-interrupts/", "published_at": "2022-12-27T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc1458fa2", "title": "I'm on Mastodon", "url": "https://danielmangum.com/posts/im-on-mastodon/", "published_at": "2022-12-18T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc18fe5e4", "title": "RISC-V Bytes: Go 1.19's Register-Based Calling Convention", "url": "https://danielmangum.com/posts/risc-v-bytes-go-1-19-register-calling/", "published_at": "2022-08-08T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc26ab399", "title": "RISC-V Bytes: Stack Use After Return in C, Go, and Rust", "url": "https://danielmangum.com/posts/risc-v-bytes-stack-use-after-return/", "published_at": "2022-08-01T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc3292543", "title": "Dynamically Linked Programs with Binfmt_misc", "url": "https://danielmangum.com/risc-v-tips/2022-07-03-dynamically-linked-binfmt-misc/", "published_at": "2022-07-03T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc3acd3b3", "title": "Sandbox Programmers", "url": "https://danielmangum.com/posts/sandbox-programmers/", "published_at": "2022-05-01T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc46a7e56", "title": "Opening a UDP Socket in RISC-V Assembly", "url": "https://danielmangum.com/risc-v-tips/2022-05-14-opening-a-udp-socket-risc-v/", "published_at": "2022-04-14T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc4a39c73", "title": "Graceful Shutdown of Responsibilities in a Growing Organization", "url": "https://danielmangum.com/posts/graceful-shutdown-responsibilities-organization/", "published_at": "2022-02-13T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc5660931", "title": "The Missing Kubernetes Type System", "url": "https://danielmangum.com/posts/the-missing-kubernetes-type-system/", "published_at": "2022-02-07T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc615b890", "title": "RISC-V Bytes: Rust Cross-Compilation", "url": "https://danielmangum.com/posts/risc-v-bytes-rust-cross-compilation/", "published_at": "2022-01-30T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc64a6e11", "title": "Load-Reserved/Store-Conditional Release & Acquire Semantics", "url": "https://danielmangum.com/risc-v-tips/2022-01-17-lr-sc-release-acquire/", "published_at": "2022-01-17T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc7170bd2", "title": "RVWMO Preserved Program Order Rule 2", "url": "https://danielmangum.com/risc-v-tips/2022-01-09-rvwmo-ppo-rule-2/", "published_at": "2022-01-09T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc7c1f692", "title": "RVWMO Preserved Program Order Rule 1", "url": "https://danielmangum.com/risc-v-tips/2022-01-06-rvwmo-ppo-rule-1/", "published_at": "2022-01-06T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc837a10e", "title": "RISC-V Weak Memory Ordering", "url": "https://danielmangum.com/risc-v-tips/2022-01-05-rvwmo/", "published_at": "2022-01-05T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc8c9d411", "title": "The Zmmul Extension", "url": "https://danielmangum.com/risc-v-tips/2022-01-04-the-zmmul-extension/", "published_at": "2022-01-04T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc908ff47", "title": "Instruction-Address-Misaligned Exceptions", "url": "https://danielmangum.com/risc-v-tips/2022-01-02-instruction-address-misaligned-exceptions/", "published_at": "2022-01-02T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdc9e8729a", "title": "Fine-Grained Address-Translation Cache Invalidation (Svinval)", "url": "https://danielmangum.com/risc-v-tips/2022-01-01-fine-grained-address-translation-cache-invalidation/", "published_at": "2022-01-01T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcabafcf4", "title": "NAPOT Translation Continuity (Svnapot)", "url": "https://danielmangum.com/risc-v-tips/2021-12-31-napot-translation-continuity/", "published_at": "2021-12-31T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcadd67fc", "title": "Page-Based Memory Types (Svpbmt)", "url": "https://danielmangum.com/risc-v-tips/2021-12-30-page-based-memory-types/", "published_at": "2021-12-30T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcbcd8edc", "title": "Memory Ordering Instructions: FENCE.I", "url": "https://danielmangum.com/risc-v-tips/2021-12-29-memory-ordering-fencei/", "published_at": "2021-12-29T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcca28db9", "title": "Memory Ordering Instructions: FENCE", "url": "https://danielmangum.com/risc-v-tips/2021-12-28-memory-ordering-fence/", "published_at": "2021-12-28T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcd300281", "title": "RISC-V Bytes: Privilege Levels", "url": "https://danielmangum.com/posts/risc-v-bytes-privilege-levels/", "published_at": "2021-12-27T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcd636698", "title": "Non-Maskable Interrupts", "url": "https://danielmangum.com/risc-v-tips/2021-12-26-non-maskable-interrupts/", "published_at": "2021-12-26T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcddf3960", "title": "CSR Clear and Set Bits Instructions", "url": "https://danielmangum.com/risc-v-tips/2021-12-25-csr-clear-set-bits/", "published_at": "2021-12-25T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdce0778d5", "title": "4-Byte Aligned Trap Vectors", "url": "https://danielmangum.com/risc-v-tips/2021-12-24-4-byte-aligned-trap-vectors/", "published_at": "2021-12-24T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdce719900", "title": "ld Default Entry Point", "url": "https://danielmangum.com/risc-v-tips/2021-12-23-ld-default-entry-point/", "published_at": "2021-12-23T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcee3d142", "title": "Pipelined Trap Precision", "url": "https://danielmangum.com/risc-v-tips/2021-12-22-trap-precision/", "published_at": "2021-12-22T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcf6c39ab", "title": "SiFive P650", "url": "https://danielmangum.com/risc-v-tips/2021-12-20-sifive-p650/", "published_at": "2021-12-20T06:10:34+00:00" }, { "id": "01a08767-3963-7146-93ad-27fdcfdff1fb", "title": "Instruction Format Regularity", "url": "https://danielmangum.com/risc-v-tips/2021-12-18-instruction-format-regularity/", "published_at": "2021-12-18T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57ebde8f72", "title": "Atomicity PMAs", "url": "https://danielmangum.com/risc-v-tips/2021-12-14-atomicity-pmas/", "published_at": "2021-12-14T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57ec2a1d66", "title": "Physical Memory Attributes (PMAs)", "url": "https://danielmangum.com/risc-v-tips/2021-12-12-physical-memory-attributes/", "published_at": "2021-12-13T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57ece9f587", "title": "Access and Privilege in CSR Addresses", "url": "https://danielmangum.com/risc-v-tips/2021-12-12-access-privilege-csr-addresses/", "published_at": "2021-12-12T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57ed23c390", "title": "OpenTitan Assembly Style Guide", "url": "https://danielmangum.com/risc-v-tips/2021-12-11-opentitan-assembly-style-guide/", "published_at": "2021-12-11T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57edad935c", "title": "xv6 Teaching Operating System", "url": "https://danielmangum.com/risc-v-tips/2021-12-10-xv6-teaching-os/", "published_at": "2021-12-10T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57edcccee9", "title": "Interrupt Controllers", "url": "https://danielmangum.com/risc-v-tips/2021-12-09-interrupt-controllers/", "published_at": "2021-12-09T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57ee6007ee", "title": "The Hypervisor Extension", "url": "https://danielmangum.com/risc-v-tips/2021-12-08-hypervisor-extension/", "published_at": "2021-12-08T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57ef491a0d", "title": "Open Hardware for the Open Cloud", "url": "https://danielmangum.com/risc-v-tips/2021-12-02-open-hardware-for-the-open-cloud/", "published_at": "2021-12-02T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57f0194d26", "title": "Supervisor Trap Base Address Register", "url": "https://danielmangum.com/risc-v-tips/2021-12-01-supervisor-trap-base-address/", "published_at": "2021-12-01T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57f095bc9e", "title": "Supervisor Memory Management Fence Instruction", "url": "https://danielmangum.com/risc-v-tips/2021-11-30-supervisor-mm-fence/", "published_at": "2021-11-30T06:10:34+00:00" }, { "id": "01a08767-3964-72c3-906c-5f57f115d287", "title": "Sv32 Megapages", "url": "https://danielmangum.com/risc-v-tips/2021-11-29-sv-32-megapages/", "published_at": "2021-11-29T06:10:34+00:00" } ] posts Claim your blog
Back to Daniel Mangum
Blog · corpus.blog/blogs/danielmangum.com/posts

Daniel Mangum

danielmangum.com

2026

2025

2024

2023

2022

2021