(本系列从硬件 → 架构 → 中断 → 上下文 → OS → 车规 OS → 编译器 → 上电流程 → 全栈图 升级推进)

目录

✦ 附录 A:完整全栈总览图(核心一图)

✦ 附录 B:从上电 → Boot → main → OS → 任务 的完整路径图

✦ 附录 C:任务切换(Context Switch)全路径图

✦ 附录 D:RTOS / OSEK / AUTOSAR OS 三者总体对比总览图

✦ 附录 E:Memory‑Mapped I/O 体系总览图

✦ 附录 F:CPU 架构 → OS 能力映射图

✦ 附录 G:工具链(C → 指令)全栈图

✦ 附录 H:全体系一张图(总总览)


✦ 附录 A:完整全栈总览图(核心一图)

┌────────────────────────────────────────────────────────────┐
│                     应用层(Application)                   │
│  - 用户任务(APP Task)                                     │
│  - SWC(AUTOSAR Software Component)                         │
│  - 驱动逻辑 / 控制逻辑                                      │
└────────────────────────────────────────────────────────────┘
                              ▲
                              │ 调度 / 激活事件 / API 调用
                              │
┌────────────────────────────────────────────────────────────┐
│                      操作系统层(OS Layer)                 │
│  FreeRTOS: Task / Queue / Sem / Mutex / Tick                │
│  OSEK: Basic/Extended Task + Event + Alarm                  │
│  AUTOSAR OS: Cat1/Cat2 ISR + Event + Resource + SchTable    │
└────────────────────────────────────────────────────────────┘
                              ▲
                              │ 中断驱动任务 / Tick
                              │
┌────────────────────────────────────────────────────────────┐
│                 中断控制层(Interrupt Layer)              │
│  Cortex‑M: NVIC + PendSV + SysTick                          │
│  RH850: EIINT + INTC + 寄存器 Bank                          │
└────────────────────────────────────────────────────────────┘
                              ▲
                              │ 异常入口 / 压栈 / 寄存器切换
                              │
┌────────────────────────────────────────────────────────────┐
│                  CPU 架构层(CPU Architecture)            │
│  - 寄存器堆(GPRs + SP + PC + PSW)                         │
│  - 异常模型(Exception Model)                              │
│  - 指令集(ISA: Thumb‑2 / V850)                            │
│  - Pipeline / 执行单元 / Bus Interface                      │
└────────────────────────────────────────────────────────────┘
                              ▲
                              │ 通过 load/store 访问内存与外设
                              │
┌────────────────────────────────────────────────────────────┐
│               存储与总线体系(Memory & Bus)               │
│  - RAM(任务栈、TCB、全局变量)                             │
│  - Flash(代码、常量)                                      │
│  - ILM/DLM(高速局部内存)                                  │
│  - Memory‑Mapped I/O(外设寄存器)                          │
│  - AHB / APB / Peripheral Bus                               │
└────────────────────────────────────────────────────────────┘
                              ▲
                              │ Memory‑Mapped Registers
                              │
┌────────────────────────────────────────────────────────────┐
│                     外设与状态机(Peripheral)             │
│  - Timer / CAN / UART / ADC / PWM                          │
│  - FSM(状态机)、触发器阵列、硬件逻辑                      │
└────────────────────────────────────────────────────────────┘
                              ▲
                              │ 信号、电平、时钟、硅片逻辑
                              │
┌────────────────────────────────────────────────────────────┐
│                      硬件电路(Silicon)                   │
│  - Flip‑Flops(触发器)                                     │
│  - Combinational Logic(组合逻辑)                         │
│  - Latches、Gate、FSM                                      │
│  - 制程、电源、时钟树                                       │
└────────────────────────────────────────────────────────────┘

这是整套 MCU → OS → 应用 软件架构体系的核心视图。
专栏的前 10 章都在解释这张图的每一层。


✦ 附录 B:从上电 → Boot → main → OS → 任务 的完整路径图

上电
 ↓
