2025 / 01 / 07
EZ-CUBE3用户手册 如何在RA微控制器上使用EZ-CUBE3

如何在RA微控制器上使用EZ-CUBE3


本章描述了如何使用EZ-CUBE3在RA微控制器上进行片上调试和Flash编程。


片上调试是指通过芯片内置的调试功能对已经装载在目标系统上的微控制器进行调试的方法。由于这种调试方法是对板上的目标设备进行操作的,所以非常适合现场调试。


Flash编程是将程序写入设备内置的Flash存储器的方法。可以在板上对设备进行擦除、写入和校验。


如果首次用RA微控制器作为目标设备来使用EZ-CUBE3,那么请仔细阅读以下内容。


1 目标系统设计

要用EZ-CUBE3和目标系统进行通信,必须在目标系统上安装对应的通信电路。本节描述了相关电路的设计以及接口的安装。


2 片上调试

本节描述了用EZ-CUBE3进行片上调试的系统配置和启动方法。


3 Flash编程

本节描述了用EZ-CUBE3进行Flash编程的系统配置和启动方法。


支持RA MCU列表

支持RA MCU(RA2系列、RA4系列、RA6系列),最新的支持产品型号,请参阅EZ-Cube3网页上的信息。

https://www.renesas.cn/zh/software-tool/ez-cube3


1 目标系统设计

为了实现片上调试和Flash编程功能,需要设计目标系统的电路,本节描述了相关的电路设计。

图1为EZ-CUBE3通信的整体接口框图。如图所示,EZ-CUBE3与目标系统的目标设备之间进行串行通讯。为了实现通讯,目标系统上必须安装用于通信的电路。

请参考本节的内容设计合适的电路。这里用于串行通信的引脚基本上和使用Flash编程器(例如EZ-CUBE3)时使用的串行通信引脚相同,但是有一些设备并不支持这些引脚。

图1通信接口概述

EZ-CUBE3开关设置RA

调试模式选择开关(SW2):请选择“RL78和RA”。


1.1 引脚配置

本节将说明EZ-CUBE3和目标系统之间使用的接口信号。表1中列出了引脚的使用情况。图2说明了14引脚接口中引脚的序号和排列。

表1 引脚的使用情况(RA)


图2 14引脚接口中引脚的序号和排列

(EZ-CUBE3侧视图)


1.2 电路连接举例

目标系统上的电路设计会根据接口信号而有所不同。接口的引脚名称可能会因目标设备有所不同。详细信息请参考目标设备的用户手册。参照图3~图4和相关的电路连接示例。

注意事项:在电路连接示例中出现的常数值为参考值。如果进行Flash编程旨在量产,请彻底评估目标设备的规格是否满足要求。

图3 通过SWD接口连接的示例

(用于调试和闪存编程)


注1:这取决于设备。请参阅RA系列各MCU的“用户手册硬件版”中的“闪存”一章-“注意事项”一节-“仿真器连接”一节。如果建议将MCU的MD引脚连接到仿真器的SWCLK/MD引脚,请将其连接。当MD引脚未连接到仿真器的SWCLK/MD引脚时,必须在用户系统上配置该引脚的专用电路。


图4 通过SCI接口连接的示例

(用于闪存编程)


注1:这取决于设备。请参阅RA系列各MCU的“用户手册硬件版”中的“闪存”一章-“注意事项”一节-“仿真器连接”一节。如果建议将MCU的MD引脚连接到仿真器的MD引脚,请连接它们。当MD引脚未连接到仿真器的MD引脚时,必须在用户系统上配置该引脚的专用电路。


1.3 RES#引脚的连接

EZ-CUBE3使用RES#引脚。

如果用户系统包括用户逻辑复位电路,则复位电路的输出信号必须通过如下所示的开路集电极缓冲器连接到连接器的RES#引脚。如果没有复位电路,则连接器的RES#引脚必须直接连接到MCU的RES#引脚。

图5 RES#引脚的连接


不要在信号线上安装电容、串联电阻或滤波器;如果尝试这样做,则可能无法建立正确的通信。


1.4 MD引脚的连接

请参阅RA系列各MCU的“用户手册硬件版”中的“闪存”一章-“注意事项”一节-“仿真器连接”一节。如果建议将MCU的MD引脚连接到仿真器的SWCLK/TCK/MD引脚,则仿真器使用MD引脚。MCU的MD引脚的电路包括上拉电阻。


当MD引脚在SCI或USB引导模式下使用而不使用仿真器时,必须处理MD引脚,以便将其切换到低电平。

