🔧 ECU调试·性能剖析
📘 30章实战
v2.0
01
ECU调试概述
核心地位
什么是片上调试?为什么需要调试?调试在ECU开发中的核心地位。
02
调试接口与协议
JTAG/SWD
JTAG、SWD、BDM接口原理与对比,调试协议基础。
03
调试工具链搭建
OpenOCD+GDB
OpenOCD、GDB、J-Link、ST-Link等工具安装与配置。
04
GDB基础操作
断点/单步
启动、设置断点、单步执行、查看变量、修改内存。
05
GDB高级调试
条件观察点
条件断点、观察点、回溯跟踪、多线程调试。
06
OpenOCD实战
Flash编程
配置文件编写、目标板连接、Flash编程与调试。
07
Trace调试技术
ETM/ETB
ETM/ETB原理、指令跟踪、数据跟踪、时间戳。
08
性能剖析基础
CPU负载
什么是性能剖析?性能指标(CPU负载、中断延迟、堆栈使用)。
09
硬件性能计数器
PMU
PMU(性能监视单元)原理、事件计数、溢出中断。
10
基于定时器性能测量
DWT/SysTick
DWT循环计数器、SysTick定时器应用。
11
代码插桩技术
自动插桩
函数入口/出口插桩、手动插桩、自动插桩工具。
12
gprof与gcov
覆盖率分析
GCC性能剖析工具、代码覆盖率分析。
13
Perf工具嵌入式
perf stat
perf stat、perf record、perf report。
14
OProfile & SystemTap
内核级
Linux内核级性能剖析工具。
15
RTOS任务级调试
FreeRTOS
FreeRTOS任务状态、堆栈使用、任务切换时间测量。
16
中断延迟测量
响应/抖动
中断响应时间、中断嵌套、中断抖动分析。
17
堆栈溢出检测
MPU保护
硬件堆栈检测、软件堆栈水印、MPU保护。
18
内存泄漏检测
malloc钩子
静态分析、动态检测、malloc/free钩子函数。
19
代码执行时间测量
DWT_CYCCNT
DWT_CYCCNT、定时器捕获、逻辑分析仪方法。
20
功耗剖析
EnergyTrace
电流测量、功耗状态分析、EnergyTrace工具。
21
实时性分析
WCET
WCET(最坏情况执行时间)估算、调度分析。
22
调试与性能剖析集成
VS Code
IDE集成(VS Code、Eclipse)、脚本自动化。
23
Segger J-Scope
实时波形
实时数据可视化、变量波形显示。
24
Lauterbach Trace32
高级跟踪
高级调试与跟踪工具使用。
25
IAR C-SPY & ARM DS-5
商用IDE
商用IDE调试与剖析功能。
26
基于模型的设计调试
Simulink
Simulink代码生成调试、MIL/SIL/HIL测试。
27
多核ECU调试
AMP/SMP
AMP/SMP架构调试、核间通信调试、共享资源冲突。
28
安全相关调试
Secure Debug
Secure Debug、调试接口锁定、JTAG熔丝。
29
自动化测试与调试
CI/CD
CI/CD集成、自动化回归测试、失败自动抓取调试信息。
30
综合实战案例
启动优化
从零调试一个ECU启动故障,结合性能剖析优化启动时间。