1.1概述
WinScope IDE 集成开发环境(以下简称 WinScope 或 WinScope IDE)是上海晟 矽微电子有限公司为开发 SINOMCU 单片机产品而开发的一个可实时仿真的专用 开发平台。让用户在开发和使用上更加的便捷,WinScope IDE 提供好友的视窗界 面,以便于进行程序的编辑、编译及除错,同时配合我们自主研发的 SN-Link 仿 真器,提供了对 MCU 的多种实时仿真功能,包括 Trace 跟踪、步进(StepIn)、步 越(StepOver)、步出(StepOut)、断点设定等功能。WinScope IDE 开发平台提供即 插即用的 USB 接口,并通过网格检测不定期更新软件服务包,通过免开壳在线 升级仿真器,以保证设计者可以拥有功能齐全,版本最新的开发工具、以提高产 品应用方案的开发效率。
WinScope IDE(WinScope Integrated Development Environment)主要的组件 是 SN-Link 仿真器,它提供了晟矽微电子 OTP 系列单片机的实时仿真功能。不同 的MCU型号通过外接的EV小板而定。该开发坏境可以完成从项目的建立和管理, 编译,目标代码的生成,到仿真等完整的开发流程。WinScope IDE 开发平台具主要有以下功能特点:
硬件:
- USB 接口,方便与 PC 连接
- USB 供电,应用板功率小于 100MA 时无需外部单独供电
- 仿真器内部提供可调的振荡器频率,一般无需外接晶振
- 支持最多 15 个硬件断点 1024 条 PC 值跟踪功能
- HC05 内核单片机还提供精准的单片机运行时间统计功能
- 实时显示单片机运行状态
- 同时支持公司现有 HC05\RISC 两种内核、MC30、MC32 系列单片机仿 真
软件:
- 友好的视窗软件界面,免除开发环境的熟悉周期
- 工程项目管理可以随时添加或删除项目文件
- 功能强大的代码编辑器有效提高编程速度
- 提供智能提示,代码折叠,关键字高亮显示
- 编辑器提供快速查找替换,正则表达式查找功能
- 支持源代码级调试仿真 RISC 内核单片机支持多个源文件,程序模块化
- RISC 内核单片机支持建立自己的库文件,头文件
- 编译出错行号提示 和自动建立连接对应
- 仿真过程中可以随时修改 RAM,REG 等参数
1.2 组成
编辑模式与调试模式:编辑模式是用于维护文件、编写程序的,调试模式是在连 接好硬件仿真器后,用来仿真调试程序的。
1.3 开发流程
使用 WinScope IDE 进行单片机开应用开发的步骤如下:
- 新建项目,选择芯片型号,保存路径,设置配置选项字
- 新建 ASM/C 文件 并添加到工程
- 打开 ASM/C 文件,进行代码编辑
- 编译和构建(链接)工程
- 纠正程序中书写和语法错误,并重新编译连接
- 连接仿真器,下载程序到仿真器,进入仿真模式
- 对程序进行仿真调试
- 仿真通过后将生成的 S19 文件使用烧写器和烧写软件 烧到单片机中
1.4 WinScope IDE 的安装与配置
1.4.1 安装要求
1.4.2 安装
从网站 http://www.sinomcu.com 工具栏 下载 WinScope IDE 软件包,下载后双击 WinScope IDE 即可运行。目前软件为免安装版,但要求操作系统必须安装 Framwork .net 3.5 组件,如果电脑中没有此组件,推荐到微软官方下载。下载。Framwork.net 3.5 组件链接地 址:
http://download.microsoft.com/download/6/0/f/60fc5854-3cb8-4892-b6db-bd4f42510f28/ dotnetfx35.exe 当用户接上 SN-Link 仿真器时,如果当前电脑是第一次连接仿真器,电脑会提示发现新硬 件。此时需要安装 USB 驱动。驱动程序放在 WinScope IDE 软件包 Driver 目录下,安装步 聚如下:(以 Win7 系统为例):
a. 当系统提示从 Windows Update 中获取驱动软件时,选择跳过。如错误!未找到引用 源。
b.打开设备管理器。控制面板--》系统和安全--》系统 --》设备管理器。出现如下图 3 所示 对话框:
c.在设备资源管理器中,找到 “端口(COM 和 LPT)”如下所示图 4:
d.点击右键后,出现如下话框,按红字部分提示操作。如图 5:
e.选择软件目录下的 Driver 文件夹,然后下一步。驱动安装成功后,会出现如下图 6 示提示:
这时,USB 的驱动已经安装完成。程序编译通过后,直接点点进入调试模式即可进行仿真。
第二章
WinScope IDE 的界面
WinScope IDE 界面由标题栏、菜单栏、右键菜单、工具栏、窗口、状态栏组 成。
2.1 窗口
WinScope IDE 的工具栏可以用鼠标左键进行拖动,项目管理器窗口、MCU OPTION 值窗口、程序编辑区窗口、寄存器窗口、特殊功能寄存器窗口、断点设 置列表窗口、信息输出窗口、RAM数据窗口等显示的窗口都可以浮动、停靠、 隐藏,如图 8 所示。这些窗口通过菜单栏的【查看】菜单操作,可以关闭或打开。 并且软件会自动保存新的布局。
2.2 菜单的说明
2.2.1 文件菜单
2.2.2 编辑
2.2.3 查看菜单
2.2.4 项目管理菜单
2.2.5 调试菜单
2.2.6 工具菜单
2.2.6.1 非程序区填充功能
功能说明,如图 2.6 所示:
功能一:非程序区,是否需要填充。
功能二:填充数据格式,可选全 0,或全 1。
该功能设置,记忆在项目工程文件中,不同的项目工程,可设置不同的选项。
2.2.6.2 电压选择功能
仅支持 V0.7 及以上仿真器;该功能设置,记忆在项目工程文件中,不同的项目工程,可设 置不同的选项。
注:仿真器硬件为 V0.5 时,该电压选择无效。V0.5 的仿真器,电压输出可进行手动调节。
图 2.2.6 仿真系统设置
2.2.7 帮助菜单
注:[1]运行到光标处,目前不可以使用。
[2]全速不响应断点,该功能只在 HC05 核系列单片机中使用,30 系列不可以 用。
[3]放置/移除断点,该功能可以直接在程序编辑区的代码行标号前点击设置或 移除。
[4]仿真器固件更新,点击【工具】菜单栏后就会出现【仿真器固件更新】,点 击会出现如图 2.3 所示对话框,选择需要更新的固件,点击开始下载后,更新进 度条会显示进度直到更新完成。
2.3 右键菜单
WinScope IDE 提供了右键菜单,在程序编辑区可以使用右键菜单,方便 快速执行命令(图 2.4 所示)。
第三章 WinScope IDE 项目管理
WinScope IDE 目前支持的是单个项目的管理。要建新项目时,可以直接按 “新建项目”的菜单,当前的文件自动被关闭,或者先关闭当前的项目后再新建 项目;如果要打开另一个项目,也可以按添加项目一样添加,当前的项目也会关 闭;或者先关闭当前项目再添加。
3.1 项目窗口
项目窗口的内容包括项目名称、源代码文件夹、Output 文件夹、Debug 文件 夹。程序文件必须添加到 SourceCode 文件夹下。当双击 ASM 文件可以在程序编 辑区打开对应的文件。如下图 9
右键单击项目名图标,可以进行对项目进行编译和重新生成,新建文件夹。 当右键选中 SourceCode、Output、Debug 中的一个文件夹后可以新建或者添加已 有文件到项目中。目前只支持添加存放于工程目录下的文件,其它路径文件将会 在打开时报错。 如图 10 的下拉菜单,如图要删除某个 ASM 文件时,先选 中 ASM 文件然后在对应的文件夹上右键选择删除即可。
3.2 新建项目
选择主菜单【文件】\【新建】\【项目】或者【项目管理】\【新建项目】, 进入到新建项目的向导对话框,如图 12,在对话框中,可以选择芯片的型号、命 名项目的名称、选择项目的存放路径,然后进入下一步设置 MCU OPTION 值,这 些操作完成后进入下一步会显示上面操作的所有信息,如项目名称、存放路径等。 完成后的项目管理窗口如图 13(例:项目取名 111),但还需要新建文件才能在 程序编辑区写源代码,选中 SourceCode 后右击会弹出一个下拉菜单,选择“新 建文件”命名(例:文件命名为 111.asm)保存后,就可以在程序编辑区编写源 代码了(如图 14)。如果需要删除文件(如:111.asm),先选中需要删除的文件, 然后再 SourceCode 上右击出现的下拉菜单,点击“删除当前选项”就可以删除 文件。
3.3 打开已有项目
选择主菜单【文件】\【打开】\【项目\解决方案】或者【项目管理】\【打 开项目】,将已有的项目添加到项目管理窗口。
3.4 MCU OPTION 值设置
3.5 编译项目
在程序编辑区中编写好源代码保存后,编译文件,点击 是编译当前文 件,在编译输出窗口会提示编译成功或者编译出错,编译成功后如图 17 所示。 当编译出错时,WinScope IDE 会跳出错误提示框提示编译程序出错。
如果点击 ,会编译项目中的所有文件并生成 S19 文件,在编译“输出 信息”窗口中也会提示项目下所有文件的编译情况。点击
会编译项目中的 文件、生成 S19 文件并自动进入仿真模式。当编译出错时,WinScope IDE 将自动 停止仿真器的连接,退出仿真模式。每次修改代码后都需要编译下载 S19 文件, 这样才能够更新仿真结果
第四章 WinScope IDE 调试
4.1 WinScope IDE 调试
WinScope IDE 可以通过设置断点、步进、步越、步出、运行到光标处、禁 止断点且运行等方式进行调试。菜单如图 18
4.1.1 启动/停止调试
当程序编译成功并设置好调试目标后,选择【调试】\【启动/停止调试】 或者直接点击 ,程序将进入调试状态,当需要退出调试模式时,同样是选 择【调试】\【启动/停止调试】或者直接点击
,如果是出于全速运行状态, 则需要先停止运行再停止调试。启动/停止调试快捷键是 Ctrl+F5。
4.1.2 断点、禁止断点且运行
断点使得调试程序方便了很多,能够在需要的位置暂停执行,与单步不同的 是可以让程序一直运行到断点处才暂停,加快了调试的过程。无论处于编辑模式 还是调试模式,在程序编辑区的代码行前面(快捷键 F9),都可以设置/消除断 点禁止断点且运行是执行程序时忽略已经设置的断点,直到有停止运行命令才 会停止。
4.1.3 复位、全速运行、停止运行、运行到光标处
复位会使单片机的 PC 回到开始位置;全速运行是指运行程序直到碰到断点 或停止运行命令才会停止,快捷键和图表分别是 F5、;停止运行是停止当 前运行的程序,直到再次执行运行命令,图表是
;运行到光标处(只有 HC05 核系列有用,30 其它系列的不可用)是指全速运行程序到光标所在行然后 停止,如果运行过程中有断点会停在断点所在行(快捷键是 Ctrl+F10)。
4.1.4 步进、步越、步出
步进是逐句的执行指令,遇到函数调用则进入函数内部执行(快捷键 F11)。 步越不响应子程序是指逐句的执行指令,遇到函数调用不进入内部执行,而是将 函数当一条语句执行(快捷键 F10)。步出是跳出当前函数或子程序是执行指令 到当前函数的结束行然后停止(快捷键 Shift+F11)。
注意:当程序在大主程序中运行时,不允许点击“步出”菜单,否则 会产生意想不到的情况。
4.1.5 放置/移除断点、禁止/允许断点、禁止所有断点、清除所有断点
放置/移除断点,无论处于编辑模式还是调试模式,在程序编辑区的代码行 前面(快捷键 F9),都可以设置/移除断点,还可以直接在代码行数字标号前空白 处单击来设置断点或去除断点。清楚所有断点,将已经设置的断点全部清除。
4.2 观察调试信息
4.2.1 寄存器窗口
寄存器窗口显示了目标 CPU 的寄存器在调试过程中的状态,只在调试模式时 可用。通过寄存器窗口可以实时观察寄存器的值,当寄存器的值被改变时会以红 色的形式突出显示。另外通过双击数值项可以修改寄存器的值。
4.2.2 特殊功能寄存器窗口
特殊功能寄存器窗口显示目标单片机在调试过程中的状态,此窗口为只读窗 口,调试过程中不允许修改窗口中的参数。
4.2.3 可读写数据存储窗口
可读写数据存储窗口(RAM 区)如图 20,在调试时可用,该窗口主要用于 观察连续内存。可以根据需要,在地址框输入地址后回车,能够查找对应地址的 位置。显示窗中的数值以十六进制显示。如果要改变 RAM 区的内容,将光标定 位在要修改的地方,直接修改,这里的数据可以是两种形式,比如 01 可以写成 0x01,只能输入十六进制数,且小于或等于 0xff。 超过 0xff 会跳出如图 21 对话 框。
状态栏: 当前模式:包括编辑模式和仿真调式两种,其中仿真调试中分为 Busy,Stop,Wait, Monitor 几种状态。 运行时间:当使用 HC05 核时,该时间代执行代码运行的时间,可用于指令执行时间统 计。但时间最长不能超过 900us.
第五章 SN-Link 仿真器
5.1 SN-Link 仿真器的构成
SN-Link 仿真器配件如下:
- A-B USB 线 1 根
- 主机 1 台
- 对应 MCU 型号仿真 EV 板 1 块
- 连接目标板排线 1 根
如图 23 所示 标注 USB 的一端直接与电脑 PC 机相连,标注 JTAG 接口的一端与各种型 号的 EV 板相连,针对不同的型号使用相对应的 EV 板进行仿真,EV 板上提供了对应芯片的 引脚,可用排线直接连到的用户的目标板上。用户可以选择目标板由仿真器供电或者单独供 电
5.2 各型号 EV 板说明
第六章 WinScope IDE 快速开发实例
本章通过一个实际例子让用户快速的掌握如何使用 WinScope IDE 进行项目 的开发。
假设:为了简单测试仿真器的好坏,现在我需要对 MC20P24B 编写一段代码。 代码中包含几个简单的功能:
- 对 RAM 进行读写测试,我随意选了$ff,$fe,$fd,$30 这几个地址
- 对 P0 端口的 P00,P01 设置为外部中断,P02,P03 为输出
- 开启定时器 0 的定时中断
- 测试函数的调用与返回
功能定义好后,现在可以开始了。。。
6.1 建立项目
在菜单栏中选择“项目管理”->“新建项目”这时会出现如图 25 所示对话框,在对 话框中选择芯片型号“MC20P24B”,在项目名称一栏输入“MC20P24B_Test”,在项目存放路 径中选择你需要存放项目的地方。 建议选择的路径和项目名称 中间不要含有空格、星号等 不附合 C 命名标准的字符。 当你选择完芯片型号之后编译器会自动的选择,不需要手工干预.
设置完路径,点击下一步,会出现如图 26 所示对应型号的 OPTION 设置窗口。我们按 照如图 26 所示设置,OPTION 值为 F7。设置完后点保存,然后一直下一步至完成。
点击“完成”按安键之后,可以看到 WinScope IDE 窗口的工程管理窗中已经按照 “MC20P24B_Test”名称建立了一个新的工程。但这时工程还是空的,我们需要添加一个 ASM文件。添加的方法:右键选中“SourceCode”文件夹“添加文件”如图 27 左所示。根据 提示将路径指向刚才建立项目的文件夹下,输入文件名“MC20P24B_Test.asm”然后点击保 存后,可以看到图 27 右边的图。
6.2 代码编辑
码默认存在软件目录下的 Sample 文件 夹中)可以直接打开该项目。在编辑的过程中默认规定以”fn_”开头的标号会与 “RTS”或 者“RTI”进行配对,可以进行代码折叠。如下图 28 所示 fn_int0 代码段代已经折叠起来, 双击标号将会展开。在编辑中可以使用书签,查找等功能进行快速定位。
6.3 编译、生成代码
代码编写完之后,可以对文件进行编译除错。需要注意的是 WinScope 中有 三个非常相似的功能菜单,用户需要对他们加以区分。如图 29 所示。编译/汇编 只编译当前打开的文件,而生成代码则是编译整个工程项里的文件并把中间文件 生成 S19 目标文件。所以我们需要选择的是“生成代码”的菜单。而“重新生成并下载” 菜单是连同进入仿真模式的功能.
当编译出错时,WinScope IDE 会提示编译出错,并在构建输出框输出相关出 错信息。如下图 30 所示,双击输出信息框中的出错行号,将会自动对应到文本 编辑窗中的对位置。如图 30,我们看到 79 行 stas 指令符出错 ,应该为 STA。
6.3 进入调试模式
当编译生成代码通过后,即可以连接仿真器进行代码仿真。点击工具栏上的 图标, 进入仿真模式,如果仿真器连接失败将会提示找不到端口等出错提示。当正确错进入模式后 看到如下图所示,PC 光标会复位到程序入口地址,RAM,REG 等窗口会被刷新。
这时候,离成功能已经很接近了。我们选择在定时器中断程序 fn_time0 中设置一个断 点,然后点击 全速运行程序,PC 指针将停留在定时器中断的断点处,如下图 32 所示。 这时候可以查看各寄存器,RAM 变量的参数。
6.4 项目后续工作
仿真功能都正确错之后,就可以到项目存放的目录下把 S19 文件烧写到实际的芯片中进 行实物测试了。HC05 内核单片机型号的项目,S19 文件在项目的根目录下,而 RISC 内核单片 机的 S19 文件是 OUTPUT 子目录中。