EZ-CUBE3用户手册[3-2]如何在RX微控制器上使用EZ-CUBE3(2)

原创 瑞萨MCU小百科 2024-08-16 12:00

3.2.4 调试时的注意事项



(1)用户程序执行过程中复位

在用户程序执行期间如果发生内部复位,仿真器就不可能控制MCU。所以,请勿产生如看门狗定时器产生的内部复位。


当目标系统的执行过程中发生了引脚复位,用户程序可能会挂起。此时,需断开连接后,再重新连接。


在仿真系统操作MCU(如参考或者查看[Memory]窗口中的内容)的过程中,如果产生复位(通过引脚复位或者看门狗定时器产生的CPU复位),则显示错误消息“A timeout error. The MCU is in the reset state. The system was reset.”。此时,仿真器被初始化,用户程序被停止。系统复位后,跟踪记录也被初始化,可以继续调试。


(2)对用于调试的设备的处理

由于调试时设备内部的Flash会被多次擦写并且无法确保擦写的次数,因此,不要将用于调试的设备安装在量产的产品中。此外,也不要将调试监控程序编程至量产的产品中。


(3)高速时钟振荡器(HOCO)

调试器使用设备的内部高速时钟振荡器(以下简称HOCO),RX200系列和RX100系列MCU通过FINE接口来实现通信。因此,不管相关寄存器设置,HOCO始终处于振荡状态。


如果切换HOCO频率和仿真器对存储器进行存取操作之间发生冲突时,则不能保证存储器的存取操作。


如果通过用户程序或者仿真器切换HOCO频率,则仿真器和设备之间的通信可能发生错误。当发生通信错误时,请降低FINE波特率。


(4)用户程序的最终评价

进入大规模生产阶段,被用编程器写入到flash memory ROM之前,一定要进行程序的最终评估。请务必在不连接仿真器的情况下单独进行评估。


(5)多个EZ-CUBE3不能同时连接到仿真器调试器


(6)选项设定存储器

(a)选项功能选择寄存器1(OFS1)

OFS1寄存器的注释适用于特定类型的MCU。确认以下注释中适用于所使用的MCU。


• 适用MCU:RX71X、RX65X和RX64X

OFS1寄存器不能通过下载以外的操作进行修改(例如,通过[Memory]面板或[Memory]视图或行汇编进行编辑)。


不能使用电压检测0复位功能。当通过下载修改OFS1寄存器以启用电压检测0复位功能时,仿真器将强制修改寄存器值以禁用该功能。


由于使用了FINE通信,仿真器强制将OFS1寄存器中的位25和位24设置为10b。在这种情况下,请确保用户程序不会写入OFS1寄存器中的位25和位24。


• 适用MCU:RX72x

OFS1寄存器允许启用或禁用电压检测0复位功能并设置电压检测电平。该寄存器的值位于闪存中,可能无法由仿真器控制。这取决于设置。当通过操作(例如下载,或通过[Memory]面板/[Memory]视图编辑)修改闪存ROM的内容时,如果OFS1寄存器设置为产生电压监视0复位的条件,则将发生错误。有关OFS1寄存器的详细信息,请参见MCU的硬件手册。


由于使用FINE通信,仿真器强制将OFS1寄存器中的位25和位24设置为10b。在这种情况下,请确保用户程序不写入OFS1寄存器中的位25和位24。


• 适用MCU:RX200系列和RX130

当通过下载以外的操作修改OFS1寄存器时(例如,通过[Memory]面板或[Memory]视图或行汇编进行编辑),需要执行以下步骤才能使新设置生效。


👉 修改OFS1寄存器

👉 单步执行用户程序(这会导致对OFS1寄存器进行写入操作)

👉 复位CPU

👉 通过下载修改OFS1寄存器时,新设置将在此后复位CPU时生效。


OFS1寄存器允许启用或禁用电压检测0复位功能并设置电压检测电平。该寄存器的值位于闪存中,可能无法由仿真器控制。这取决于设置。当通过操作(例如下载,或通过[Memory]面板/[Memory]视图编辑)修改闪存ROM的内容时,如果OFS1寄存器设置为产生电压检测0复位的条件,则将发生错误。有关OFS1寄存器的详细信息,请参见MCU的硬件手册。


