logo
 
首页-> 产品信息-> 8位单片机
 
入门指南
开发&工具
应用方案
客户支持
 
学习e条龙
一、单片机简介 二、指令系统 三、IO端口 四、中断系统
五、定时/计数器 六、串行接口 七、模拟外设 八、其它硬件
九、开发工具 十、应用实例 十一、附录  

SPMC65 系列单片机开发工具

内容索引
9.1 概述 9.4 FortisIDE的使用
9.2 集成开发环境FortisIDE  9.5 SPMC65系列单片机硬件开发工具
9.3 Fortis IDE用户编程界面  9.6 Q-Writer的使用

9.1 概述

  本章重点介绍利用 SPMC65 系列单片机进行项目开发的流程,以及开发工具的使用方法。

  1.程序的编写、仿真、调试

  此过程中用到的软件开发工具为凌阳科技提供的 FortisIDE 集成开发环境,硬件开发工具为凌阳科技专为 SPMC65 系列单片机开发设计的在线仿真编程器。

  2.程序的烧写

  此过程中用到的软件开发工具为凌阳科技提供的 Q-Writer ,硬件开发工具为凌阳科技专为 SPMC65 系列单片机开发设计的在线仿真编程器。

9.2 集成开发环境 FortisIDE

  凌阳科技提供了一种支持 SPMC65 系列 单片机的集成开发环境 FortisIDE , 具有工程管理、文本编辑、程序编译和调试等多种功能,还具备非常友好的用户界面、下拉菜单、快捷方式和 快速访问命令列表 等,能够方便地进行编辑、调试程序,且其可以仿真 SPMC65 系列所有芯片的功能,大大提高了开发效率。

  FortisIDETM 集成开发环境运行的软件平台为 Windows 98? / 2000?/XP? 。

9.2.1软件开发工具的安装

  先在 www.sunplusmcu.com 网站下载或凌阳单片机推广中心赠送的 MCU 光盘当中找到 SPMC65Toolkit.exe 软件安装包(或者是三个分开的安装包: Fortis IDE 、 Fortis IDE Body 以及 Q-Writer ),运行并安装。

  SPMC65Toolkit.exe 安装包运行时会把 Fortis IDE 软件、 Fortis IDE Body 以及 Q-Writer 软件一起安装到用户的 PC 中。 Fortis IDE 是集成开发环境,而 Fortis IDE Body 则是集成开发环境所需要的有关芯片型号的信息以及对应芯片的范例程序等,如用分开的安装包进行安装时, Fortist IDE 安装完后必需安装 Fortis IDE Body ; Q-Writer 为配合 SPMC65 系列芯片进行编程的工具软件。

9.2.2 SPMC65 系列单片机软件开发工具快速入门

  用一根 USB 连接线将在线仿真编程器与 PC 机相连,并接上在线仿真器的电源。

  1.选择 [ 开始 ] → [ 程序 ] → [Sunplus] → [ FortisIDE] → [ FortisIDE-V1.6.5 ① ] 运行 FortisIDE 。

  2.打开 工程: 选择 [ File ] → [Open Project] ,在“打开”对话框中选择工程路径。

   新建工程: 选择 [ File ] → [New] ,在 New 对话框中添加工程名称,并选择工程建立的路径,

         在 main.asm 中编写程序。

  3.Workspace 窗口显示在左半边,此窗口内可以看到当前工程所包含的所有文件。

  4.选择 [ Build ] → [Rebuild All ] ,进行源文件的编译和链接,编译链接过程里的错误会显示在 Output 窗口内。

  5.选择 [ Build ] → [Start Debug ] → [Download] ,将程序下载到仿真芯片中。

  6.选择 [ Build ] → [Start Debug ] → [Go] ,在仿真片中运行程序,进行在线调试。

  7.选择 [Tool] → [Q-Writer] ,打开 Q-Writer 软件,进行 OTP 单片机编程。

  注①: V1.6.5 为版本号,本章有关 FortisIDE 的介绍都是以 FortisIDE-V1.6.5 的版本为介绍对象。

9.2.3  工程中包含文件类型说明

  工程包括创建一个特定程序所要的各种信息。新建立的工程应包含 8 种文件: *.spj 、 *.rc 、 *.set 、 *.env* 、 *.asm 、 prog.lik 、 *.cmd 、 *.inc 。 一个工程建成后, FortisIDE 自动将这 8 种文件添加到工程内。

  •  *.spj, *.rc, *.set, *.env ( 与工程文件同名 ) :系统文件,后缀为 .spj 的文件为工程文件,用户打开一个工程时打开‘ *.spj '文件即可。

  •  *.asm :汇编语言程序文件。

  •  Prog.lik :链接器根据它来决定如何链接目标文件,用 FortisIDE 打开该文件,可以直接对文件的内容进行修改。

  •  *.cmd ( 与工程文件同名 ) :根据它来决定如何向仿真芯片中下载二进制文件 (.tsk/.bin) ,即决定 ICE/ 仿真板上的文件映象。

  •  *.inc :头文件,在其中对每一个 I/O 端口和硬件寄存器进行了定义;它必须被包含在源代码内。

