1 概述
1.1 介绍
SoftICE的英文是Software In Circuit Emulator 翻译成中文是在线的软件仿真器它是SST公司为方便SST用户使用SST单片机包括SST89C5xSST89x564RD/554RC/516RD2/5XRD2 调试程序所开发的开发工具这个SST的仿真器功能可以代替大部分的专用仿真器的功能使单片机工程师在开发单片机时省却了价格昂贵的仿真器和编程器使得51单片机的开发更加容易和普及并且SST的单片机价格便宜出厂时就包含了在线下载和在线仿真的功能.本文是给使用SoftICE的用户一个详细使用说明
提醒:
单片SST89XXX制作的仿真器的特点是:
1,SST公司没有提供源代码,公用监控程序不完善,有缺陷。
2,通信协议采用查询,不是采用中断,又没有异常处理措施,极易死机,麻烦多多(这也是为什么有些用一片SST89C58(或其它替换品)制作的仿真器须在硬件上增加一复位键的原因)。
例如:
A,从开始调试→停止调试→开始调试——死机。
B,再次编译——死机。
C,从一工程到另一工程到编译——死机。
1.2 范围
本文的范围限于SoftICE的特点需要的目标硬件用户代码限制
1.3 最新的软件/文件下载
最新的SST软件和文件请访问SST网页http://www.sst.com 或http://www.superflash.com
最新的KEIL软件和文件请访问KEIL网页http://www.keil.com
2 SoftICE 的特点
SST的MCU SoftICE通过PC的一个COM口与KEIL uVision2 Debugger 通讯它可以实时地
调试目标程序因此提供使用SST单片机的工程师简单有效和容易使用在板上调试程序尽
管小而紧凑SoftICE却提供高级仿真器的大部分功能与KEIL uVision2 Debugger 一起使用
SoftICE提供以下特性
▼ 源代码调试支持汇编语言和C51高级语言
▼ 单步执行STEP和STEP OVER
▼ 断点调试做多到10个固定和1个临时断点
▼ 全速运行
▼ 显示修改变量
▼ 读/写数据存储器
▼ 读/写代码存储器
▼ 读/写SFR特殊功能寄存器
▼ 读/写P0-P3端口
▼ 下载INTEL HEX文件
▼ 对8051程序存储区的反汇编
▼ 在线汇编
▼ SST MCU产品特有的IAP功能In Application Programming
3 SoftICE 用到的MCU 硬件资源
SST的SoftICE用到的MCU硬件资源如下
(1) 一个UART串口RXD TXD 用定时器2做为波特率发生器
(2) 8个字节的堆栈空间
(3) SoftICE监控程序分别占用下面MCU的5Kbyte程序空间
对SST89C58 BLOCK1的1Kbyte 从F000h 到F3FFh
BLOCK0的4Kbyte 从7000h 到7FFFh
对
SST89C54 BLOCK1的1Kbyte 从F000h 到F3FFhBLOCK0的4Kbyte 从3000h 到3FFFh
对
SST89x554RC BLOCK1的4KByte 从0000h 到0FFFhBLOCK0的1Kbyte 从7C00h到7FFFh
对
SST89x564RD BLOCK1的4Kbyte 从0000h 到0FFFhBLOCK0的1Kbyte 从FC00h 到FFFFh
对
SST89E/V54RDX BLOCK1的1Kbyte 从E000h 到E3FFhBLOCK0的4Kbyte 从3C00h 到3FFFh
对
SST89E/V58RDX BLOCK1的1Kbyte 从E000h 到E3FFhBLOCK0的4Kbyte 从7C00h 到7FFFh
对
SST89E/V516RDX BLOCK1的4Kbyte 从0000h 到0FFFhBLOCK0的1Kbyte 从FC00h 到FFFFh
其它部分的存储区域可以由用户的应用程序使用
4
安装SoftICE4.1
通过SST 串口下载软件BootLoader 下载SOFTICE 监控代码由于
SST的MCU在出厂时已经将BOOT LOADER的下载监控程序写入到芯片中因此无需编程器就可通过
SST BOOT-STRAP LOADER软件工具将用户程序下载到SST的MCU中从而运行用户程序SST BOOT-STRAP LOADER
软件工具还可将原来的MCU内部的下载监控程序转换为SoftICE
的监控程序从而实现SOFTICE的仿真功能执行
SSTEasyIAP11F.exe软件运行SST Boot-Strap Loader 在内部模式下检测到对应器件的型号后
SoftICE固件通过按SoftICE菜单下Download SoftICE 选项下载便将SoftICE固件下载到
MCU 在BLOCK1的SST Boot-Strap Loader 会被SoftICE固件代替详细操作步骤如下
A
选择连接的串口图1

B 选择芯片型号和内部存储器模式
图2
图3

D 按确定后再重新复位MCU
图4

E 如果通讯成功在窗口的右上角可以显示出芯片的型号及BOOT LOADER的版本信息
图5

图6

G 点击确定按钮确认转换为SOFT ICE的监控程序
图7

H 这是转换后的提示信息说明转换SOFTICE监控程序成功
图8

I 此时这片SST89E554芯片便具备了SOFTICE的在线仿真的功能
由SOFTICE 转回到BOOTLOADER 的步骤
在OUTPUT窗口的命令行中写入INCLUDE 具体芯片的转换文件名的命令回车
图9

这些芯片的转换文件随SST每个芯片的SOFTICE工具包一起提供可免费到SST的网站上下载例如
下载的SoftICE_58RD2.zip 工具包中就包含了一个Convert_to_BSLx5xRD2.txt 文件这个
文件就是SST89X58RD2的内部监控程序由SOFTICE 转换为BOOT LOADER 的文件执行完这个
INCLUDE Convert_to_BSLx5xRD2.txt
命令后出现以下的画面表示转换为BSL监控程序成功图10