由于使用FINE通信,仿真器强制将OFS1寄存器中的位25和位24设置为10b。在这种情况下,请确保用户程序不写入OFS1寄存器中的位25和位24。


• 适用MCU:除RX130外的RX100系列

当通过下载以外的操作修改OFS1寄存器时(例如,通过[Memory]面板或[Memory]视图或行汇编进行编辑),需要执行以下步骤才能使新设置生效。


- 修改OFS寄存器。

- 单步执行用户程序(这会导致对OFS1寄存器进行写入操作)。

- 复位CPU:通过下载修改OFS1寄存器时,新设置将在此后复位CPU时生效。


不能使用电压检测1复位功能:当通过下载修改OFS1寄存器以启用电压检测1复位功能时,仿真器将强制修改寄存器值以禁用该功能。


当通过下载以外的操作修OFS1寄存器(例如,通过[Memory]面板或[Memory]视图或行汇编进行编辑)以启用电压检测1复位功能时,将发生错误。


由于使用FINE通信,仿真器强制将OFS1寄存器中的位25和位24设置为10b。在这种情况下,请确保用户程序不写入OFS1寄存器中的位25和位24。


(b)字节序选择寄存器(MDEB和MDES)

在仿真器调试器的属性设置中选择了字节序和运行模式后,MDEB和MDES寄存器即被写入。有关字节序或操作模式属性的设置,请参阅仿真器调试器的用户手册和帮助系统。


在单芯片模式下进行调试时,无法通过仿真器调试器操作修改MDES寄存器。在用户引导模式下进行调试时,无法通过仿真器调试器操作修改MDEB寄存器。


(c)闪存访问窗口寄存器(FAW)

• 适用MCU:RX65x

无法通过仿真器调试器操作切换FAW寄存器中的FSPR位以选择保护状态。


当FAW寄存器中的FAWS、FAWE和FSPR位设置了保护时,只能在闪存访问窗口区域下载值。在这种情况下,请在[Property]面板的[Download File Settings]选项卡页面的[Download]类别中为[Erase flash ROM before download]属性指定[No]。


(d)字节序选择寄存器(MDE)和Bank选择寄存器(BANKSEL)

• 适用MCU:具有1.5MB或更大代码闪存的RX65xMCU

写入MDE和BANKSEL寄存器将进入目标寄存器,其值对应于已在仿真器调试器中选择作为属性的字节序、存储区模式和启动存储区。


(7)记忆保护单元(MPU)

• 适用MCU:RX72x,RX71x,RX65x,RX64x,RX24x,RX23x和RX21A

只有在程序执行停止时才能引用和写 MPU区域。如果在程序执行期间尝试访问MPU区域,读取的数据将显示为0x00,或写入时会出错。


MPU区域中无法进行以下操作:

- 线汇编

- 内存搜索

- 内存复制


(8)闪存

(a)与闪存有关的寄存器

当写入闪存时(例如下载程序、设置软件断点或修改[Memory]面板或[Memory]视图中的值),请注意与闪存相关的寄存器的值也会被调试器盖写。


(b)锁定位

• 适用MCU:RX72x,RX71x,RX64x,RX22x和RX21x

下载前清除锁定位:如果要将用户程序下载到设置了锁定位的闪存ROM区域,则仿真器调试器会在开始下载之前清除要下载数据的块的锁定位。


下载后恢复锁定位:仿真器的行为取决于[Debug the program re-writing the on-chip PROGRAM ROM]的设置,该设置已被选为仿真器调试器的属性。


- 选择[Yes]时:下载后恢复锁定位。

- 选择[No]时:即使下载后锁定位仍保持清除状态。


(c)区域保护

• 适用MCU:RX65x,RX24x,RX23x和RX100系列

下载前禁用区域保护:当用户程序下载到受区域保护编程保护的闪存ROM区域时,仿真器调试器禁用区域保护。


下载后恢复区域保护:仿真器的行为取决于[Debug the program re-writing the on-chip PROGRAM ROM]的设置,该设置已被选为仿真器调试器的属性。


- 选择[Yes]时:下载后恢复区域保护。

- 选择[No]时:即使下载后,区域保护也会被禁用。


(d)启动程序保护功能

• 适用MCU:RX24x,RX23x和RX100系列

