Last week we ran NuttX on Unicorn Emulator and we hit a baffling Arm64 Exception. In this article we’ll create some tools to troubleshoot the exception…
1. Render the Dynamic Call Graph for NuttX, to understand how it boots 2. Make it Clickable, so we can browse the NuttX Source Code as we explore the Call Graph 3. We’ll use a Block Execution Hook in Unicorn Emulator to generate the Call Graph with Rust 4. And call the Rust Libraries addr2line and gimli to map the Code Addresses to NuttX Kernel Functions 5. Thanks to the (Clickable) Call Graph, we’ll describe the complete Boot Sequence of NuttX on PinePhone 6. And explain how we might do Automated Daily Build and Test for NuttX on PinePhone https://lupyuen.github.io/articles/unicorn2 Lup