BootROM(厂家固化)
 ↓
读取向量表(SP、Reset_Handler)
 ↓
Startup(启动文件,汇编)
 ↓
C Runtime(crt0:data、bss 初始化)
 ↓
main()
 ↓
StartOS() / vTaskStartScheduler()
 ↓
调度器开始运行
 ↓
第一个任务进入 Running
 ↓
ISR(中断)不断驱动任务切换

这张图把 第 10 章 的内容一目了然地总结了。


✦ 附录 C:任务切换(Context Switch)全路径图

任务 A 正在运行
       │
       ├── SysTick / TAUJ / OSTM(Tick)
       │
       ├── 中断事件(UART RX / CAN RX)
       │
       ▼
中断入口(NVIC / INTC)
       │
       ▼
保存现场(自动 + 手动)
       │
       ▼
OS 调度器
       │
       ├── 判断最高优先级 Ready 任务
       │
       ▼
切换栈指针(PSP/SP)
       │
       ▼
恢复新任务寄存器
       │
       ▼
退出异常 → 新任务运行

这是整个 Context Switch 的过程图,与 第 5 章 完全对应。


✦ 附录 D:RTOS / OSEK / AUTOSAR OS 三者总体对比总览图

FreeRTOS(线程系统)
  - 动态任务
  - 动态内存
  - Thread 模型
  - Mutex / Queue
  - 时间片 + 抢占
  - 不能满足 ASIL

OSEK(车规早期)
  - 静态任务
  - Basic/Extended
  - Event/Alarm/Counter
  - Cat1/Cat2 ISR

AUTOSAR OS(现代车规标准)
  - 完全静态
  - 更严格的事件模型
  - ScheduleTable
  - 优先级上限协议
  - 满足 ASIL

这张图对应 第 7 章 中 FreeRTOS / OSEK / AUTOSAR OS 的完整解析。


✦ 附录 E:Memory‑Mapped I/O 体系总览图

CPU
 │
 ▼
AHB Bus
 │
 ├── RAM
 ├── Flash
 └── APB Bridge
        │
        ├── Timer0 Reg(假设:0x02000000)
        ├── UART0 Reg(假设:0x02010000)
        └── CAN0  Reg(假设:0x02020000)

这个图直接串起 第 1 章第 3 章 的 Memory-Mapped I/O 概念。


✦ 附录 F:CPU 架构 → OS 能力映射图

CPU 架构定义 OS 能力:

Cortex-M:
  自动压栈 → RTOS 任务切换超简单
  PendSV → 任务切换专用入口
  SysTick → 调度节拍
  NVIC → 中断嵌套良好

RH850:
  EIINT → 极低延迟中断
  寄存器 Bank → 高速 ISR
  INTC → 复杂车规中断
  MPU → 轻量保护

这张图对应 第 2 章、第 4 章、第 8 章


✦ 附录 G:工具链(C → 指令)全栈图

C 源码
  ↓
Compiler(前端/优化/后端)
  ↓
Assembler(.o)
  ↓
Linker(.elf)
  ↓
objcopy(.hex/.bin)
  ↓
烧录进 Flash
  ↓
Reset → Startup → main → OS → Task

这是 第 9 章 的视觉化版本。


✦ 附录 H:全体系一张图(总总览)

完整 MCU → OS → 应用全栈模型(终极图):

硬件(硅片)
  | 触发器/电路/FSM
  ▼
外设(Timer/ CAN / UART / ADC)
  | Memory-Mapped I/O
  ▼
总线/存储体系(AHB/APB/RAM/Flash)
  | Load/Store
  ▼
CPU 架构(ISA + 微架构 + 中断模型)
  | PC/SP/寄存器/异常
  ▼
中断系统(NVIC/INTC)
  | ISR1 / ISR2 / PendSV
  ▼
操作系统(RTOS / AUTOSAR OS)
  | 调度器 + 任务模型 + 资源 + Event
  ▼
应用(SWC / Task / 控制逻辑)
Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