图6 MD引脚的连接


1.5 RxD9和TxD9引脚(通过SCI进行闪存编程)

当闪存通过SCI编程时,RxD9和TxD9引脚必须连接到仿真器。对于RxD9和TxD9引脚可分配给多个引脚的MCU,请查看MCU的硬件手册,以确认哪些引脚在引导模式下使用。


1.6 连接时的注意事项

连接器和MCU之间的布线图案必须尽可能短(建议在50mm以内)。请勿将连接器和MCU之间的信号线连接到板上的其他信号线。


有关仿真器未使用时引脚的处理,请参阅MCU的硬件手册。


2 片上调试

本节描述了使用EZ-CUBE3进行片上调试的系统配置,启动/关闭顺序和调试中的若干注意事项。


2.1 调试功能

表2列出了以RA微控制器作为目标设备,进行调试时的调试功能。

表4.2 调试功能


2.2 e2studio环境下
调试软件的设置

2.2.1 打开或创建工程

(1)打开e2studio开发环境。


(2)打开已生成的RA工程或者创建RA新工程。

打开已生成的工程。


创建新工程。


(3)编译代码

点击“Build”按钮,对代码进行编译。编译成功后,代码准备结束。


2.2.2 硬件连接仿真器与目标板

(1)EZ-CUBE3仿真器开关设置。


(2)系统连接


2.2.3 e2studio环境下设置调试工具

(1)在“调试配置”中选择“E2 Lite(ARM)”调试工具。


(2)在“Connection Settings”“Power Target From The Emulator.(MAX 200mA)”务必选择为“No”。


2.2.4 e2studio环境下下载和调试程序

(1)点击“Launch in ‘Debug’ mode”按钮。


(2)电脑与仿真器及目标板建立正确连接并正常下载程序后,可以调试用户代码。


2.3 调试时的注意事项

(1)RESET状态

在[Connection Settings]选项卡页的[Connection]下,确保[Hold reset during connect]选择[Yes]。


当选择[Yes]时,在连接到仿真器调试器期间,仿真器将保持 MCU的RES#引脚上的低电平输出,并将MCU置于OCD模式。然而,为了启动MCU的内置调试电路的操作,仿真器在连接时释放复位约50毫秒,用户程序在此期间自动运行。

图7 [Hold reset during connect]的设置


(2)Startup模式

连接仿真器调试器后,处理用户系统上的引脚,使MCU的启动模式为单芯片模式。


在单芯片模式下,MD引脚处于高电平。在SCI/USB引导模式下,无法正确连接仿真器调试器。


(3)重写ID代码后的调试

如果ID代码(OSIS寄存器)已被重写,请输入新的ID代码。


这里,要输入的ID代码是指要在[Connection Settings]选项卡页的[Connection]下的[ID Code (Bytes)]中输入的值。

图8 [ID Code(Bytes)]的设置


包含DLM设施的设备,如RA6M4组的设备,不具有ID码认证功能。


(4)输入ID代码的ALeRASE命令

如果在[ConnectionSettings]选项卡页的[Connection]下的[ID Code(Bytes)]中输入ALeRASE命令(FFFFFFFFFFFFFFFFFF45534152654C41),则在连接仿真器调试器时,代码闪存和选项设置内存将被擦除。有关输入ALeRASE命令的详细信息,请参阅e2studio帮助系统中的E2/E2 Lite(RA)Connection Settings。有关ALeRASE命令可用的条件,请参阅所用MCU的硬件手册。如果输入ALeRASE命令,则仿真器调试器已连接,而该命令在MCU上不可用,则会显示错误消息“Failed to erase all flash memory by the ID for erase all flash memory.”,连接过程将暂停。


由于RA6M4组等设备具有DLM设施,因此没有ID码认证,也无法使用ALeRASE命令。


(5)连接速度

仿真器与目标板的连接速度在以下上限值内指定。

—SWD(E2 Lite):6000kHz

图9 设置连接速度


当选择“Auto”时,将自动设置连接的最大速度。


2.4 关于涉及闪存重新编程的

调试操作的注意事项

“涉及闪存重新编程的调试操作”是指仿真器调试器的以下操作。

• 将数据下载到闪存

• 在闪存中使用软件中断功能

(a)设置和取消断点

(b)从断点执行或单步执行程序

(c)从设置中断的状态使用“Run to Line”功能

(1)闪存重新编程程序

