描述
Renesas H8S、H8SX家族E10A - USB仿真器使用指南
在电子科技领域,仿真器是开发和测试微控制器(MCU)的重要工具。Renesas的H8S、H8SX家族E10A - USB仿真器为工程师们提供了强大的调试和开发功能。本文将深入介绍该仿真器的硬件连接、软件规格以及相关注意事项,帮助电子工程师更好地使用这款仿真器。
文件下载:R5F3650KCDFA#V0.pdf
一、硬件连接
1.1 仿真器组件
H8S/2427 E10A - USB仿真器支持H8S/2427和H8S/2427R组,H8S/2425 E10A - USB仿真器支持H8S/2425组。其硬件组件包括:
- 仿真器盒:有HS0005KCU01H和HS0005KCU02H两种型号,尺寸为深度65.0mm、宽度97.0mm、高度20.0mm,质量分别为72.9g和73.7g。
- 用户系统接口电缆:14针类型,长度20cm,质量33.1g。
- USB电缆:长度150cm,质量50.6g。
软件方面,提供了H8S/2427 E10A - USB和H8S/2425 E10A - USB仿真器设置程序、用户手册、补充信息以及测试程序手册(存储在CD - R上)。
1.2 与用户系统的连接
在将E10A - USB仿真器与用户系统连接之前,需要在用户系统中安装连接器,以便连接用户系统接口电缆。设计用户系统时,要参考本手册中推荐的连接器与MCU的连接示例。
连接时,务必将用户系统连接器的8、9、10、12、13和14引脚牢固连接到PCB上的GND,这些引脚用作电气GND并监测用户系统连接器的连接情况。同时,要注意用户系统连接器的引脚分配。
这里要特别提醒的是,一定要用螺丝等将用户系统接口电缆的GND线连接到用户系统的GND上,否则会因过流引发火灾危险,损坏用户系统、仿真器产品和主机。
1.3 USB连接器引脚分配
| 用户系统连接器的引脚分配如下: |
引脚编号 |
MCU引脚名称 |
输入/输出 |
| 1 |
ETCK |
输入 |
| 2 |
ETRST# |
输入 |
| 3 |
ETDO |
输出 |
| 4 |
RES(in)# |
输入 |
| 5 |
ETMS |
输入 |
| 6 |
ETDI |
输入 |
| 7 |
RES(out)# |
输出 |
| 8 - 10 |
GND |
- |
| 12 - 14 |
- |
- |
| 11 |
Vcc |
- |
1.4 仿真器连接示例
连接用户系统和仿真器时,要注意以下几点:
- RES(in)#(引脚4)是仿真器向MCU输出信号的信号线,需将其和用户系统复位电路连接到MCU。
- RES(out)#(引脚7)是仿真器监测MCU的RES#信号的信号线,连接到用户系统连接器引脚7之前必须上拉。
- 仿真器使用片上仿真器引脚ETCK、ETRST#、ETDO、ETMS和ETDI,要上拉这些引脚并连接到用户系统连接器。
- 若仿真器连接到用户系统,上拉MCU的EMLE引脚;未连接时,将EMLE接地。
- 将用户系统连接器的8 - 10、12 - 14引脚的GND连接到用户系统的地,将引脚11的Vcc连接到用户系统的电源(Vcc),输入电压Vcc要在微计算机保证运行的范围内。
- 使用仿真器时,H8S/2427、H8S/2427R、H8S/2425组的某些引脚功能不可用,如PCP53、PG4 - PG6、WDTOVF#等。
二、仿真器软件规格
2.1 H8S/2427、H8S/2427R、H8S/2425组与仿真器的差异
- 寄存器初始化:仿真器启动时,会初始化通用寄存器和部分控制寄存器,如PC初始化为向量地址表中的复位向量值,ER0 - ER6初始化为H’0等。但MCU的初始值是未定义的。
- 系统控制寄存器:在仿真器中可从[IO]窗口访问内部I/O寄存器,但访问系统控制寄存器时要小心。仿真器会在断点处保存系统控制寄存器的值,并在用户程序执行时恢复。因此,不要在[IO]窗口中重写系统控制寄存器。
- 仿真期间的内存访问:仿真期间引用或修改内存内容时,用户程序会暂时停止,无法进行实时仿真。
- 引脚功能:仿真器通过片上仿真器引脚与MCU通信,与这些引脚复用的功能无法使用。
- 功耗:使用仿真器时,MCU的功耗可达几毫安,这是因为用户电源驱动IC使通信信号电平与用户系统电源电压匹配。
- MCU使用注意:不要使用已用于调试的MCU,多次重写闪存可能导致数据丢失,若出现错误信息,需更换新的MCU。
- MCU操作模式:仿真器支持模式1、2、4和7(片上仿真模式)。
- 调试期间的闪存编程:在执行[Go to cursor]、单步跳过子程序、单步跳出子程序操作时,会使用断点对闪存进行编程。
- 程序闪存模式下的求和数据显示:“Program Flash”模式下显示的求和数据是整个ROM区域数据按字节相加的值。
- 执行用户程序注意事项:仿真器在闪存编程期间会重写设置值。
- 加载会话:[Configuration]对话框中[JTAG clock]的信息无法通过加载会话恢复,JTAG时钟(TCK)的值在启动时变为初始值。
- 连接仿真器时的系统时钟设置:在[System Clock]对话框中输入使用的振荡器频率(若MCU通过PLL电路倍频也适用)。
- 内部闪存编程或擦除时的仿真:调用内部闪存编程或擦除程序时,无法产生断点,且[STOP]按钮执行、观察功能自动更新、工具芯片观察功能使用以及仿真执行期间的内存操作等都无法进行。
2.2 H8S/2427 E10A - USB和H8S/2425 E10A - USB仿真器功能
2.2.1 仿真器驱动选择
在[Driver Details]对话框中可选择的驱动为Renesas E - Series USB Driver,适用于HS0005KCU01H和HS0005KCU02H。
2.2.2 硬件中断功能
H8S/2427 E10A - USB和H8S/2425 E10A - USB仿真器可设置八个中断条件,包括地址总线条件、数据总线条件、读写条件和跟踪采集条件。在[Break condition]对话框和BREAKCONDITION_SET命令中可设置不同的条件组合。
但要注意,当选择[Step In]、[Step Over]或[Step Out],执行设置了BREAKPOINT的指令,以及使用单步跳过功能时,中断条件设置会被禁用。
2.2.3 [Breakpoint]对话框设置注意事项
- 设置奇数地址时,地址会向下舍入为偶数地址。
- BREAKPOINT只能设置在闪存或RAM区域,不能设置在其他区域或满足中断条件的指令上。
- 单步执行期间,BREAKPOINT会被禁用。
- 执行BREAKPOINT处的指令后,中断条件设置会立即禁用。
- 程序在BREAKPOINT处停止后恢复执行时,会在恢复执行前的地址进行单步执行,无法进行实时操作。
- 使用STEP OVER功能时,BREAKPOINT和中断条件设置无效。
2.2.4 JTAG时钟(TCK)使用注意事项
使用JTAG时钟(TCK)时,频率要设置得低于系统时钟。执行[Reset CPU]或[Reset Go]后,JTAG时钟(TCK)的值变为仿真器启动时设置的初始值。
2.2.5 跟踪功能
仿真器利用MCU的分支指令跟踪功能,通过实时运行用户程序来获取跟踪信息,显示八通道分支源地址、助记符和操作数。
2.2.6 外部闪存调试
该仿真器支持外部闪存调试,可将程序下载到外部闪存区域。在仿真器启动时打开[External Flash memory setting]对话框进行设置,勾选[Use External Flash memory setting]可显示该对话框。通过指定初始化、写入或擦除模块并填写外部闪存信息,可在外部闪存区域实现与H8S E10A - USB系统等效的调试功能。
2.2.7 初始化、写入和擦除模块与仿真器固件的接口
仿真器启动并对外部闪存进行读写时,初始化、写入和擦除模块必须从固件分支。分支和返回时要满足以下条件:
- 每个模块的大小必须连续且不超过4 Kbytes(包括工作区和堆栈区)。
- 调用模块前后要保存和恢复所有通用寄存器值和控制寄存器值。
- 处理后将模块返回调用源。
- 模块必须是Motorola S型文件。
- 写入模块将数据ER1(L)写入地址ER0(L),存储闪存顶部地址ER2(L),结果存储在ER0(L);擦除模块擦除地址ER0(L)的块,存储闪存顶部地址ER1(L),结果存储在ER0(L)。
- 设置写入模块的写入大小(字节、字或长字)。
- 初始化模块用于设置访问外部闪存所需的设备,结果存储在ER0(L)。
总之,Renesas的H8S、H8SX家族E10A - USB仿真器功能强大,但在使用过程中需要注意诸多细节。电子工程师们在实际应用中,要仔细阅读手册,合理设置参数,以充分发挥仿真器的性能,提高开发效率。大家在使用这款仿真器时,有没有遇到过什么特别的问题呢?欢迎在评论区分享。
打开APP阅读更多精彩内容