RISC-V RV32MCU 架构、启动与运行机制深度剖析
第一部分:基础与启动:让芯片"跑起来"
第1章:RV32IMC:RISC-V的嵌入式基石
• 1.1 RISC-V设计哲学与RV32I基础指令集精讲
• 1.2 关键扩展:RV32M乘除指令与RV32C压缩指令
• 1.3 编程模型:寄存器组、ABI调用约定与内存地址空间
• 1.4 实践:链接脚本解析与C代码到汇编的映射分析
第2章:裸机启动流程:从复位到main()
• 2.1 理论:复位向量与芯片上电初始状态
• 2.2 第一步:初始化栈指针与执行环境
• 2.3 第二步:数据段(.data)搬运与BSS段(.bss)清零
• 2.4 第三步:系统初始化与跳转至C世界
• 2.5 实践:单步调试启动代码与内存布局验证
第二部分:核心机制:系统如何"响应"与"计时"
第3章:系统时钟与计时器
• 3.1 理论:时钟树简介与mtime/mtimecmp寄存器机制
• 3.2 系统时钟配置:从晶振到PLL
• 3.3 实践一:基于mtime的精确延时函数实现
• 3.4 实践二:系统心跳与计时器基础应用
第4章:中断与异常:增强型中断控制器(ECLIC)
• 4.1 理论:RISC-V中断/异常处理模型与ECLIC架构概述
• 4.2 ECLIC核心配置:向量表、中断使能与优先级
• 4.3 实践一:系统异常处理与诊断
• 4.4 实践二:自动化测试中如何修改PC指针
• 4.5 实践三:外部中断配置与处理(以GPIO为例)
第三部分:内存管理:系统如何"保护"自己
第5章:物理内存保护(PMP)
• 5.1 理论:PMP架构、规则与NAPOT/TOR地址匹配模式
• 5.2 PMP权限控制:R/W/X权限位与锁定位
• 5.3 实践一:固件代码与关键数据只读保护
• 5.4 实践二:外设地址空间隔离与动态PMP权限管理
持续更新中...
第6章:I/O物理内存保护(IOPMP)
• 6.1 理论:IOPMP与PMP的架构差异与应用场景
• 6.2 IOPMP核心机制:主设备标识与区域规则
• 6.3 实践分析:防范DMA攻击的IOPMP策略设计
第四部分:系统管理:如何让芯片"省电"与"稳健"
第7章:低功耗运行机制
• 7.1 理论:低功耗模式分类(Sleep/Deep Sleep)
• 7.2 核心机制:WFI/WFE指令与唤醒源管理
• 7.3 实践一:WFI指令应用与功耗测量
• 7.4 实践二:完整睡眠-唤醒循环实现