*.bin :系统编译后生成的二进制文件,用于烧写芯片。

9.3 Fortis IDE 用户编程界面

  Fortis IDE 包含一系列的用于程序开发的工具,它能让用户方便地在一个集成开发环境内进行程序的编辑、编译、链接和调试。在主界面上,用户将看到 3 个主要的窗口: Workspace 窗口、 Output 窗口、 Editor 窗口。

图 9 . 1 FortisIDE 集成开发环境

9.3.1 Work Space 窗口

  Work Space 窗口中的 File View 标签用于显示所有的自动生成的文件和用户定义的文件。

9.3.2 Output 窗口

  Output 窗口向用户提供了一个方便的浏览编译、调试和文本查找状态的途径。用户单击 Build 、 Debug 和 Find in Files 等面板,可以激活相应的面板。

  1 . Build 面板

  显示编译和链接过程里产生的信息,例如程序编译过程中产生的错误和警告信息等。如果编译中没有产生错误或警告信息,表示程序成功地通过编译。在报错信息行或警告信息行双击鼠标,即可将光标定位到产生错误和警告的源代码行。

  2 . Debug 面板

  显示调试过程中的各项信息。

  3 . Find in Files 面板

  显示查找的结果。查找结果默认显示在 Find in Files1 面板内。如需显示到 Find in Files2 面板内,用户需点选 Find in Files2 。

9.3.3 文本编辑器窗口

  用户能够通过文本编辑器窗口编写程序代码。当打开一个文件的时候,其内容就会显示在文本编辑器里。从这个窗口的任意位置单击鼠标右键,都能够弹出功能丰富的快捷菜单。

9.4 FortisIDE 的使用

  在本节中会按照产品开发流程的思路介绍 FortisIDE 的使用,主要内容:

  •  创建工程

  •  设置工程

  •  管理工程

  •  编译工程

  •  运行工程

  •  调试工程

  •  创建工程

  单击 [File] à [New] ,弹出一个 New 对话框。

图 9 . 2 New 对话框

  在 New 对话框中选择 [Project] ,在 Location 文本框中选择工程存放的位置,在 File 文本框中添加新建工程的名称,(比如“ Timer0_LED ”)。

图 9 . 3 输入工程名

  单击“ Next ”,选择实际使用 SPMC65 系列单片机的具体 Body (芯片型号)。

图 9 . 4 选择芯片型号

  单击 [Finish] ,工程创建成功。

图 9 . 5 新建后的工程

  在 Workspace 窗口中可以看到新建工程中所含文件情况。此时可以看到已经自动生成的头文件(如果上一步中选择的是 SPMC65P2408A ,工程便会自动生成头文件 SPMC65P2408A.inc ),其中包含了对 Body 的每一个 I/O 端口和硬件寄存器进行定义的相关信息。另外还有文件 main.asm ,提供用来编写主程序的文件。

9.4.2 设置工程

■ 选择 [Project]→[Setting] ,打开 Setting 对话框,单击工程名“ Timer0_LED File ”,便可以看到 Setting 对话框中全部标签项。

图 9 . 6 选择 Setting

■ 点击 General 标签,可以看到当前工程所用的芯片类型和相应的系列名、 CPU 的类型,用户还可为编译过程中生成的目标文件和临时文件设定存储的路径。

■ 单击 Option 标签,用户能对工具链接和资源进行各种设置。(此页用默认选项即可)。

■ 单击 Link 标签,用户能够选择需要链接到当前工程的外部目标文件 (*.obj) 、库文件 (*.lib) 。在 Target file name 文本框内,用户能指定所需链接的目标文件的名称和路径。

图 9 . 7 Setting 对话框的 Link 标签项

■ 点击 Mask Option 标签,用户可以进行相应的芯片配置选项设置。 SPMC65 系列单片机的芯片配置选项包括: OSC Option 、 Low Voltage Reset (LVR) 、 Watch Dog Timer Option 、 RC Oscillator Output 、 GPIO Initial Setting 和 NMI Source Setting 。用户需根据实际情况设定合适的选项。

