MISC STUDY PLAN - Firmware
Full Book Roadmap
| Stage | Chapter | Task / Objective | Key Takeaway / Reason |
|---|---|---|---|
| 0. Setup | Ch 1: Setting Up Tools | Just follow the steps to install the IDE/Toolchain. | Environment Check. Ensure compiling works. No need to deep read. |
| I. The Magic (Foundations) |
Ch 2: Constructing Peripheral Registers | Control hardware via pointers/memory addresses (MMIO). | The Core Skill. Absolute prerequisite for bare-metal & RISC-V. |
| Ch 3: Build Process & GNU Toolchain | Understand Compiler, Assembler, and Linker logic. | Know how .c turns into .bin. Essential for debugging. |
|
| Ch 4: Linker Script & Startup File (Critical) | Learn Boot Sequence, Vector Table, and memory layout. | The "Holy Grail" for your RISC-V SoC. Explains what happens at T=0. | |
| Ch 5: The "Make" Build System | Write your own Makefile; ditch the IDE. | Professional standard. Compiling via Command Line. | |
| II. Communication (I/O) |
Ch 7: GPIO (General-Purpose I/O) | Blink an LED using your own drivers. | Hardware "Hello World". Verifies your registers are correct. |
| Ch 10: UART (Serial Communication) | Send printf style messages to your PC. |
Lifeline. Your primary debugging tool when there is no OS. | |
| III. System Dynamics (Real-Time) |
Ch 14: External Interrupts (EXTI) | Handle button presses via Interrupts (ISRs). | Understands "Events" vs "Polling" and Stack operations. |
| Ch 8: SysTick Timer | Implement a precise system heartbeat. | The foundation for time-slicing and future RTOS porting. | |
| Skip (Reference Only) |
Ch 6: CMSIS (Standard Interface) | Skip for now. | We want to build from scratch (Ch 2), not use pre-made ARM libraries. |
| Skip | Ch 9: General-Purpose Timers | Skip for now. | Complex PWM features not needed for OS fundamentals. |
| Skip | Ch 11: ADC (Analog-to-Digital) | Skip for now. | Specific to reading sensors (analog signals), not system architecture. |
| Skip | Ch 12: SPI (Serial Interface) | Skip for now. | Protocol for Flash/Displays. Learn it only when you need it. |
| Skip | Ch 13: I2C (Inter-Integrated Circuit) | Skip for now. | Protocol for sensors/EEPROMs. Not critical for the core kernel. |