如果要调试涉及启动程序保护功能的用户程序,请将[Debug the program re-writing the on-chip PROGRAM ROM]选为[Yes]作为仿真调试器的属性。


如果仿真器在调试涉及启动程序保护功能的用户程序期间发出了复位信号,请在恢复调试之前再次下载用户程序。


在闪存中的用户代码运行期间,当使用闪存额外区域控制寄存器(FEXCR)控制在默认区域和备用区域之间切换时,不要通过操作仿真器调试器产生CPU中断,不要允许产生外部引脚复位或内部复位。


关闭并重新启动调试器后,可以调试切换后的引导区域。


在用户程序执行期间,当使用闪存初始化设定寄存器(FISR)切换默认区域和备用区域后,在程序执行停止时,禁止产生引脚复位。只有在程序运行时才能通过复位引脚输入复位信号。


在停止执行用户程序时,不要通过控制闪存初始设置寄存器(FISR)立即切换默认区域和备用区域。


(e)可信闪存

• 适用MCU:RX72x,RX71x,RX65x和RX64x

启用可信内存设施时,无法重写可信内存标识数据(TMINF)寄存器的值。即使在尝试下载到TMINF寄存器的情况下,也不会修改其值。


(f)ROM缓存功能

• 适用MCU:RX72x,RX65x和RX24x

在包括重写闪存的调试中,在执行程序期间发出引脚复位或内部复位可能会阻止更新[Disassemble]面板或[Memory]窗口中的显示。


在这种情况下,手动操作ROM高速缓存无效寄存器(ROMCIV)以在用户程序停止后使ROM高速缓存无效。


(g)以双模式进行调试

• 适用MCU:具有1.5MB或更多代码闪存的RX65xMCU

创建一个项目:创建项目时,为要使用的MCU选择带有“_DUAL”的类型名称。选择[Start bank]作为仿真器调试器的属性。


切换Bank:切换Bank后,调试信息将不一致。

当调试涉及切换后的bank时,需要提前准备一个使用切换后bank的项目。切换bank后,断开仿真器调试器,下载切换bank后的项目,然后重新连接仿真器调试器。


启用可信内存功能:当要调试启用可信内存功能的MCU时,如果在仿真器调试器的项目中指定的库模式与MCU的模式不匹配,则仿真器调试器的连接可能会失败。


(9)DMAC和DTC

即使用户程序停止,DMAC和DTC也将运行。


当满足以下任一条件并且在用户程序停止时执行下面列出的任何调试操作时,DMAC和DTC可能无法按预期运行。


[条件]

• 片上闪存ROM中的地址被指定为DMAC或DTC的传输源。

• 片上闪存ROM中的地址被指定为DMAC或DTC触发源的中断向量或DTC向量表的地址。


[调试操作]

• 在片上闪存ROM区域中设置软件断点

• 从[Memory]面板(或[Memory]视图)或[Python Console]面板写入片上闪存ROM区域

• 下载到片上闪存ROM区域


(10)调试功能

(a)存储器访问

低功耗模式下的存储器访问:如果要调试将器件置于低功耗模式的程序,请为作为仿真器调试器属性的[Update display during the execution]选择[No]。如果在仿真器调试器访问存储器时,MCU已进入低功耗模式,则MCU不响应,并且不更新仿真器调试器的显示。


如果在[Update display during the execution]选择[Yes]时MCU未响应,仿真器调试器将重置MCU以恢复与MCU的通信。


片内ROM中的存储器访问禁用扩展模式:当访问运行在片内ROM禁止扩展模式的MCU上的FCU固件区域或与内部闪存有关的I/O寄存器时,则会发生总线错误。


当调试片内ROM禁用扩展模式的MCU时,请勿在[Memory]面板或[IOR]面板中显示这些区域。


(b)事件

• 适用MCU:RX72x,RX71x,RX65x,RX64x,RX23x和RX24x

可以组合地址执行事件以用于连续中断等。当在目标MCU中选择[Sequential]作为事件组合条件时,不要为连续指令指定地址执行事件。在某些情况下可能无法检测到以这种方式设置的事件。


(c)Trace功能

在Trace功能中,当发生中断时,在中断处理进行之前显示来自发生中断的位置的下一个或第二个尚未执行的指令。


(d)覆盖功能

• 适用MCU:RX72x,RX71x,RX65x和RX64x