图 9 . 8 Mask Option 标签

   ·OSC Option 选项中可以选择 Crystal (晶体)、 RC Oscillator ( RC 振荡)、 External Clock (外部时钟输入)三种时钟输入方式。
  
   ·Low Voltage Reset (LVR) 可以选择 Enabled 和 Disabled 两项,即可以设置低电压复位功能使能 / 禁止;
  
   ·Watch Dog Timer Option 可以选择 Enabled 和 Disabled 两项,即可以设置看门狗功能允许 / 禁止;
  
   ·RC Oscillator Output 可以选择 Clock output 或 No output 两项,即系统时钟输入选择 RC 振荡输入的时候,可以通过该选项来选择 XO 管脚是否输出 RC 振荡信号;
  
   ·GPIO Initial Setting 可以选择 All float 或 All pull low 两项,即设置 I/O 端口的默认值为悬浮输入状态或下拉输入状态。
  
   ·NMI Source Selection 可以选择 Disabled 、 PB4(INT0) 、 PB5(INT1) 、 PD0(INT2) 、 PD1(INT3) 、 PD4(INT4) 、 PD5(INT5) 最多 7 项(与芯片型号有关),即可以选择非屏蔽中断项。

  

        ■ 单击 Device 标签,用户可以选取一个下载线接口类型。 将鼠标定位到 Used ICE Interface 列表框中的一个选项上后,在相应选项的右侧用户会发现它所支持的 PROBE 类型。如选取 Auto detect , IDE 将自动检查当前所连接的 ICE 接口和 ICE 。选中 PC Trace Enable 项, FortisIDE 能够记录停止运行前执行的程序运行路径。

图 9 . 9 Device 标签项

9.4.3 管理工程

1 .向工程内添加文件。

方法一:

  单击 [Project] → [Add File to Project] → [File] ,激活 Add File 对话框。

图 9 . 10 选择文件加载

选取需要添加到工程里的文件后,单击 [Add] 添加文件。

图 9 . 11 “打开文件”对话框

方法二:

  在 Workspace 窗口的某一个文件夹上单击鼠标右键,选中 [Add File to Folder-] 且在相应的对话框之中选择需要添加的文件的名称。

图 9 . 12 Workspace 加载文件

2 .新建文件

单击 [File] → [New] ,弹出一个 New 对话框。

FortisIDE 支持的文件类型包含: asm ( 汇编文件 ) 、 inc ( 包含文件 ) 和 txt ( 文本文件 ) 。

( 1 )在左边的文件类型列表内选取所要建立的文件的类型。

( 2 )在 File 和 Location 文本框内分别输入文件的名称和存储的路径。

( 3 )单击 [OK] 。

图 9 . 13 “新建文件”对话框

3 .删除文件

方法一:

  在 Workspace 窗口内单击某一文件名,按键盘的 DEL 键,即删除相应的文件。

方法二:

  还可以通过在 Workspace 窗口内用鼠标右键单击某一文件名,再从弹出的快捷菜单内点选 [Remove] ,删除该文件。

4 .打开文件

  FortisIDE 提供了两种打开文件的方法:

方法一:

  单击 [File] → [Open] ,弹出 Open 对话框,在对话框内选取所需的文件。

方法二:

  单击 [File] → [Recent Files] ,在当前的 Recent File 列表内选取一个文件后,该文件自动被打开。 Recent Files 菜单最多列出 8 个近期内被打开过的文件名称。

5 .保存文件

  当正在被编辑的文件的标题栏上文件名称后面有“ * ”标号时,表示本文件正在被编辑且最新的修改还未被保存。 保存后, “ * ”标号会自动消失。

方法一:

  单击 [File] → [Save] ,将文件按当前的名称进行保存。

方法二:

  单击 [File] → [Save As] ,将文件以不同的名称进行保存。

方法三:

  单击 [File] → [Save All] ,保存当前所有打开的文件。

9.4.4 编写程序

  

  Fortis IDE 为每个新建的工程自动加入了一个 Main.asm 文件,为用户提供了汇编文件的模版,用户的主程序可以直接在 Main.asm 文件中进行编辑。在 Main.asm 文件中除了一个汇编文件所必需的汇编器指示信息、用户变量定义区或程序编写区外,还提供了中断服务程序的模版,以及各个向量的声明(一个工程中所必需有的)等; Main.asm 具体的结构请参考下面的介绍。

;==================================================================================

; The information contained herein is the exclusive property of
; Sunplus Technology Co. And shall not be distributed, reproduced,
; or disclosed in whole in part without prior written permission.
; (C) COPYRIGHT 2005 SUNPLUS TECHNOLOGY CO.
; ALL RIGHTS RESERVED
; The entire notice above must be reproduced on all authorized copies.

软件版权声明
;==================================================================================

 

;==================================================================================