由于仿真器调试器启用涉及闪存重新编程的调试操作,仿真器将用于重新编程闪存的程序写入片上SRAM并执行该程序以重新编程闪存。闪存重新编程后,仿真器调试器将片上 SRAM恢复到初始状态。


(2)用于重新编程闪存的程序分配目标

默认情况下,用于重新编程闪存的程序从SRAM0区域开始的地址(或对于不包括SRAM0区的设备,SRAMHS区域开始的位置)分配到5-KB的空间。如果由于安全设置或 DMAC/DTC传输注而导致默认分配目标不可用,请在仿真器调试器的[Debug Tool settings]选项卡页上的[Flash]下,输入片上RAM中可用空间的起始地址,单位为1000h字节。


注:即使在break期间,DMAC或DTC仍将继续运行。注意DMAC或DTC的传输源或目的地不在要分配程序的工作 RAM的地址范围内。

图10 [Work RAM Start Address]的设置


当设备包含TrustZone®功能(例如,RA6M4),且仿真器调试器连接到具有调试访问级别DBG1的设备时,请勿部署用于重新编程闪存的程序。


(3)在重新编程闪存的程序执行期间中断和重置

当正在执行重新编程闪存的程序时,除不可屏蔽中断之外的中断将被屏蔽。此外,为了正确执行用于重新编程闪存的程序,在执行程序之前设置的所有中断源标志都被清除。


如果发生不可屏蔽中断,仿真器将继续运行程序以重新编程闪存。如果在执行重新编程闪存的程序时发生reset,仿真器将显示错误消息并停止处理。由于这样做可能会损坏闪存的内容,因此在程序运行时不要执行reset。


(4)将数据下载到闪存的条件

当MCU满足以下所有条件时,可以继续将数据下载到闪存。

(a)MCU的代码闪存处于读取模式。

(b)MCU的系统时钟(ICLK)频率为1MHz或更高


注:对于仿真器调试器的[Connection Settings]选项卡页中的[Clock],当[Permit Clock Source change on writing on-chip Flash Memory]选择[Yes]时,可以排除条件(b)。

图11 设置[写入片上闪存时允许时钟源更改]


如果在不满足任何条件的情况下将数据下载到闪存,仿真器将显示错误消息并停止处理。在这种情况下,在CPU复位后重新开始将数据下载到闪存,或在检查其设置后重新连接仿真器调试器。


(5)将数据下载到安全区域

当将数据下载到为安全MPU指定的安全区域时,在仿真器调试器的[Debug Tool Settings]选项卡页面中,为[Flash]选择[Yes],为[Erase on-chip program Flash before download]。

图12 [Erase on-chip program flash before download]]的设置


(6)访问窗口功能

当要使用MCU的访问窗口功能时,只能在指定的访问区域重新编程闪存。


(7)在闪存中使用软件中断的条件

当MCU满足以下所有条件时,将启用闪存的软件中断功能。

(a)MCU的代码闪存处于读取模式。

(b)MCU的系统时钟(ICLK)频率为1MHz或更高

(c)对于[Debug Tool Settings]选项卡页面中的[Break],[Use Flash Breakpoints]选择了[Yes]。

图13 设置[Use Flash Breakpoints]


注:对于仿真器调试器的[Connection Settings]选项卡页中的[Clock],当[Permit Clock Source change on writing on-chip Flash Memory]选择[Yes]时,可以排除条件(b)。


图14 设置[写入片上闪存时允许时钟源更改]


如果在不满足任何条件的情况下使用软件中断功能,仿真器将显示错误消息。在这种情况下,使用硬件中断或确认满足上述条件(a)至(c)。


(8)闪存I/O寄存器

在涉及闪存重新编程的调试操作之后,仿真器调试器将重写闪存I/O寄存器的值。


2.5 在片上SRAM中

使用软件中断的注意事项

(1)用户程序覆盖软件断点

如果软件断点被用户程序覆盖,则即使程序运行通过地址,程序也不会停止。在这种情况下,在目标片上SRAM被程序重写后设置软件断点。


2.6 使用软件中断的注意事项
(片上SRAM和闪存通用)

(1)在安全区域设置软件断点

不要在安全MPU指定的安全区域中设置软件断点。如果尝试这样做,指令代码可能会在中断释放时恢复为不正确的数据。


(2)读取已设置软件断点的地址

不要读取用户程序设置了软件断点的地址,这样做可能会导致程序以与正常状态不同的方式运行。


(3)在[内存]视图中查看内存

在执行用户程序期间,如果仿真器调试器的[Memory]视图中显示了设置了软件断点的内存范围,则显示的值(BKPT指令代码)与实际程序数据中的值不同。


