原装IC网MINICUBE2在78K0S微控制器上的片上调试
本节描述了使用MINICUBE2 进行片上调试的系统配置,启动/关闭顺序和调试中的若干注意事项。
本文引用地址://m.amcfsurvey.com/article/201610/307506.htm1.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) 保护字节的注意事项
设置保护字节以执行对整个块的编程和整个块的擦除。
评论