; Project Name :
; Applied Body : SPMC65P2408A
; Firmware version:
; Programer :
; Date :
; Description :
;
; Hardware Connect:
; Link File :
; IDE Version :
; BODY Version :

工程相关声明
;==================================================================================

 

 

  指导汇编器进行汇编

 

;****************************************
;*                     *
;*    System Register Define     *
;*                     *
;****************************************

.INCLUDE SPMC65P2408A.inc ; Define all hardware,Registers and ports.
;****************************************

相关系统寄存器定义
;*                     *
;****************************************
.PAGE0                    ; define values in the range from 00h to FFh
  用户定义变量区域
.DATA ; define data storage section
  用户定义变量区域

;****************************************
; Program Area
;****************************************
.CODE ;
;****************************************
;*Power on Reset Process - Main Program
;****************************************
.PUBLIC V_Reset ;
V_Reset:

  主程序编写区域

;****************************************
;*                     *
;* NMI Interrupt Service Routine    *
;*                     *
;****************************************
V_NMI:
pha ; push A register
txa ; transfer X to A
pha ; push A register (ie. push X)

;
; NMI codes are placed here
;
非屏蔽中断服务子程序编写区域

;
pla ; pop A register
tax ; transfer A to X
pla ; pop A register (ie. pop X)
rti
;****************************************
;* *
;* IRQ Interrupt Service Routine *
;* *
;****************************************
V_IRQ:
pha ; push A register
txa ; transfer X to A
pha ; push A register (ie. push X)
;

;
; IRQ codes are placed here
;
可屏蔽中断服务子程序编写区域
pla ; pop A register
tax ; transfer A to X
pla ; pop A register (ie. pop X)
rti
;****************************************
;* Interrupt Vector Table *
;****************************************
VECTOR:        .SECTION
.END          ; end of program 程序结束
            ; new line of the end

9.4.5 编译工程

  ■ 单击 [Build] → [Compile] ,对当前打开的源文件进行编译 ( 它等同于在 Workspace 窗口的 *.asm 文件名称上单击鼠标右键后选取 [Compile]) 。

  ■ 单击 [Build] → [Build] ,对当前工程进行编译。该功能用于对自前次编译后被改动的源文件进行编译。

  ■ 单击 [Build] → [Rebuild All] ,重新编译当前工程内的所有源文件。

  ■ 单击 [Build] → [Stop Build] ,停止编译。

用户通过 Output 窗口可以查看编译信息, 包括程序编译过程中产生的一些错误和警告信息。

9.4.6 运行工程

  程序被编译成功后,如果电脑与在线仿真编程器连接正常(硬件连接:用 USB 连接线将在线仿真编程器与 PC 机相连),便可以直接下载运行程序 。

  步骤:

  1. 单击 [Build] → [Start Debug] → [Download] ,下载程序到 仿真芯片中。

  2. 单击 [Build] → [Start Debug] → [Go] ,运行程序。

9.4.7 调试工程

  程序下载到仿真芯片后,便进入了调试状态,此时可以利用 [View] → [Debug Windows] 或工具栏上的图标激活相应调试窗口。调试窗口可用于查看、修改 CPU 寄存器、内存、 I/O 端口的信息。

图 9 . 14 Debug 窗口

  Register 窗口:显示通用寄存器和状态寄存器的内容。

  Memory 窗口:显示各地址单元中的数据。

  Watch 窗口:显示各个变量的值和地址。

1 .利用 Register 窗口进行调试

打开方式: [View] → [Debug Windows] → [Register] 。

  Register 窗口显示各个通用寄存器和 CPU 状态寄存器的值、 ICE 版本、 ICE 接口、 CPU 的时钟的状态等。用户可以对其中一些信息进行修改,改动后的内容会被立即通过 ICE 传递给仿真板。

图 9 . 15 Register 窗口

2 .利用 Watch 窗口进行调试

打开方式: [View] → [Debug Windows] → [Watch] 。

图 9 . 16 Watch 窗口

  在进行程序的调试时,用户能够利用 Watch 窗口查看和更改变量的值。

  Watch 窗口由 Watch1 、 Watch2 、 Watch3 和 Watch4 组成。每一个视窗利用一个数据表来显示变量的地址和值。

  向 Name 栏内输入变量名称后, Value 栏和 Address 栏会自动显示该变量的值和地址。用户还可以根据自己的需要对 Value 栏里的变量值进行修改。如果某个变量的数据显示为红色,表明它刚刚被修改过。

  在 Watch 窗口单击鼠标右键,可以激活相应的热键菜单。利用 Paste 、 Show decimal/hexadecimal 、 Hide 、 Add 、 Remove 和 Remove all ,用户可改变数据的显示格式、添加和删除数据、控制 Watch 窗口的显隐。

