原装IC网MINICUBE2在78K0S微控制器上的片上调试
扫描二维码
随时随地手机看文章
本节描述了使用MINICUBE2 进行片上调试的系统配置,启动/关闭顺序和调试中的若干注意事项。
1.2.1 调试功能
以78K0S 微控制器作为目标设备,表5-3 列出了ID78K0S-QB 调试器的调试功能。如果未使用ID78K0SQB作为调试器(使用第三方制造商的调试器),则调试功能可能会有所不同,所以请检查所使用调试器的说明。
注意 INTP 引脚的使用描述请参考文档QB-MINI2 Operating Precautions.X1和X2引脚只在调试器第一次启动时使用(下载监视器程序时).
1.2.2 系统配置
<1> 主机
要求有USB 接口
<2> 软件
包括调试器,USB 驱动器,设备文件等等.
<3> USB 线(附件)
<4> MINICUBE2(本产品)
<5> 16-Pin 目标线缆(附件)
<6> 目标连接口(单独出售)
1.2.3 系统启动顺序
本节描述了系统启动的顺序。请注意按次序操作。
(1) 软件的准备和安装
以下软件是在线调试所必须的。关于软件的准备和安装,请查阅MINICUB2 附带的安装手册。
• 调试器
• USB 驱动
• 设备文件(如果使用第三方调试器,可能不需要)
(2) 开关设置
将模式选择开关设置为“M1”,电源选择开关则请查阅表5-4。
注意 在USB 线连接状态时,请勿改变开关的设置。
注意最大允许电流100mA,所以请勿将MINICUBE2 连接到电流很大的目标系统上。在MINICUBE2 与主机连通后,主机始终保持向MINICUBE2 供电。
(3) 连接目标系统
MINICUBE2 到目标系统的连接如图5-14 所示。在打开给目标系统的电源前连接。
(4) 连接USB 线缆
请在目标系统上电之前,将MINICUBE2 连接到主机。
当电源选择开关打在“T”位置时,连接后模式灯为白色并开始闪烁。
当电源选择开关打在“3”或者“5”位置时,连接后模式灯点亮为白色。
(5) 目标系统上电
打开目标系统的电源。如果电源选择为“3”或“5”,则这一步并不是必需的。在上电后模式灯点亮为白色。
(6) 启动调试器
打开调试器,模式灯变为绿色。
此步骤之后的操作,请参阅调试器的用户手册。
如果调试器无法正常开启或者操作不稳定,可能是由以下问题引发的。
• MINICUBE2和目标系统之间通信错误
通信是否正常可以用OCD 检测器来检查。具体细节请查阅OCD 检测器用户手册。
• 用户资源没有预留
为了用MINICUBE2 进行调试,调试监视区域必须被预留。具体细节请查阅5.2.5 节用户资源的保留。
• 使用了不支持的软件(调试器,设备文件或者固件)
所使用的软件可能不支持目标设备的调试。请查阅文件“QB-MINI2 操作注意事项”,检查目标设备所支持的正确版本。当使用的软件由NEC Electronics 第三方合作公司提供时,请查阅第三方公司提供的相关文档。
• MINICUBE2损坏
MINICUBE2可能被损坏。
1.2.4 系统关闭顺序
停止调试并关闭系统时,请按照下列顺序操作。
如果没有按照下列顺序操作,目标系统或者MINICUBE2 可能被损坏。
(1) 停止调试器
停止调试器的运行。
(2) 目标系统电源关闭。
关闭目标系统的电源。如果电源选择开关放在“3”或“5”的位置,则无需本步操作。
(3) 移除USB 线缆
从MINICUBE2 或主机上将USB 线拔下。
(4) 移除目标线缆
从MINICUBE2 或目标系统上将目标线缆拔下。
1.2.5 用户资源的保留
用户必须准备下面的事项来执行MINICUBE2 和目标设备之间的通讯和实现每一个调试功能。参考下面几页的描述并在用户程序或编译器选项里进行设置。
• 内存空间的保留
图5-16 中的阴影部分是存放调试监视程序的保留区域,因此用户程序不能分配到这些空间。
通讯用的串行接口保留
千万不要改变由调试监视程序执行,用作MINICUBE2 与目标设备间通讯的INTP 引脚的寄存器设置。
(1) 调试监视程序的保留区域
在目标设备的内部ROM 中,图5-16 的阴影部分是被分配的调试监视程序的区域。调试监视程序执行的是对调试通讯接口的初始化处理和对CPU 的RUN 或break 处理。内部ROM 区域必须填满0xFF。这个区域千万不要被用户程序重写。
[如何预留区域]
如果用户程序不使用这块区域就没有必要一定要保留这块区域。
为了避免调试器启动期间可能产生的问题,因此,推荐通过编译器来提前保留这块区域。
下面列出了使用NEC 电子的汇编编译器RA78K0S 来保留区域的例子,像下面的一样增加汇编源代码。
注意声明到0ed0h部分的地址要和目标设备的flash内存容量一致(参考下面的表格)。
(2) 调试用堆栈区域的保留
在目标设备的内部RAM 空间里,图5-16 的阴影部分是调试监视程序用作堆栈(5 字节)的区域。由于本区域的指定紧邻在被用户程序使用的堆栈区域之前,所以本区域的地址根据堆栈的增加和减少而有所不同。因此,堆
栈指针必须被设置以留出用作调试的堆栈大小(5 字节)的余量。
下图展示了堆栈区域增加时的情况,图中的内部高速RAM 从0xFE00 开始。
[如何预留这段区域]
请参考下面的地址范围来设置堆栈指针。
例当内部高速RAM 从0xFE00 开始时
在0xFE05 到0xFEFF 范围内
(3) 通讯串行接口的保留
INTP 引脚用作MINICUBE2 和目标系统间的通讯。和INTP 引脚相关的设置通过调试监视程序来执行,但是如果这个设置被用户程序改变,会产生通讯错误。
为了防止这样的问题产生,在用户程序里通讯串行接口必须保留。
[如何保留通讯串行接口]
生成用户程序时要注意下面的几点。
• 中断屏蔽标志寄存器
不要使用INTP 引脚对应的中断屏蔽标志寄存器来取消中断。
1.2.6 X1 和X2 引脚复用功能的调试
X1 和X2 引脚在调试器第一次启动(下载监视程序时)和用QB-Programmer 执行编程时使用。
在监视程序已经被下载到目标设备后不需要使用X1 和X2 引脚,因此X1 和X2 引脚和它们的复用功能可通过下面的顺序来调试。为了实现X1 和X2 引脚的调试,电路必须要恰当的设计。详细信息请参考5.1.5 节X1 和X2 引脚的连接。
(1) 断开外部和目标设备X1,X2 的连接。(若设计成如图5-11 所示的电路,短接跳线针1 和2)
(2) 给目标系统和MINICUBE2 上电。
(3) 启动调试器。在这个时候不要下载load 模块注意。(监视程序会在启动后随即自动被下载。)
(4) 关闭调试器。
(5) 目标系统和MINICUBE2 的电源。
(6) 连接外部和目标设备的X1,X2 引脚。(若电路如表5-11 所示设计, 短接跳线针2 和3。)
(7) 按照5.2.3 节系统启动顺序给目标系统和MINICUBE2 上电。
(8) 启动调试器。
注意如果已经由项目管理器(PM+)生成项目,load模块会自动被下载。这种情况下,关闭PM+然后启动调试器。
备注 下一次调试器启动,从步骤(7)执行。然而,假如程序通过QB-Programmer写入,监视程序被擦除,顺序必须重新从步骤(1)开始。
1.2.7 调试注意事项
本节描述了在78K0S 微控制器上进行在线调试的注意事项。
请认真阅读下列事项,以保证MINICUBE2 的正常使用。
(1) 处理用于调试的设备
不要在批量生产的产品上安装曾用于调试的设备,因为Flash 存储器在调试过程中曾被多次重写,Flash 存储器的重写次数无法保证。
(2) 调试器操作速度降低的情况
当过多内存或者寄存器内容被显示在一个调试器窗口里时,调试器操作速度可能会降低。当使用USB1.1 接口的主机时会特别明显。
当flash 内存被过多写入时调试器响应也会变慢。
这种现象可以通过提高CPU 操作时钟频率,设置PCC 或PPCC 寄存器来加以改善。
(3) Reset 处理
如果目标设备的RESET 引脚是作为端口使用,要通过用户程序设置使能RESET 引脚,如option byte 设置。
(4) 当断点不能执行时
如果满足下面条件其中之一,强制断点不会被执行。
• 中断被禁止(DI)
• 被用作MINICUBE2 和目标设备间通讯的INTP 引脚产生的中断被屏蔽
• INTP引脚对应的复用功能端口没有被设置成输入模式
• 和INTP引脚对应的外部中断沿没有被设置为上升沿
• 通过可屏蔽中断待机模式被禁止时,进入待机模式
(5) Flash 自编程
如果分配给调试监视程序的空间被flash 自编程重写,调试器将不再正常操作。
(6) reset 后的操作
在外部引脚reset 或者内部reset 后,监视程序会执行调试初始化处理。因此,从reset 产生到用户程序执行的时间会和实际设备的操作有所不同。
(7) POC 功能仿真
目标设备的POC 功能不能被仿真。要确保调试期间给目标系统的电源不能被断掉。
(8) 使用实机调试而不使用MINICUBE2
如果是用实机调试而不是MINICUBE2,使用QB-Programmer 写入用户程序。通过调试器下载的程序包括监视程序,如果不通过MINICUBE2 控制会有程序故障。
(9) 保护字节的注意事项
设置保护字节以执行对整个块的编程和整个块的擦除。