3.8 在停止模式下的 SWIM 通信
为了保持调试主机的通信联系, MCU 进入停滞模式时, HIS 振荡器仍打开。这就意味 着当 SWIM 处于激活状态下,停滞模式的功率消耗测量是没有意义的。
当系统处于停滞模式, WFI 或读保护模式下, SWIM_CSR寄存器的 NO_ACCESS 位被 置一。这就意味着在此情况下总线不能被访问。
SWIM_CSR寄存器的 OSCOFF 位通常用于关闭振荡器。在此状态下,只要设备处于停 滞模式,且 SWIM 引脚拉高,那么调试机制失效。恢复(recover 调试机制的唯一方式是 诱发(induce SWIM 引脚产生一个下降沿:这将使能 HIS 振荡器。
3.9 物理层
通信期间, SWIM 引脚将配置为伪开漏模式。当该引脚输出 0时,它将能经受 8mA 的 灌电流。 SWIM 总线的外部上拉应该有以下要求:SWIM 的最大上升时间 t r 应该小于 1个采 样周期(100ns +/-4% 。
3.10 STM8的 SWIM 寄存器
3.10.1 SWIM 控制状态寄存器(SWIM_CSR 地址:7F80H 复位值:00H
当上电复位或 SWIM 的 SRST 命令(SWIM_CSR寄存器的 RST 位置一时,该寄存器 复位。
3.10.2 SWIM 时钟控制寄存器(CLK_SWIMCCR 偏移地址:50CDH (产品依赖 —product dependent 复位值:xxxx 0000(x0H
4. 调试模块(DM 4.1 介绍
调试模块(DM 允许开发者执行某一(certain 调试任务而无需使用仿真器。例如, DM 可以中断 MCU ,打断无限循环(infinite loops或者在给定断点输出内核上下文(栈 。 DM 主要用于仿真调试。
4.2 主要特点
●两个条件断点 (可在以下几处中断:取指令 -instruction fetch, 读写数据, 堆栈访问 … ●软件断点控制
●睡眠模式
●在 SWIM 模式下的 WOTF 命令的外部停止能力 ●看门狗和外设控制
●DM 版本鉴定功能(identification capability ●中断向量表选择 4.3 调试
可通过 SWIM 接口读写 DM 寄存器。 STM8内核无权访问这些寄存器。