3 .利用设置断点进行调试

  设定一个硬件 / 软件断点后,在指令行前会出现蓝点 / 红点。 软件断点只能支持指令断点,数量没有限制; 硬件 断点包含 指令 断点 和条件 断点, 硬件断点的个数最多为 2 个。设置断点后当程序全速运行到此处便会停止下来,以便观察相关的内容。

设置方法:

  软件断点的设置:将鼠标置于需要设定软件断点的命令行内,按 [F9] 。

  软件断点的取消:将鼠标置于需要取消软件断点的命令行内,再单击工具栏图标

  硬件断点的设置:将鼠标置于需要设定硬件断点的命令行内,按 [F6] 。

  硬件断点的取消:将鼠标置于需要取消硬件断点的命令行内,再单击工具栏图标

9.4.8 FortisIDE 工具栏常用图标对照表

* 显示 / 隐藏 Workspace 窗口。

* 显示 / 隐藏 Output 窗口。

* 管理所有已经打开的文件。

* 在多个文件内查找文本。

* 加载目标文件。

* 编辑源文件。

* 编译工程。

* 停止编译。

* 从当前光标所在位置开始全速运行程序,直到运行结束或遇到断点才停止运行。

* 将程序下载到 ICE/ 仿真板。

* 插入 / 删除软件断点。

* 删除所有的软件断点。

* 插入 / 删除硬件断点。

* 删除所有的硬件断点。

* 中断程序的运行。

* 停止调试。

* 程序复位。

* 单步运行程序,如其后的一条指令为子程序调用,会进入子程序继续单步执行。

* 单步运行程序,如其后的一条指令子程序调用,会执行完整个子程序,然后指向子程序调用的下一条指令。

* 单步运行程序,如果该指令在一个子程序中,会将该子程序执行完毕,返回子程序调用的下一条指令。

* 运行程序到当前光标所在行。

* 显示 / 隐藏 Watch 窗口。

 显示 / 隐藏 Register 窗口。

 显示 / 隐藏 Memory 窗口。

 显示 / 隐藏 Disassembly 窗口。

* 显示 / 隐藏 Command 窗口。

* 显示跟踪缓存。

* 删除跟踪缓存。

9.5 SPMC65 系列单片机硬件开发工具

  凌阳专为 SPMC65 系列单片机的开发设计了一款“仿真烧写一体机”-在线仿真编程器,用于仿真和烧写 SPMC65 系列所有芯片,适合用户灵活方便的进行各种硬件系统开发。

图 9 . 17 在线仿真编程器效果图

9.5.1 在线仿真编程器结构简介

   •  USB 线接口;

  •  9V 电源输入端;

  •  编程座,用于 OTP 芯片编程时插入芯片,靠上对齐;

  •  仿真编程器和目标板芯片电源( VDD )连接开关,当拨到 ON 时,仿真编程器和目标板芯片电源连通;当拨到 OFF 时,仿真编程器和目标板芯片电源断开。

  •  仿真排线插座;

  •  复位按键;

  •  “睡眠”指示灯,黄色;

  •  “运行”指示灯,绿色;

  •  “电源”指示灯,红色;。

9.5.2 在线仿真编程器使用方法

1 .将在线仿真编程器与 PC 机相连。

  将 USB 连接线的 D 形口插入在线仿真编程器,再将 USB 连接线的扁口端插入 PC 机的 USB 接口即可。

2 .将在线仿真编程器与用户目标板相连。

  在线仿真编程器通过一组仿真排线将 SPMC65 系列 芯片 单片机 的所有 I/O 引出至仿真头上。 SPMC65 系列 芯片 的每 种型号 颗 芯片 单片机 都配备有一个相应的仿真头(如 当 用户 希望 使用的 单片机 芯片 为 SPMC65P2408 A 时, 则需要 必须 使用 SPMC65P2408 A 的 仿真头)。用户使用时,将仿真排线连接至对应的仿真头上,并将仿真头插至目标板上,这样就可以调试目标系统了。如 图 9.18 所示

图 9 . 18 在线仿真编程器和仿真头的连接

  两根仿真排线接口从左到右分别为 JP1 和 JP2 , JP1 和 JP2 的引针对应 SPMC65 系列单片机的端口情况如 图 9.19 所示; JP1 和 JP2 的第 1 脚都为靠向在线仿真编程器正面的右下角的地方,所以用户如直接从仿真排线接口引出信号线进行实验时,需要注意接口引针对应端口的情况。

图 9 . 19 仿真排线信号描述

3 .连接电源。

  在线仿真编程器与目标板有三种可选的供电方式:

