瑞萨E1/E20仿真器:设计、调试与使用全解析

电子说

1.4w人已加入

描述

瑞萨E1/E20仿真器:设计、调试与使用全解析

在嵌入式系统开发中,仿真器是不可或缺的工具,它能帮助工程师高效地进行硬件调试和程序开发。瑞萨的E1/E20仿真器就是这样一款强大的工具,今天我们就来详细了解一下它的使用方法、调试技巧以及一些注意事项。

文件下载:R5F104PLAFA#30.pdf

一、仿真器概述

瑞萨E1/E20仿真器的用户手册包含两部分:《E1/E20 Emulator User’s Manual》和《E1/E20 Emulator Additional Document for User’s Manual》。在使用之前,务必仔细阅读这两份文档。该仿真器支持R8C系列的多个MCU,如R8C/3x系列和R8C/Lx系列,适用于单芯片模式。

1.1 规格参数

  • 目标MCU:涵盖了众多R8C家族的产品,具体型号在手册中有详细列表。
  • 仿真器规格:E1(R0E000010KCE00)和E20(R0E000200KCT00)两款仿真器,采用USB总线供电,无需额外电源。适用的调试器为R8C E1/E20 Emulator Debugger,工作环境对温度、湿度、振动等都有一定要求。
  • 操作环境:支持Windows XP(32位)、Windows 7(32位和64位)、Windows Vista(32位)等操作系统,对PC的CPU、内存、接口等也有相应要求。
  • MCU相关规格:电源电压范围为1.8 - 5.5V,最大工作频率为20MHz,最小为32.768KHz,通过14针连接器与用户系统连接。

1.2 适用工具链和第三方产品

可以调试内部工具链和第三方产品创建的模块,如M3T - NC30WA V.5.20 Release 01或更高版本的工具链,以及IAR EWM16C V.2.12或更高版本、TASKING M16C C/C++/EC++ Compiler V.2.3r1或更高版本的第三方产品。

二、用户系统设计

2.1 连接器选择

在将E1或E20仿真器连接到用户系统时,需要在用户系统上安装合适的连接器。推荐使用3M Limited的14针连接器,如2514 - 6002(用于国外)和7614 - 6002(用于日本)。连接时要注意一些事项,如在连接器周围5mm内不要安装高度超过10mm的组件,将14针连接器的2、12和14针牢固连接到用户系统板的GND上,插拔用户系统接口电缆时要握住电缆头部的连接器盖。

2.2 小连接器转换适配器

如果使用瑞萨单独提供的E1仿真器小连接器转换适配器(R0E000010CKZ11),要注意其连接器引脚分配与标准接口连接器不同。

2.3 系统接地连接

仿真器的信号接地与用户系统的信号接地相连,在用户系统中,只连接框架接地,不要将信号接地与框架接地相连,否则可能会因接地电位不同导致冒烟、起火或触电等危险。

2.4 与MCU的连接示例

推荐的E1/E20连接连接器与MCU的连接方式中,MODE引脚用于MCU控制和强制中断控制,不要连接电容等;RESET#引脚使用开集电极输出缓冲器或CR复位电路作为复位电路,上拉值推荐为4.7kΩ或更高。同时,相邻上拉电阻可能会受到其他引脚噪声的影响,连接器与MCU之间的布线应尽可能短,信号线路不要与其他信号线路连接。

2.5 接口电路参考

手册中给出了E1和E20仿真器的接口电路示例,可作为确定上拉电阻值的参考。

三、调试准备

3.1 激活工作区

要激活高性能嵌入式工作区,首先将仿真器连接到主机和用户系统,然后从[开始]菜单的[程序]中选择[Renesas -> High - performance Embedded Workshop -> High - performance Embedded Workshop]。在弹出的[Welcome!]对话框中,可以选择创建新的工作区、打开最近的工作区或浏览其他工作区。

3.2 创建工作区

创建新工作区时,根据是否使用工具链有不同的步骤。如果不使用工具链,在[Welcome!]对话框中选择创建新工作区,启动项目生成器,输入工作区名称、项目名称、目录、CPU家族等信息;如果使用工具链,还需要选择合适的工具链。

3.3 打开现有工作区

在[Welcome!]对话框中选择浏览其他项目工作区,指定工作区所在的目录,选择工作区文件(扩展名为.hws),即可打开工作区。

3.4 连接仿真器

连接仿真器有多种方法,如在启动前进行仿真器设置,选择[Debug Settings…]从[Debug]菜单打开[Debug Settings]对话框,选择调试目标、注册下载模块和自动执行的命令链;也可以加载会话文件。如果仿真器断开连接,可以通过[Debug]菜单的[Connect]、工具栏按钮或命令行输入连接命令进行重新连接。

3.5 断开仿真器

要断开仿真器,可以通过[Debug]菜单的[Disconnect]、工具栏按钮或命令行输入断开命令。

3.6 调试相关设置

在调试前,需要进行一些设置,如指定下载模块、设置命令行批处理文件的自动执行等。可以通过[Debug Settings…]菜单打开[Debug Settings]对话框进行设置。

3.7 启动仿真器调试器

启动E1/E20仿真器调试器时,要确保用户系统电源关闭,连接好用户系统接口电缆和USB接口电缆。使用产品附带的教程工作区,按照相应步骤操作,检查仿真器和MCU的连接情况。

3.8 启动时的设置对话框