(4)在仿真器调试器断开连接时删除软件断点

要断开仿真器调试器的连接时,请删除已设置的所有软件断点。此时,复位CPU,因为仿真器调试器肯定会重新编程闪存。


2.7 关于调试器占用的外围I/O寄存器的说明

(1)调试器占用的外围I/O寄存器

仿真器调试器在调试期间占用以下外围I/O寄存器。不要更改这些寄存器的值,因为这样做之后可能无法继续调试。

— 调试停止控制寄存(DBGSTOPCR)

— 微跟踪缓冲区(MTB)(SFR区域)

— 系统控制OCD控制寄存器(SYOCDCR)


4.2.8 使用MTB跟踪功能的注意事项

当使用MTB跟踪功能时,跟踪记录区域是从片上SRAM开始的地址为仿真器调试器选择的记录跟踪的大小。当用户程序使用片上SRAM时,不要使用跟踪记录区域。有关片上 SRAM启动地址的详细信息,请参阅各MCU的硬件手册。


如果仿真器调试器的跟踪记录区域的大小已更改,则链接器脚本也必须更改。


2.9 使用ETB跟踪功能的注意事项

以下介绍了具有Cortex-M33内核的MCU的ETB跟踪功能的注意事项。

(1)当分步执行分支指令时,跟踪结果不正确。

在指令的步骤执行之后,显示的地址不是分支目标的地址,而是分支源的地址。


(2)数据比较事件作为跟踪事件的操作不正常。

即使将数据比较事件设置为跟踪事件,也不会比较数据,但仅在访问位置时满足事件条件。


(3)如果在程序执行期间应用重置,则不会获取跟踪信息。


(4)如果出现以下任何异常,则跟踪结果可能不正确。

— 硬故障

— 内存管理

— 总线故障

— 调试监视器

— PendSV

— SysTick


2.10 低功率模式注意事项

(1)在SSTBY或SNOOZE模式下调试

在SSTBY或SNOOZE模式下,仿真器调试器无法访问MCU 的系统总线。在执行用户程序时或在MCU的模式转换期间,无法设置和查看存储器或外围I/O寄存器以及设置和更改断点。


(2)在SSTBY或SNOOZE模式下强制停止程序

当程序在SSTBY或SNOOZE模式下强制停止时,请执行以下操作之一。每次操作都会导致从SSTBY或SNOOZE模式释放。


— 使用仿真器调试器的[Reset]使MCU停止用户程序并转到重置矢量指示的位置。


— 使用仿真器调试器的[Suspend]可在导致模式转换的WFE 指令之后的下一条指令处停止MCU。当要使用[Suspend]时,对于仿真器调试器的[Connection Settings]选项卡页上的[Connection],请为[Low Power Handling]选择[Yes]。

图15 [Low Power Handling]设置


即使为[Low Power Handling]选择了[Yes],也不可能在包含 TrustZone®功能的设备(例如RA6M4设备)上以SSTBY或 SNOOZE模式强制停止程序。


(3)DSTBY模式下的调试不支持调试已进入DSTBY的程序。


2.11 调试期间消耗的电流

由于MCU内的调试电路在连接仿真器调试器期间始终处于活动状态,因此MCU比实际用户系统中消耗更多的电流。在尝试测量用户系统中的电流时,请注意这一点。


2.12 内存保护单元(MPU)注意事项

(1)进入保护区表4.3显示了仿真器调试器在尝试访问每个MPU保护的区域时的操作。

表3 进入MPU保护区


关于TrustZone®的说明

(1)当设备的DLM状态为NSECSD时,仿真器调试器连接到具有调试访问级别DBG1的设备。


(2)当仿真器调试器连接到具有调试访问级别DBG1的设备时,必须已经写入了一个程序,以使设备的执行在CPU 复位释放后正确进入非安全区域(连接仿真器调试器后,执行将在设备执行进入非安全区的第一条指令处停止)


(3)当仿真器调试器与调试访问级别DBG1连接时,不能在安全区域中设置断点。


(4)进入安全区域表


表4显示了在与调试访问级别DBG1连接期间,仿真器调试器响应尝试访问TrustZone®功能保护的区域的操作。

表4 进入安全区域


注:有关从外围I/O寄存器读取的值,请参阅每个寄存器的规格。


(5)调试访问级别DBG2时使用的软件中断功能。(闪存)


当调试不仅部署在安全区域而且同时部署在非安全区域的程序时,不要执行与以下软件中断功能相关的调试操作。