( 1 ) 仿真编程器与目标板各自独立供电。将电源连接开关拨至“ OFF ”位置,使仿真编程器与目标板 单片机电源( VDD ) 处于断开状态 (地线连通) 。然后在仿真编程器的电源输入端接入“ DC - 9V ”电源,为仿真编程器供电;而用户目标板则使用独立的电源供电。

( 2 ) 仿真编程器为目标板供电。将电源连接开关拨至“ ON ”位置,使仿真编程器与目标板 单片机 电源处于连通状态。在仿真编程器的电源输入端接入“ DC - 9V ”电源,此电源在为仿真编程器供电的同时,也为用户目标板供电。

( 3 ) 目标板为仿真编程器供电。首先确认仿真编程器的电源输入端没有接入电源,然后将电源连接开关拨到“ ON ”位置。 给目标板 加上电源, 此电源在为用户目标板供电的同时,也为仿真编程器供电。 注意 :

  •  目标板为仿真编程器提供的电压应为 5V (推荐值) ;当电压大于 6V 时,仿真编程器 的 过压保护功能使电路断开。

  •  仿真编程器的过压保护电路采用 USB 口提供的电源,所以采用目标板为仿真编程器供电时, USB 线必须首先接 入。

  在线仿真编程器有两种供电方式:通过外接直流 9V 电源供电,也可以通过目标板对其进行供电。

  当选择通过外接直流 9V 电源供电时,在 9V 电源输入端 B 接入 9V 直流电源,此时,当电源连接开关 D 在 ON 位置时,仿真编程器和目标板 芯片 电源( VDD )连通,可以通过在线仿真编程器给目标板供电;当电源连接开关 D 在 OFF 位置时,仿真编程器和目标板 芯片 电源( VDD )断开(地线连通),目标板需要独立供电。

  当选择通过目标板对在线仿真编程器进行供电时,必须断开 9V 电源输入端 B 接入的电源,电源连接开关 D 拨到 ON 的位置,且 USB 线需要和 PC 连接,外接供电电压为 5V 。对这种供电方式,对目标板供给在线仿真编程器的电压有过压保护功能,当电压大于 6V 时,电路自动断开 。

  在线仿真编程器上有一个电源指示灯 I ,用于指示当前的电源状态,在线仿真编程器接上电源后,该指示灯亮。

4 .仿真调试。

  此时可以配合 FortisIDE 下载、仿真和调试程序( FortisIDE 的使用方法请参见 10.4 节内容)。在线仿真编程器有一个运行指示灯和一个睡眠指示灯,当系统运行在正常模式时,运行指示灯会闪烁,当系统进入睡眠模式下时,睡眠指示灯亮。

5 .单片机编程。

  将芯片插入烧写座,芯片的 1 管脚位于烧写座的左上角放入,具体方式请参见 图 9.20 。配合 Q-Writer 工具进行芯片烧写( Q-Writer 的使用方法请参见 10.6 节内容)。

图 9 . 20 芯片插入烧写座的方式示意图

9.6 Q-Writer 的使用

  凌阳科技公司提供的 Q-Writer 是专门配合 SPMC65 系列在线仿真编程器对 SPMC65 系列 OTP 芯片 单片机 编程的工具软件。本节将介绍利用 Q-Writer 进行编程、 以及 产品序列号、产品信息 、 以及 芯片 单片机 加密等功能的设定 方法 。

  SPMC65 系列单片机开发工具安装包里已经包含了 Q-Writer 软件的安装包 ,如果需要最新版本的软件 可通过访问 www.sunplusmcu.com 网站获得该软件。运行 Q-Writer 安装包,依照提示安装后即可使用。

9.6.1 Q-Writer 简介

  Q-Writer 是凌阳科技公司专门用于 烧写 编程 SPMC65 系列 芯片 单片机 的一款 烧写 编程 工具软件, Q-Writer 具有友好的操作界面,并且可靠易用。其界面如下图所示:

图 9 . 21 Q-Writer 界面

程序存储窗口: [Windows] - >[Program Memory Window] ,该窗口显示下载到 Q-Writer 中的二进制文件。

IC 内容窗口: [Windows] - >[IC Content Window] ,该窗口显示写入 IC 或从 IC 存储器中读出的内容。在操作过程中如有错误发生,该窗口将 高亮 显示出错地址的内容。

统计窗口: [Windows] - >[Statistic Window] ,该窗口用来统计 烧写 编程 芯片 的数量。

信息窗口: [Windows] - >[Message Window] ,该窗口用来显示 芯片 单片机 、程序源文件以及 烧写 编程 等相关信息。

状态窗口: [Windows] - >[Status Window] ,此窗口显示了 Q-Writer 的所有操作结果。