仿真器启动时会显示三个对话框:

  • [Initial Settings]对话框:用于选择目标MCU和建立通信,可通过[Setup]菜单的[Emulator] -> [Device Setting…]重新显示,但启动后更改设置不会立即生效。
  • [Configuration Properties]对话框:在[Initial Settings]对话框之后显示,用于进行与仿真器和调试功能相关的设置,可通过[Setup]菜单的[Emulator] -> [System]重新打开。
  • [Connecting…]对话框:显示启动处理的进度。

四、调试功能

4.1 调试功能列表

瑞萨E1/E20仿真器调试器支持多种调试功能,包括程序下载、内存访问、断点设置、跟踪功能等。不同的操作模式(如[Writing the on - chip flash memory mode]和[Debugging mode])支持的功能有所不同。

4.2 程序下载

选择[Download]从[Debug]菜单或右键单击[Download modules]中的加载模块,选择[Download]即可下载程序。下载前需要将程序注册为加载模块,注意指定的访问大小应为1字节。

4.3 打开源文件

可以通过选择源文件并点击[Open]按钮或双击[Workspace]窗口中的源文件来打开源文件。在[Editor]窗口中,左侧有[Source Address]、[On - Chip Breakpoint]、[S/W Breakpoint]等列,提供地址、断点等信息。

4.4 内存访问功能

  • 内存读写:通过[Memory…]窗口可以进行内存内容的显示、变量显示、数据保存和加载等操作,还支持自动更新内存数据。
  • 其他内存操作:包括内存填充、移动、比较、搜索等功能,但在操作时要注意数据大小的指定,避免出现错误。

4.5 断点功能

  • 强制中断:用于强制中断用户程序的执行。
  • S/W中断:通过重写指定地址的指令为调试专用指令来中断程序,设置和移除S/W断点会涉及内存写入。
  • 片上中断:包括预PC中断、数据访问中断和跟踪满中断等功能。

4.6 跟踪功能

跟踪功能可以获取用户程序执行过程中的分支信息和数据访问信息,帮助工程师分析程序执行流程。可以通过[View -> Code -> Trace]打开[Trace]窗口查看跟踪结果,设置跟踪条件包括跟踪类型、开始条件、停止条件等。

4.7 状态条

通过显示[Status]条可以了解调试平台的当前状态,包括PC状态、任务ID、中断条件、执行时间等信息。

4.8 启动/停止功能

仿真器可以在用户程序执行前后执行特定的例程,通过[Setup -> Emulator -> Start/stop Function Setting…]打开对话框进行设置。但该功能有一些限制,如在指定例程执行期间,部分调试功能无效。

五、教程示例

教程程序使用C语言编写,对随机数据进行排序。通过这个示例可以了解如何使用仿真器和调试器的各项功能,包括启动高性能嵌入式工作区、连接仿真器、下载教程程序、设置断点、执行程序、检查断点、更改寄存器内容、查看符号和内存内容等。

六、使用注意事项

6.1 MCU资源使用

  • 程序区域:不同型号的MCU有不同的程序区域用于仿真器,不要更改这些区域,否则仿真器可能无法控制MCU。
  • 引脚使用:仿真器使用RESET#和MODE引脚控制MCU。
  • 中断使用:BRK指令中断、地址匹配中断、单步中断和地址中断被仿真器程序使用,用户程序不要使用这些中断。
  • 堆栈区域:仿真器在用户程序中断期间使用最多8字节的堆栈指针,需要预留相应的堆栈区域。
  • SFR使用:部分SFR被仿真器程序使用,不要随意更改其值。

6.2 复位问题

  • 电源复位和电压监测0复位不能使用,否则仿真器会失控。
  • 调试期间复位向量地址被仿真器程序使用,用户程序运行时显示的是仿真器设置的值。
  • MCU复位后,会先进入仿真器程序,然后再重启用户程序,不同类型的复位行为有所不同。

6.3 内部ROM区域

  • 更改内部ROM区域时,只有仿真器的内部缓存会更新,更改内容在用户程序启动前才会反映到MCU中。
  • 在CPU重写模式下调试时,不要重写特定区域的CPU,否则仿真器无法控制MCU。
  • 仿真器进行闪存内存重写时,不要对MCU进行复位或调试操作。

6.4 电源供应

E1仿真器不向用户系统供电时,会消耗一定的电源电压。在批量生产过程中,不建议使用E1仿真器的电源供应功能,应根据MCU的允许电压单独供电。

6.5 调试功能限制

  • 单步执行时,S/W断点和片上断点无效,部分指令的单步执行有特殊限制。
  • “Go to cursor”功能使用地址匹配中断实现,执行该命令时,所有断点无效。
  • 在停止模式或等待模式下调试时,要设置断点并避免操作窗口,直到程序停止。

6.6 CAN模块使用注意事项(仅适用于R8C/3xW和R8C/3xX)

  • 使用CAN模块时,CPU时钟应在4MHz或以上,否则可能出现通信错误。
  • 不要从内存窗口等激活CAN模块,不要进入停止模式,否则可能导致通信错误。
  • 如果MCU的操作时钟速度较低,设置或移除S/W断点可能需要时间,建议优先使用片上断点。

瑞萨E1/E20仿真器是一款功能强大的调试工具,但在使用过程中需要注意各种细节和限制。通过仔细阅读用户手册,掌握正确的使用方法和调试技巧,工程师可以更高效地进行嵌入式系统的开发和调试。你在使用这款仿真器的过程中遇到过哪些问题呢?欢迎在评论区分享。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分