电子说
在嵌入式开发领域,一款高效可靠的仿真器对于调试程序、优化性能至关重要。Renesas 的 E1/E20 仿真器就是这样一款能满足开发者需求的工具。今天我就结合手册,和大家详细介绍一下它。
文件下载:R5F21348UDFP#V0.pdf
Renesas E1/E20 仿真器的用户手册由两部分组成,分别聚焦硬件和调试两方面。《E1/E20 仿真器用户手册》详细介绍了硬件规格,包括仿真器组件、硬件参数以及与主机和用户系统的连接方式。而《E1/E20 仿真器用户手册补充文档》则着重讲解了调试功能、使用方法、与 MCU 相关的内容以及注意事项。这两份文档相辅相成,在使用仿真器之前,务必仔细研读,这样才能充分发挥其性能优势。
该仿真器主要适用于 R8C 系列 MCU,涵盖了 R8C/3x 系列和 R8C/Lx 系列等多个分组,具体包括 R8C/32C、R8C/33M 等不同型号。每个型号在内部 ROM 大小和程序区域等方面存在差异,我们在使用时要依据实际需求选择合适的 MCU。
可以使用公司内部的工具链以及第三方产品如 M3T - NC30WA V.5.20 Release 01 及以上版本、TASKING M16C C/C++/EC++ Compiler V.2.3r1 及以上版本和 IAR EWM16C V.2.12 及以上版本进行调试。不过在使用 TASKING M16C C/C++/EC++ 编译器 V3.0r1 生成 ELF/DWARF2 格式的加载模块时要注意一些细节问题。
连接 E1 或 E20 仿真器和用户系统时,需在用户系统安装推荐的连接器,如 3M 公司的 2514 - 6002(适用于国外)和 7614 - 6002(适用于日本)14 针连接器。使用时要注意周围元件高度不超过 10 mm,同时将 2、12 和 14 针牢固连接到用户系统板的 GND 上,并且插拔电缆时要抓住连接器护盖,防止损坏。
如果使用 E1 仿真器的小连接器转换适配器 R0E000010CKZ11,其引脚分配与标准接口连接器不同。同样要注意引脚连接和元件高度的问题,并且要参考相关手册了解其具体规格。
仿真器的信号地与用户系统的信号地相连,同时仿真器的信号地与框架地也相连。而在用户系统中,应仅连接框架地,避免信号地与框架地相连,以防因电位差异引发安全问题。如果难以分离信号地和框架地,要确保主机电脑直流电源输入的 GND 和用户系统的框架地电位相同。
连接 E1/E20 连接连接器和 MCU 时,要遵循特定的连接方式。例如 MODE 引脚用于 MCU 控制和强制中断控制,不能连接电容等元件;RESET# 引脚要使用开集电极输出缓冲器或 CR 复位电路,且上拉值推荐为 4.7 kΩ 或更大。同时所有的 Vss 引脚要连接到 MCU 的 Vss 上,注意不要连接 N.C. 引脚,避免短路。
E1 和 E20 仿真器的内部接口电路为确定上拉电阻值提供了参考。我们在实际设计中可以根据这些电路进行合理的电阻配置。
先将仿真器连接到主机和用户系统,然后从“开始”菜单中选择相应程序启动高性能嵌入式工作室。启动后会弹出“欢迎!”对话框,可根据需求选择创建新工作区、打开最近工作区或浏览其他工作区。
根据是否使用工具链,创建新工作区的步骤略有不同。在创建过程中,需要输入工作区名称、项目名称、选择 CPU 家族等信息。选择目标调试平台后,还需设置配置文件名。完成设置后,点击“完成”即可启动高性能嵌入式工作室。
连接仿真器有多种方法,如在开机前进行设置、加载会话文件等。在断开连接后,也可以通过菜单、工具栏按钮或命令行重新连接。
通过“调试设置”对话框可以指定下载模块、设置命令行批处理文件的自动执行等。在下载程序前,要确保模块已在高性能嵌入式工作室中注册,并且注意访问大小等参数的设置。
在不同操作模式下,仿真器支持多种调试功能。在“写入片上闪存模式”下,可进行程序下载和命令行操作;在“调试模式”下,除了基本的程序下载、复位、内存访问等功能外,还支持软件断点、片上断点、跟踪功能等。
通过“调试”菜单或在“工作区”窗口中操作,可以将负载模块下载到 RAM 或闪存中,同时还会下载源级调试所需的信息。
可以在集成编辑器中打开源文件,查看源代码、汇编代码,并对汇编代码进行修改。还能根据需要切换源文件中的列显示。
可以对内存进行读写操作,包括下载、上传、显示变量、自动更新数据等,同时还支持内存填充、移动、比较、搜索等其他操作。但在访问特殊寄存器和 SFR 区域时要遵循一定规则,例如部分特殊寄存器在用户程序暂停期间可能无法成功访问。
提供强制中断、软件断点和片上断点三种类型。软件断点通过重写指定地址的指令来实现中断,而片上断点包括预 - PC 断点、数据访问断点和跟踪满断点等。我们可以根据实际需求添加、删除、启用或禁用断点。
通过 MCU 的内置跟踪功能,可以获取程序执行过程中的分支信息和数据访问信息。可以设置跟踪类型、启动和停止条件,并对跟踪结果进行统计分析和保存。
还支持启动/停止特定例程、简单堆栈溢出检测和在线帮助等功能。启动/停止功能可在程序执行前后执行特定例程,但使用时存在一些限制,如调试功能的使用限制和寄存器的使用限制等。
教程项目是一个用 C 语言编写的对随机数据进行排序的程序,通过它我们可以熟悉仿真器和调试器的使用。
按照前面介绍的步骤启动高性能嵌入式工作室,连接仿真器并进行初始设置。
下载教程程序,并在编辑器中显示源程序。可以根据需要调整字体和大小,方便查看代码。
在编辑器中设置软件断点和片上断点,然后复位 CPU 并执行程序。程序会在断点处停止,我们可以通过状态窗口查看断点原因。
可以查看寄存器内容、符号信息、内存内容和变量值,并根据需要进行修改。例如在“寄存器”窗口中可以切换寄存器组并修改寄存器内容。
使用单步执行命令(如“Step In”、“Step Out”、“Step Over”)可以逐行调试程序,同时可以使用跟踪功能查看程序执行过程中的分支和数据访问信息。
仿真器会使用 MCU 的部分资源,如程序区域、引脚、中断、堆栈区域和 SFR 等。在使用时要注意这些资源的分配,避免与用户程序冲突。
部分复位功能(如电源复位和电压监控 0 复位)在使用仿真器时不能使用,否则会导致仿真器失控。复位向量地址在调试时由仿真器程序使用,要注意其在不同状态下的显示值。
在不使用仿真器调试器下载数据的情况下修改内部 ROM 内容,只有仿真器内部缓存会更新,实际内容会在用户程序启动前更新。在 CPU 重写模式下调试时,要注意不可重写的区域和操作限制。
E1 仿真器在不向用户系统供电时会消耗一定的用户系统电源,在大规模生产编程时不建议使用 E1 仿真器的电源功能,应根据 MCU 写入的允许电压单独供电。
在用户程序暂停时,仿真器会改变 CPU 时钟,同时屏蔽可屏蔽中断请求。在程序执行期间访问内存时,要注意高速片上振荡器频率变化对内存访问的影响。最后,在进入大规模生产阶段前,一定要单独对程序进行最终评估,确保其稳定性和可靠性。
总之,Renesas E1/E20 仿真器提供了丰富的调试功能,但在使用过程中我们要充分了解其规格、连接方式、调试步骤和注意事项,才能更好地发挥其作用,提高开发效率和调试质量。大家在实际使用中遇到任何问题,都可以随时参考手册,或者与我交流探讨。
全部0条评论
快来发表一下你的评论吧 !