📘 FreeRTOS · 英飞凌移植实战
30章 从入门到优化
🎯 AURIX TC3xx
⚡ TRAVEO T2G
🧩 多核/低功耗
01
FreeRTOS概述与英飞凌平台介绍
内核架构 · AURIX/TRAVEO特点 · RTOS选型考量
02
开发环境搭建
IDE安装 · 源码获取 · 工程模板创建
03
移植前的准备工作
启动流程 · 中断向量表 · 时钟定时器初始化
04
FreeRTOS内核源码结构解析
核心文件 tasks.c, queue.c, list.c · 移植层关系
05
portmacro.h移植 (上)
数据类型重定义 · 堆栈方向 · 临界区宏
06
portmacro.h移植 (下)
taskYIELD · 中断使能/禁止 · 编译器设置
07
port.c移植 (上)
pxPortInitialiseStack · 任务上下文结构
08
port.c移植 (中)
vPortStartFirstTask · SVC中断处理
09
port.c移植 (下)
vPortPendSVHandler · 任务切换核心
10
系统时钟节拍配置
SysTick/STM · vPortSetupTimerInterrupt · xPortSysTickHandler
11
中断管理移植
优先级配置 · 嵌套支持 · 临界区特殊处理
12
内存管理移植
heap_1~5 · Tricore/DSP内存布局 · MPU配置
13
FreeRTOSConfig.h配置详解
configCPU_CLOCK_HZ · TICK_RATE · MINIMAL_STACK_SIZE 等
14
任务创建与调度测试
点灯任务 · 多任务创建 · 优先级验证
15
队列与信号量测试
队列收发 · 二值/计数信号量 · 互斥量
16
软件定时器与任务通知
定时器回调 · 任务通知替代信号量性能对比
17
中断与任务同步实战
外部中断触发 · ISR发送信号量 · 任务等待
18
多核移植基础 (AURIX TC3xx)
多核架构 · 核间通信 · IPI配置
19
多核移植进阶
每核独立RTOS实例 · 共享资源保护 · 核间同步
20
性能优化 (上)
任务切换时间测量 · 临界区优化 · 中断延迟
21
性能优化 (下)
内存优化 · 堆栈深度分析 · CPU负载计算与可视化
22
低功耗模式移植
休眠模式 · Tickless Idle · 唤醒源管理
23
调试与诊断工具
内核调试钩子 · Tracealyzer/SystemView集成
24
常见移植问题排查
HardFault · 堆栈溢出检测 · 优先级反转
25
外设驱动集成
GPIO, UART, SPI, I2C 在FreeRTOS下封装
26
文件系统与网络协议栈集成
FatFS + FreeRTOS · lwIP移植要点
27
安全认证考量
IEC 61508/SIL · SafeRTOS对比 · 英飞凌安全库
28
Bootloader与OTA升级
基于FreeRTOS的Bootloader · 固件升级 · 双区备份
29
实战项目一:电机控制 (AURIX TC375)
多任务架构 · 实时性验证
30
实战项目二:HMI人机交互 (TRAVEO T2G)
GUI任务 · 通信任务协同设计