•  Q-Writer 设置

1 ,选择 [Setting] - >[Option] ,选择设置窗口,如 图 9.22 所示。说明如下。

图 9 . 22 设置窗口

“ Message Windows ”用来设置在信息窗口( Message Windows )显示哪些信息,如 图 9.23 ,在选项的前面打√,则在信息窗口显示对应信息。 打开 信息窗口的 方法 打开 : [Windows] - >[Message Window] 。

图 9 . 23 信息窗口

“ Security Setting ”选项用来设置在对 芯片 单片机 加密时是否显示确认窗口;如果选中则在对 芯片 单片机 加密时将出现需要确认的信息。

2 ,选择 [Setting] - >[Program Statistic] ,此功能用来激活 / 取消统计功能,与工具栏中 按钮的作用相同。

3 ,选择 [Setting] - >[16 Bytes per Row] ,此功能用来控制每一行显示的字节数。选中该功能后,程序存储窗口内的每一行都将显示 16 个字节的数据形式 ,否则,程序存储窗口内的每一行 的 显示 将根据 Q-Writer 窗口的大小自动调整 。

4 ,选择 [Setting] - >[ Show ASCII Code] ,此功能用来显示程序存储窗口内二进制数据的 ASCII 码。

•  使用 Q-Writer 进行烧写的步骤

1.Q-Writer启动

方法 1 :选择 [ 开始 ] → [ 程序 ] → [Sunplus] → [Q-Writer] → [Q-Writer-V1.0.0] ,启动 Q-Writer 。

方法 2 : 首先启动 FortisIDE ,之后点击工具栏中的 图标,或者选择 [Tools] → [Q-Writer] 启动。

注: FortisIDE 的 debug 模式和 Q-Writer 不能同时运行。

2.检查在线仿真编程器上的芯片是否为空白芯片

选择 [Function] - >[ Blank Check ] ,检查烧写器上的芯片是否为空白芯片。同时, Q-Writer 会读出芯片中的内容,显示在 IC 内容窗口中。如果检查到该芯片不是空白的,系统会在 IC 内容窗口中自动显示非空白区域,并将其内容用红色高亮标记出来。只有空白芯片才可以进行烧写。

3.选择单片机型号

选择 [Device] - >[Select] ,出现 Select Device 对话框,如下图所示;选择所要烧写的单片机型号即可。安装了 Q-Writer 后,首次运行时,必须选择单片机型号。当下次启动 Q-Writer 后,如果烧写的单片机型号和上次相同,可以不用选择,即系统会默认为上一次选择的单片机型号。

图 9 . 24 单片机型号选择

4.打开文件

方法 1 :选择 [File] - >[Open] ,打开需要 编程到 单片机 中 编程 的 *.bin 或者 *.tsk 类型文件, 文件内容将 并 显示在程序存储窗口。

方法 2 :选择 [File] - >[Recent Files] ,会显示最近使用过的 *.bin 或者 *.tsk 类型文件, 可从中选择需要的文件, 选择需要编程的程序并显示在程序存储窗口。 最多记录最新打开的 4 个文件。

5.产品序列号以及产品信息的设置

( 1 )产品序列号设置

选择 [User Information] - >[Serial Number] , Q-Writer 指定了 4 个字节(地址为 0x7FF0 ~ 0x7FF3 )作为序列号码的写入空间,如下图所示。

图 9 . 25 产品序列号设置

•  Start Address : 0x7FF0 为序列号码的起始地址。其中 0x7FF0 为四个地址中的最低地址, 0x7FF3 为最高地址。

•  Size (1~4 bytes) :用户可以设定写入序列号码的字节数。

•  Initial Number :此项用来写入 芯片 单片机 的初始序列号。序列号写入 芯片 单片机 后,程序存储窗口中相应地址的内容会被更新。其中,未用到的字节默认值为 0xFF 。

•  Mode: 此项用来设置序列号码的生成模式。系统提供了固定模式( Fixed Number )和自动模式( Auto Increment )两种模式。固定模式下, increment 项无效,在每一个 芯片 单片机 进行编程时,写入的序列号码均为初始设置值。自动模式下,用户可以设定序列号码的递增或递减变化方式,以及设定相应变化的增量值或减量值。设置完毕后,写入 芯片 单片机 的序列号码将从初始设置值开始递增或递减。

图 2-5 产品序列号设置

( 2 )产品信息设置

选择 [User Information] - >[Product Info] ,用户可以在 0x7FF4~0x7FFF 这 12 个字节写入任意的产品信息,比如生产日期和生产厂商等。这些字节的默认值为 0xFF ,如下图所示。

