瑞萨e2studio:HardwareDebug配置项详解
一、Debugger - GDB Settings(GDB 调试基础配置)
- Debug hardware:指定调试硬件工具,决定用哪种调试器(如
E2 Lite (RX)
这类瑞萨调试器,或 J - Link 等第三方调试器)与目标芯片通信。 - Target Device:指定目标芯片型号,e2studio 依据此加载对应芯片的调试配置。
GDB Connection Settings:
Autostart local GDB server:选此项,e2studio 会自动启动本地 GDB 服务器,作为调试器(如 E2 Lite)与开发环境的中间层,转发调试指令、处理芯片数据交互。
Host name or IP address:填localhost
表示本地调试,GDB 服务器在本机运行;若远程调试,需填远程服务器 IP 。
GDB port number:默认61234
,是 GDB 服务器监听的端口,确保无其他程序占用,保证调试指令、数据能通过该端口传输。- GDB Command
指定 GDB 调试器程序路径及启动参数(如rx-elf-gdb -rx-force-isa=v3 -rx-force-double-fpu
),rx-elf-gdb
是瑞萨针对 RX 系列芯片的 GDB 版本,-rx-force-isa=v3
强制指定指令集架构版本,-rx-force-double-fpu
处理浮点运算单元相关配置。 - Step Mode
- 作用:勾选后,调试按 “单步” 逻辑执行(如单步进入函数、单步步过代码行 );不勾选则按常规流程(持续运行到断点 )。
- 含义:用于精细调试,逐行排查代码逻辑、变量变化,适合定位复杂问题。
二、Debugger - Connection Settings(调试连接配置 )
- Clock
Main Clock Source:选
EXTAL
表示芯片主时钟来自外部晶振,需与硬件电路(外部晶振频率、电路设计 )匹配,影响芯片运行频率、指令执行速度。Extal Frequency[MHz]:定义外部晶振频率,芯片时钟树基于此计算系统时钟、外设时钟。
Operating Frequency [MHz]:芯片实际运行的主频率,由时钟源、分频 / 倍频配置决定,影响代码执行速度、功耗。
Permit Clock Source Change On Writing Internal Flash Memory:
Yes
:允许调试时写内部 Flash 时改变时钟源。
- Connection with Target Board
- Emulator:
(Auto)
让 e2studio 自动识别连接的调试器;也可手动指定(若自动识别异常 )。 - Connection Type:高精度调试模式,针对瑞萨自家的调试器。
J-Link
模式是针对 SEGGER J-Link 调试器的专用连接模式。 - JTag Clock Frequency[MHz]:JTAG 接口通信频率,影响调试器与芯片的通信速度、稳定性,过高可能因信号干扰、时序问题导致连接失败,过低则拖慢调试效率。
- Fine Baud Rate[Mbps]:精细模式下的通信波特率,与 JTAG 时钟协同,保证调试指令、芯片数据(如寄存器值、内存内容 )高效、准确传输。
- Hot Plug:
No
表示不支持 “热插拔” 调试,即调试过程中不能插拔调试器 / 目标板;设为Yes
需硬件、调试器支持,否则可能损坏设备、导致调试异常。
- Emulator:
- Power
- Power Target From The Emulator (MAX 200mA):
No
表示目标板不从调试器取电,需外部独立供电;选Yes
则由调试器供电(上限 200mA ),适合小功率开发板,但要注意调试器供电能力、目标板功耗,避免过载。 - Supply Voltage (V):
3.3
是目标板供电电压,需与硬件电路(芯片工作电压、外设电压 )一致,否则可能因电压不匹配损坏芯片、导致外设无法工作。
- Power Target From The Emulator (MAX 200mA):
- CPU Operating Mode
- Register Setting:
Single Chip
表示芯片工作在 “单芯片模式”,集成外设(如定时器、串口 )按片上配置运行,是常规开发模式;若选其他模式(如 “扩展模式” ),需外接更多硬件,一般嵌入式开发用Single Chip
。 - Mode pin:
Single-chip mode
与Register Setting
对应,通过芯片引脚电平配置工作模式。 - Change startup bank:
Yes
允许调试时切换启动 Bank(芯片内部存储分区,用于程序启动、备份 ),适合多 Bank 设计(如程序升级、冗余备份 ),调试时可测试不同 Bank 启动逻辑。 - Startup bank:
Bank 0
指定默认启动 Bank,需与硬件 Flash 分区、程序烧录位置匹配,否则芯片可能因找不到程序无法启动。
- Register Setting:
- Communication Mode
- Mode:
Debug Mode
让芯片进入调试状态,开放调试接口、响应调试指令(如暂停、读寄存器 );若选 “运行模式”,芯片正常执行程序,但调试器无法干预。 - Execute The User Program After Ending The Debugger:
No
表示调试结束(如断开调试器、退出调试会话 )后,芯片停止运行用户程序;选Yes
则继续运行,根据需求选择。
- Mode:
- Flash
- ID Code:
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
是 Flash 设备识别码,调试器通过读取此码识别 Flash 型号、参数(如容量、读写特性 )。
- ID Code:
三、Debugger - Debug Tool Settings(调试工具扩展配置 )
- IO
- Use Default IO Filename:
Yes
使用默认 IO 配置文件路径(${support_area_loc}
),存储调试器与芯片通信的 IO 配置(如引脚映射、通信协议细节 );选No
可自定义路径,适合特殊硬件、调试需求。 - IO Filename:
${support_area_loc}
是默认路径变量,指向 e2studio 预设的 IO 配置存储位置。
- Use Default IO Filename:
- General Debug
- Reset After Reload:
Yes
表示程序下载(Reload )后自动复位芯片,让程序从起始点(如main
函数 )运行;No
则需手动复位,适合调试 “程序启动前状态”(如初始化代码 ),但常规开发选Yes
更便捷。
- Reset After Reload:
- Memory
- Endian:
Little Endian
指定内存字节序为 “小端”,。 - Verify On Writing To Memory:
Yes
:内存(如烧录程序、修改变量 )后,自动校验数据是否正确写入。 - Internal Flash Memory Overwrite:配置内部 Flash 覆盖策略(如擦除块大小、写入保护 ),与芯片 Flash 特性(分区、擦写规则 )相关。
- External Memory Areas:定义外部内存分区数量、起始 / 结束地址,若硬件外接 SRAM、Nor Flash 等,需准确配置。
- Work RAM Start Address工作 RAM 起始地址。
- Work RAM Size (Bytes):RAM 大小。
- Endian:
- System
- Debug the program re-writing the on-chip PROGRAM ROM:
No
表示调试时不允许重新写入片上程序 ROM(保护程序固件 );选Yes
则允许烧录、修改。 - Debug the program re-writing the on-chip DATA FLASH:控制是否允许调试时修改片上数据 Flash(存储配置参数、日志等 )。
- Debug the program re-writing the on-chip PROGRAM ROM:
- Start/Stop Function Setting
- Execute function before running user program:
No
表示程序运行前不执行额外函数;选Yes
需指定函数地址(0x0
),可用于初始化硬件、设置环境(如调试前配置特殊寄存器 ),但需确保函数逻辑正确,否则影响程序启动。 - Address for start function:
0x0
是程序运行前执行函数的入口地址,需与实际函数在内存中的位置一致,否则会因地址错误导致执行失败、程序崩溃。 - Execute function after stopping user program:
No
表示程序停止(如遇到断点、手动暂停 )后不执行额外函数;选Yes
需指定地址,可用于清理资源、记录状态。 - Address for stop function:
0x0
是程序停止后执行函数的入口地址。 - Work RAM Start Address 、Work RAM Size (Bytes): RAM 配置可能与程序运行时的 “临时调试 RAM” 相关,用于存储调试中间数据(如断点信息、变量快照 )。
- Execute function before running user program:
- External Flash
- Download Enabled:
No
表示调试时不下载程序到外部 Flash;Yes
:需配置外部 Flash ,适合程序存储在外部 Flash 的场景。 - External Flash Definition:多个配置项用于定义外部 Flash 参数 。
- IO Register Settings:配置与外部 Flash 通信的 IO 寄存器。
- Download Enabled:
- Time Measurement
- Run Break Time Measurement:
Yes
启用运行中断时间测量,调试器会记录程序运行到断点、单步执行的时间,用于分析程序执行效率(如某段代码耗时 )、时序问题(如实时任务超时 ),辅助优化程序性能。
- Run Break Time Measurement:
四、Startup(调试启动流程配置 )
- 初始化命令
- delete mem、mem 0x00000000 0x10000000 rw nocache:调试启动时执行的 GDB 命令,
delete mem
清理内存相关调试标记,mem 0x00000000 0x10000000 rw nocache
配置内存访问属性(从0x0
到0x10000000
地址,可读写、不使用缓存 )。
- delete mem、mem 0x00000000 0x10000000 rw nocache:调试启动时执行的 GDB 命令,
- Load image and symbols
- Program Binary:勾选并配置程序文件路径,调试启动时自动加载程序镜像(如编译生成的
.elf
、.bin
文件 )和符号表(用于关联代码行、变量名与内存地址 )。 - Offset (hex):
0
表示程序加载到内存的偏移地址为 0,需与程序链接脚本(指定程序入口、段地址 )一致,保证程序在正确内存位置运行。 - On connect:
Yes
表示连接调试器后自动加载程序,简化调试流程,无需手动加载。
- Program Binary:勾选并配置程序文件路径,调试启动时自动加载程序镜像(如编译生成的
- 运行时参数
- 设置程序计数器 (十六进制):手动指定程序入口地址,覆盖默认链接脚本配置。
- 设置断点:
main
表示调试启动后自动在main
函数入口设断点,程序运行到main
时暂停,方便从程序主逻辑开始调试。 - 继续:勾选则程序加载后自动 “继续运行”(到下一个断点 );不勾选则停在启动状态,需手动触发运行。
- 执行命令
- mem auto:调试启动后自动执行的内存相关 GDB 命令。