对于代码覆盖功能,当中断后的处理没有返回到中断发生点进行执行时,来自发生中断的位置的下一个或第二个尚未执行的指令被显示为执行指令。


(e)工作RAM区

指定为仿真器调试器属性的工作RAM区域必须始终是MCU的片上RAM中的有效区域。


(f)关于使用EZ-CUBE3的内部跟踪功能的注意事项

• 适用的MCU:RX71x,RX65x,RX64x,RX23x和RX24x

当使用EZ-CUBE3的内部跟踪功能时,如果满足特定条件,则无法正确获取跟踪信息或覆盖信息。请注意,此现象仅与使用仿真器进行调试有关,并且与芯片的独立操作无关。


[条件]

例:通过下面所示的分支指令(3)分支到小于(3)的地址(1)并且同时接受中断。

左右滑动查看完整内容


当发生这种现象时,将进行以下操作:

左右滑动查看完整内容


在跟踪获取中,输出的跟踪结果中中断处理前后都有的相同指令序列表明可能已经发生了这种现象。在覆盖范围获取中,没有迹象表明这种现象已经发生。


(11)与没有仿真器和调试相比较,MCU运行状态的差异

(a)寄存器的初始值

在调试期间启动仿真器时,它会初始化通用寄存器和一些控制寄存器。


PC初始化为上电复位向量表中PC的值。其他通用寄存器被清除为0。MCU的初始值未定义。


(b)低功耗状态

在调试期间,像通过一个释放源将MCU从低功耗模式释放一样,也可以通过按[STOP]或[Suspend]按钮来完成,从而导致中断。


(c)复位信号

如果在用户程序停止时通过引脚复位插入复位,则复位信号不会被屏蔽,并且MCU会在连接为FINE时复位。但请注意,如果连接是FINE,则不会屏蔽它并复位MCU。


警告:当RES#或WAIT#信号处于低电平时,不要在用户程序中造成中断。这样做会导致超时错误。如果在中断期间WAIT#信号被固定为低电平,则在访问存储器的情况下将发生超时错误。


(d)使用WDT

在执行中断期间,看门狗定时器的计数被暂停。当重新启动用户程序的执行时,也重新开始计数。


(e)修改与时钟发生器电路相关的寄存器和调试功能之间的争用

在用户程序运行时,请勿更改[Memory]窗口及其他界面中与时钟发生器电路相关的寄存器值。有关与时钟发生器电路相关的寄存器的详细信息,请参阅所用MCU的硬件手册。


(f)可屏蔽中断

即使用户程序停止(包括在运行时调试中),定时器和其他外围设备仍将运行。由于仿真器在用户程序停止时禁用中断(包括在运行时调试中),因此无法接受可屏蔽中断请求。在开始执行用户程序之后立即接受这样的中断请求。


请注意,在用户程序停止时(包括在运行时调试中),也不接受来自外围I/O模块的中断请求。


(g)将固件传输到FCU RAM

在调试期间,当仿真器启动时,固件将传输到FCU RAM。


(12)用于调试的MCU

使用EZ-CUBE3进行调试后,如果MCU与仿真器断开连接并自行运行,则无法保证正确的操作。要单独操作MCU,请使用编程软件重新编程MCU。


连接到EZ-CUBE3并用于调试的MCU在仿真期间,闪存被重复编程,闪存的性能将会下降。不要在最终批量生产的产品中使用调试用过的MCU。


(13)用户程序的最终评估

在进入批量生产阶段之前,请务必对通过编程软件写入闪存ROM的程序进行最终评估,而不要连接EZ-CUBE3。


需要技术支持?

如您在使用瑞萨MCU/MPU产品中有任何问题,可识别下方二维码或复制网址到浏览器中打开,进入瑞萨技术论坛寻找答案或获取在线技术支持。

https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/



未完待续


推荐阅读

EZ-CUBE3用户手册[2-3]如何在RL78微控制器上使用EZ-CUBE3

EZ-CUBE3用户手册[2-2]如何在RL78微控制器上使用EZ-CUBE3

EZ-CUBE3用户手册[2-1]如何在RL78微控制器上使用EZ-CUBE3

更多精彩,敬请关注


评论
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 44浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 104浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 114浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 125浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 75浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 80浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 83浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 68浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 100浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 141浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 170浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