图 9 . 26 产品信息设置

6.编程

选择 [Function] - >[Program] ,将程序存储窗口的 内容 编程到 OTP 芯片 单片机 上,同时,将 芯片 单片机 中的内容读出,显示在 IC 内容窗口中。如果编程失败,系统会跳到 IC 内容窗口中出错的位置,将其内容用红色高亮显示。编程成功之后, 可 需 执行 Verify 功能确保 烧写 编程 的可靠性。

7.验证

选择 [Function] - >[Verify] ,验证编程到 OTP 芯片 单片机 中的内容是否与源文件中的内容一致。启动 Verify 功能, Q-Writer 会将 芯片 单片机 中的内容读出,显示在 IC 内容窗口,然后和程序存储窗口中的内容(源文件)进行比较,发现有不同之处,系统会提示出错,并跳到 IC 内容窗口中出错的位置,将其内容用红色高亮显示。

8.加密

选择 [Function] - >[Secure] ,设定 芯片 单片机 的加密功能。一旦加密, 芯片 单片机 中的大部分内容将禁止读出。因此,在对 芯片 单片机 进行加密前,用户必须完成 program 和 verify 的操作。另外在对加密前, Q-Writer 还必须执行 Blank Check 功能, 以提高 芯片 编程的可靠性,避免错误的发生。 若 OTP 芯片 单片机 为空,系统将不能对其进行加密操作。加密后, SPMC65 系列的微控器 仅允许读出 芯片 单片机 中的部分内容,即 芯片 单片机 设置选项,用户信息以及 芯片 单片机 存储器中最后 16 个字节 (0xFFF0~0xFFFF) 中的信息。其它地址的内容均显示为 0x00 。

•  自动编程模式

当需要对多颗 芯片 单片机 进行相同的编程时,可以选择自动编程模式,步骤如下:

( 1 )打开 [Opration Mode] 选择自动编程模式:

•  A. Blank à Program :系统会自动对 芯片 单片机 进行 Blank check 和 Program 的连续操作,如果在某一个环节发生错误,编程动作都会立即停止,提示错误信息。

•  B. Blank à Program à Verify :系统会自动对 芯片 单片机 进行 Blank check 、 Program 和 Verify 的连续操作如果在某一个环节发生错误,编程动作都会立即停止,提示错误信息。

•  C. Blank à Program à Verify à Secure :系统会自动对 芯片 单片机 进行 Blank check 、 Program 、 Verify 和 Secure 的连续操作,完成全部编程过程。如果在某一个环节发生错误,编程动作都会立即停止,提示错误信息。

系统默认的为“ A . Blank à Program 编程 模式。

( 2 )设置需要编程的 芯片 单片机 数量:激活 Statistic Window ,如 图 9.27 所示, 选择 Config 来输入需要编程的单片机数量,如 图 9.28 所示。 Pass 指编程通过的数 量 ; Fail 指编程失败的数 量 ; Tatol 指总数 量 ; Target 指目标 数量。

图 9 . 27 Statistic Window

图 9 . 28输入芯片单片机数量

( 3 )打开需要编程到单片机中的 *.bin 或者 *.tsk 类型文件。

( 4 )点击 ,或选择 [Function] - >[Auto Run] ,进行自动编程操作。每点击一次 ,则按照编程模式选择的操作顺序执行一次编程操作。编程的统计信息显示在统计窗口( Statistic Window )中。 Pass 指编程通过的数量; Fail 指编程失败的数量; Tatol 指已编程的总数量; Target 指目标数量。

工具栏常用图标对照表

• 

打开二进制格式( *.bin 或 *.tsk )的源文件。用户必须将需要编程的源文件 下载 加载 到 Q-writer 中,以激活其所有功能。

将 程序存储窗口 中的内容保存到另一路径下。

选择需要编程的 芯片 单片机 的型号。

依据 编程模式 的设定执行连续编程动作。

检测 芯片 单片机 是否为空白。

将程序编程到 芯片 单片机 中。

验证 编程 程序是否有被正确地 烧写进 编程到 芯片 单片机 。

从 芯片 单片机 的存储器中读取数据。

打开序列号码的设置窗口。

芯片 单片机 加密。

激活 / 取消 芯片 单片机 编程 数量统计 功能。

选择 Probe 。系统为用户提供了两种类型的 Probe , AUTO Detect 为自动测试 Probe 的类型。
版权所有:北京凌阳爱普科技有限公司 京ICP备05061966号 未经许可网站内容严禁复制、转载,任何人不得擅自使用
友情链接:凌阳爱普 嵌入式培训 安卓培训 凌阳大学计划 北京嵌入式培训 深圳嵌入式培训 成都嵌入式培训