— 在NSC和非安全区域设置和取消软件断点。

— 当程序在非安全区域中断时,设置和取消软件断点。

— 程序在安全区域中的软件断点处停止后,通过单步执行移动到非安全区域。


当执行上述操作时,由于信任区功能,程序故障或重新编程闪存可能会在进一步的调试操作中失败,并且无法继续调试。


如果在上述情况下需要设置断点,请改用硬件断点。


2.13 关于代码闪存双模设备的说明

当要使用代码闪存双模式(包括银行交换功能)和代码闪存块交换功能时,在仿真器调试器的[Debug Tool Settings]选项卡页面上,为[flash]选择[No](下载前擦除芯片上程序闪存)。对于[System],为[Debug the program re-write the on-chip data flash]选择[Yes]。

图16 [Flash]和[System]项设置


2.14 S缓存和C缓存函数注意事项

使用S缓存和C缓存功能时,如果满足以下所有条件,请使用硬件断点而不是软件断点。


⎯ CPU处于非安全状态。

⎯ S缓存和C缓存功能的控制寄存器(CCACTL、CCAFCT、SCACTL和SCAFCT)处于安全状态。或者在以上所有条件下下载时,下载后使缓存内容无效,因为写入的内容和缓存内存之间可能存在差异。


3 用于调试的MCU

使用仿真器调试后,如果MCU与仿真器断开连接,自行运行,则不能保证正确运行。要独立运行MCU,请使用编程软件对MCU进行重新编程。


连接到仿真器并用于调试的MCU在仿真期间会因闪存的重复编程而承受压力。请勿使用用于最终用户量产调试的 MCU。


4 Flash编程

本节将介绍使用EZ-CUBE3对RA微控制器的Flash进行编程时的系统配置以及启动/关闭顺序。


4.1 编程功能的规格定义

表5 编程功能的规格定义


注:详情请见RFP用户手册


4.2 编程软件的设置

(1)连接EZ-CUBE3,并打开RFP软件。


(2)创建RA新工程。



(3)RFP软件与EZ-CUBE3以及目标板正确连接后,会显示如下信息。

Connecting the tool
Tool : E2 emulator Lite (EZ2000001), Interface : 2 wire UART
Emulator's supply power : OFF
Emulator's firmware version:3.03.00.004
Connecting to the target device
Setting the target device
Setting the target device
Query the device information.
Device Name : RA
Device Code : 06
Boot Firmware Version : V1.0
Code Flash 1 (Address : 0x00000000, Size : 128 K, Erase Size : 2 K)
Data Flash 1 (Address : 0x40100000, Size : 4 K, Erase Size : 1 K)



(4)选择需要烧写的文件后,点击“Start”开始对目标板进行编程操作。


(5)编程操作结束后软件会显示编程结果。


4.3 Flash编程时的注意事项

本节将介绍进行Flash编程时需要注意的事项。请务必仔细阅读本节内容以正确使用EZ-CUBE3。

• 为提高写入的编程的质量,请在使用EZ-CUBE3之前了解以下内容并对列出的各项进行校验和评估。


- 务必按照设备及EZ-CUBE3的用户手册中给出的方法进行目标系统的电路的设计。


- 务必按照设备、RFP及EZ-CUBE3各自的用户手册中介绍的方法进行操作。


- 务必向目标系统提供稳定的电源。

隐私条款

一、接受条款 使用者(也称"您")在访问或使用本网站及其服务时,即已经表示同意并不加修改地接受本《用户协议》、本网站的《隐私声明》、《法律声明》以及其关或相链接的网页和网站的条件和条款的规定。我们强烈建议:在您阅读和接受本《用户协议》时,也应阅读并接受本《用户协议》中所提到《隐私声明》、《法律声明》及其相关或相链接网页或网站所包含的资料,因为《隐私声明》、《法律声明》及其它相关网页或网站可能包含对您适用的进一步规定。(请注意:点击划有底线的词句即可链接到上述《隐私声明》、《法律声明》及其它相关或相链接的网页和网站。

 

二、使用者的资格要求 在本网站中"使用者"指的是浏览、阅读、使用本网站信息或服务的任何个人或组织。本网站的服务仅适用于根据相关法律的规定具有签订有约束力的合同的个人或组织并仅由其使用。本网站的服务不向18周岁以下的个人使用者提供,也不向临时被本网站中止或取消使用者资格的使用者提供。如果使用者不符合本条规定,请停止使用本网站或本网站的服务。