SyncMOS MSM9059

SyncMOS MSM9059
使用手册
SyncMOS MSM9059 使用手册
适用微控制器型号:SM59R02A1、SM59R03A1、SM59R04A1、SM59R04A2
内 容
1. 前言 ............................................................................................................................................... 3
2. MSM9059 外观图 ........................................................................................................................... 3
3. ISP 简介 ......................................................................................................................................... 4
4. 使用 ISP 功能之 Configuration 设定 ............................................................................................... 5
5. 进入 ISP 机制说明 ......................................................................................................................... 6
5.1 硬件 ISP ............................................................................................................................... 6
5.2 软件 ISP ............................................................................................................................... 6
6. ICP 简介 ......................................................................................................................................... 8
7. ICP 与 ISP 差异比较表 .............................................................................................................................9
8. 安装 Prolific USB 驱动程序 .......................................................................................................... 10
9. SMAP 设定说明 ............................................................................................................................ 11
10.1 设定烧录器 ....................................................................................................................... 11
10.2 自动更新韧体 .................................................................................................................... 12
10.3 手动更新韧体 .................................................................................................................... 13
10. SMAP 操作接口简介 ................................................................................................................... 15
10.1 烧录模式 ........................................................................................................................... 15
10.2 连接 COM Port ................................................................................................................. 15
10.3 选择烧录档案 .................................................................................................................... 15
10.4 芯片组态 ........................................................................................................................... 16
10.4.1 芯片组态界面 ........................................................................................................... 16
10.4.2 读取组态................................................................................................................... 16
10.4.3 组态选单.................................................................................................................... 17
10.5 烧录选单 ........................................................................................................................... 18
10.6 讯息窗口 ........................................................................................................................... 18
10.7 缓存区............................................................................................................................... 18
11. ISP 烧录教学 .............................................................................................................................. 20
11.1 硬件连接方式 .................................................................................................................... 20
11.2 手动烧录 ........................................................................................................................... 21
11.3 上电烧录 ........................................................................................................................... 21
11.4 自定义下载........................................................................................................................ 23
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
1
Ver. A 2010/03
SyncMOS MSM9059
使用手册
12. ICP 烧录教学 .............................................................................................................................. 30
13. 离线烧录教学 ............................................................................................................................. 31
13.1 离线 ICP ........................................................................................................................... 31
13.2 离线 ISP ........................................................................................................................... 31
13.3 离线 ISP 上电烧录 ............................................................................................................ 32
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
2
Ver. A 2010/03
SyncMOS MSM9059
使用手册
1 前言:
1.1 MSM9059 支持 ICP,使用者将程序烧录至 SM59R04A2 与 SM59R02/03/04A1 系列,使用者不
需要额外烧录 ISP Code 于 IC 上,即可将所要烧录的程序烧录于 IC 中,也可支持 ISP 功能。
1.2 可支持之传输接口:USB。
1.3 可支持 MCU 之烧录电压:5V、3.3V。
2 MSM9059 外观图:
Button
USB Plug
ICP Interface
VCC
GND
N/A
OCI_SCL
OCI_SDA
ISP Interface
VCC
GND
N/A
RxD
TxD
POWER(Red LED)
GOOD(Green LED)
BUSY(Yellow LED)
FAIL(Red LED)
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
3
Ver. A 2010/03
SyncMOS MSM9059
使用手册
3 ISP 简介:
ISP(In System Programming),它是一个可在线烧录的功能,何谓可在线烧录,就是使用者不需将 IC
从机器中取下,放在特定的烧录器进行烧录的动作,它可直接透过特定的传输接口,例如 UART,搭配特
定的传输协议即可进行芯片抹除、写入,为一便利的功能。但在执行此功能前须预先将 ISP 韧体程序透过
烧录器烧进芯片内,这样才可以跟 PC 端的应用程序进行连结与沟通,这种方式我们称之为 ISP。下图所示
为 ISP 系统图。
UART
COM Port
MSM9059
USB Port
使用者程序
Windows 应用程序
{……
判断执行 ISP();
SMAP
…..}
ISP 韧体程序
ISP 系统图
新茂提供上图中 Windows 应用程序、ISP 韧体程序的 hex/bin 和原始码供客户使用,以缩短客户开发
时间。为方便开发者使用,新茂公司在 SM59R04A2 与 SM59R02/03/04A1 系列 IC,出厂前已将 ISP 韧体
程序烧入 IC。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
4
Ver. A 2010/03
SyncMOS MSM9059
使用手册
4 使用 ISP 功能之 Configuration 设定:
若 IC 出厂的 ISP code 已经被通用烧录器抹除过,需重新烧录 ISP code 才能正常使用 ISP 功能,请依
照下列步骤烧录 ISP code:
4.1 在 SM59R04A2 与 SM59R02/03/04A1 系列 IC,请使用通用型烧录器设定 N=2。
4.2 依所使用的 IC 型号加载 ISP code,出厂 ISP code 在程序菜单中的 SMAP 路径找到。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
5
Ver. A 2010/03
SyncMOS MSM9059
使用手册
5 进入 ISP 机制说明:
5.1 硬件 ISP:使用 IC 内部的硬件机制,使 PC Counter 可跳跃到 ISP code 执行 ISP 功能。
IC 型号
第一个位置的值 $0000=FFH
P3.0 输入两个频率
P2.6/P2.7 = 0
P4.3 = 0
SM59R02A1
SM59R03A1
SM59R04A1
SM59R04A2
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
各 IC 型号支持硬件 ISP 机制一览表
5.1.1 “第一个位置的值 $0000=FFH”:当 IC 为空片时,PC Counter 可自行跳跃到 ISP code。
5.1.2 “P2.6/P2.7 = 0”:当 Power-on 或 Reset 发生时,若 P2.6 与 P2.7 同时为低电位,PC Counter
可跳跃到 ISP code。
5.1.3 “P4.3 = 0”:当 Power-on 或 Reset 发生时,若 P4.3 为低电位,PC Counter 可跳跃到 ISP code。
因 DIP 无 Port 4,所以必须要 QFP 或 PLCC 封装 IC 才可支持。
5.1.4 “P3.0 输入两个频率”:当 Power-on 或 Reset 发生时,若 P3.0 收到两个频率,PC Counter
可跳跃到 ISP code。
5.2 软件 ISP:以 Keil C 为例,要让使用者程序能够进入 ISP 韧体程序执行,须在 Project 内加入
Gotoisp.a51 档案一起编译,并在使用者程序加入是否执行 ISP 的判断。如下所示:
Gotoisp.a51 档案:
; GOTOISP.A51
NAME GOTOISP
?PR?GotoIsp?GOTOISP SEGMENT CODE
PUBLIC GotoIsp
RSEG ?PR?GotoIsp?GOTOISP
USING 0
GotoIsp:
LJMP 03E00H
;isp start address
END
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
6
Ver. A 2010/03
SyncMOS MSM9059
使用手册
使用者程序:
#include <….h>
…
extern void GoToIsp(void);
…
void main(void)
{
if(P4.3 = = 0)
{
GoToIsp();
}
// 使用者须在呼叫此函式先定义
// 是否执行 ISP 的判断,此 Pin 4.3 使用者可自行定义。
…
…
}
备注:
※ Code Size 为 16KB 以下的 IC(如 SM59D04G2 与 SM59R04A2),其 ISP 地址在 3E00H;Code Size
为 32KB 的 IC(如 SM59R08A2),其 ISP 地址在 7E00H;Code Size 为 64KB 以上的 IC(如 SM5964A、
SM59264),其 ISP 地址在 FE00H,请依使用的 IC 型号修改需跳跃的 ISP 地址。
※ SM59XX 系列与 SM59DXX 系列 ISP code 使用 Timer 1 当鲍率产生器,因此若客户在主程序中使
用 Timer2 作为鲍率产生器,请必须在跳跃到 ISP code 前将 T2CON 给 00H,避免 Timer2 占用 UART
串口。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
7
Ver. A 2010/03
SyncMOS MSM9059
使用手册
6 ICP 简介:
ICP(In Circuit Programming),它是一个可在线烧录的功能,与 ISP 相较,由于 ISP 须预先将 ISP 韧体
程序透过烧录器烧进芯片内,必须占用 IC 的 code size,而 ICP 因内建在芯片硬件架构,不需内含 ISP boot
code 即可进行芯片抹除、写入,这种方式我们称之为 ICP。下图所示为 ICP 系统图。
COM Port
ICP Interface
MSM9059
USB Port
Windows 应用程序
SMAP
ICP 系统图
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
8
Ver. A 2010/03
SyncMOS MSM9059
使用手册
7
ICP 与 ISP 差异比较表:
上线烧录方式
烧录 IC 组态
IC 加密
界面
备注
优点
ISP
可
可
VCC,GND,RX,TX
1. 需内含 0.5k ISP code
2. 出厂有 ISP code
可透过 MAX232 或 USB-toUART IC 直接与 PC 联机更新
ICP(2-Wires interface)
可
可
VCC, GND,OCI_SCL,OCI_SDA
无
不需内含 ISP code
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
9
Ver. A 2010/03
SyncMOS MSM9059
使用手册
8 安装 Prolific USB 驱动程序:
安装 SMAP 后可在程序菜单中的 SMAP 路径找到 USB 的驱动程序进行安装。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
10
Ver. A 2010/03
SyncMOS MSM9059
使用手册
9 SMAP 设定说明:
9.1 设定烧录器:
9.1.1 首先将 SyncMOS SMAP 安装于您的计算机,安装完成之后在您的桌面会产生一个快捷方
式。
9.1.2 第一次启动 SMAP 时,会跳出设定烧录器窗口,有 MSM9059、MSM9059、MSM9171 可
供选择,请选择 MSM9059,然后按<确定>。
9.1.3 接着跳出 SMAP 主窗口,可在[设定]画面中变更烧录器型号,更新韧体以及改变语言设定。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
11
Ver. A 2010/03
SyncMOS MSM9059
使用手册
9.2 自动更新韧体:
9.2.1 进入[烧录模式]并点选<连接>,若您的 MSM9059 韧体与目前的 SMAP 版本不符,会跳出
窗口请您更新韧体。依照下图流程点选,跳出[更新的方式]窗口时请选<自动>并点选<确定>
键。
9.2.2 选择 FW-9059VXXX.hex,并点选<开启(O)>键,即开始更新。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
12
Ver. A 2010/03
SyncMOS MSM9059
使用手册
9.2.3 讯息窗口会依序显示”扫瞄完成”、”抹除完成!”、”写入完成!”、”保护完成!”、”芯片重置完
成!”、”连接成功!”,即代表完成更新。
9.3 手动更新韧体:
9.3.1 当使用自动更新韧体失败时,也可以使用手动更新方式让韧体能顺利更新。先压住按钮同时
将 MSM9059 插入 USB 插孔,在[设定]页面,COM Port 的设定必须为正确的连接串口,再
按<更新>按钮,会跳出[更新方式]窗口。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
13
Ver. A 2010/03
SyncMOS MSM9059
使用手册
9.3.2 按<确定>后跳出[开启]窗口,选择 FW-9059VXXX.hex,然后按<开启(O)>,即可开始更新
韧体。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
14
Ver. A 2010/03
SyncMOS MSM9059
使用手册
10 SMAP 操作接口简介:
10.1 烧录模式:有在线 ISP、脱机 ISP、在线 ICP 与脱机 ICP 四种模式可供选择。
10.1.1 在线 ISP:MSM9059 需连接 PC,并透过 Rx、Tx 连接 MCU 烧录。需设定晶振频率,请依
照目标板所用的晶振频率设定。
10.1.2 脱机 ISP:可将待烧录的 code 先传到 MSM9059 上,便可不须联机计算机,透过 Rx、Tx
烧录连接 MCU 进行烧录。设定注意事项如同在线 ISP。
10.1.3 在线 ICP:MSM9059 需连接 PC,并透过 OCI_SCL、OCI_SDA 连接 MCU 烧录。
10.1.4 脱机 ICP:可将待烧录的 code 先传到 MSM9059 上,便可不须联机计算机,透过 OCI_SCL、
OCI_SDA 连接 MCU 进行烧录。
10.2 连接 COM Port:
10.2.1 开启 SMAP 会出现 COMx(Prolific USB-to-Serial Comm Port),直接按<连接>即可联机成
功。
10.2.2 当搜寻不到您的 COM Port 时,此时表示您的 USB 不在 COM1~COM32 之间?或 MSM9059
电源未上电?请从 Windows 的装置管理员更改您的 COM Port 于 COM1~COM32,并检查
MSM9059 电源灯是否有亮。
10.3 选择烧录文件:
10.3.1 点按<选择>,会跳出”选择烧录文件”窗口,按<打开>选择您要烧录的文件(XXX.HEX or
XXX.BIN)。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
15
Ver. A 2010/03
SyncMOS MSM9059
使用手册
10.3.2 当使用 ICP 模式时如需同时加载 main code 与 ISP code 时,可以同时在”程序”与”ISP”各别
加载。
10.4 硬件配置:
10.4.1 硬件配置界面:选择您要设定的项目,会再烧录时将配置设定一起烧录进 IC 中。
10.4.2 读取组态:选取读取组态图示时,可读出芯片组态设定。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
16
Ver. A 2010/03
SyncMOS MSM9059
使用手册
10.4.3 组态选单:
a. 看门狗:可选择<打开>或<关闭>,IC 出厂默认值为<打开>。
b. MCU 速度:可以选择使用内部频率 1~24MHz 或<使用外部频率>,IC 出厂默认值为<使用外
部频率>。
c. 脚位功能:可将 OCI_SCL、ALE、OCI_SDA 与 RESET 定义成 P4.4、P4.5、P4.6 与 P4.7
当 GPIO。可选择<设定>或<取消>,IC 出厂默认值为<设定>。
d. 重置时间:整合 MAX810,可提供使用者设定重置时间。可选择 4~200ms,IC 出厂默认值为
<25ms>。
e. 区块值(N):用来设定 ISP 程序保护区块的大小。可选择<无 ISP 编程>或 N=1~16,IC 出厂默
认值为<N=2 (3E00H)>。
f. ISP 启动机制:有 4 种 ISP 启动机制可供使用者选择,每种机制分别设定使用 MAX810 电源
启动方式或使用 Reset Pad 重置启动,IC 出厂预设皆为开启。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
17
Ver. A 2010/03
SyncMOS MSM9059
使用手册
10.5 烧录选单:
10.5.1
:使用 ISP 模式时,会扫描出适合使用的传输鲍率。
10.5.2
:擦除 IC 的所有数据。
10.5.3
:检查 IC 的资料是否为 0xFF。
10.5.4
:将您加载的烧录档案与所设定的 config 选项烧录到 IC 里。
10.5.5
:确认您所加载的烧录档案与烧录到 IC 的数据是否正确。
10.5.6
:将 IC 的数据加密,使其无法使用读出正确的数据。
10.5.7
:当使用 ISP 时,烧录完成后让 IC 内部自行 Reset。
10.5.8
:勾选您要执行的项目,如<擦除>、<编程>……等。点按<自动执行>则会执
行刚刚所选择的项目。
10.6 讯息窗口:
10.6.1 点选<硬件配置>左边的<讯息>可显示出讯息窗口。
10.6.2 若要清除讯息窗口的信息,按<擦除讯息>即可清除。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
18
Ver. A 2010/03
SyncMOS MSM9059
使用手册
10.7 缓存区:
10.7.1
文件内容:可开启档案缓存区窗口,可查看所加载档案的程序代码。
10.7.2
芯片内容:可开启芯片缓存区窗口,可查看所加载档案的程序代码。
10.7.3
存档:可将缓存区中的资料另存 bin 文件。
10.7.4
更新:更新档案中的程序代码到缓存区窗口中。
10.7.5
更新:读取 IC 中的程序代码到缓存区窗口中。
文件缓存区窗口
芯片缓存区窗口
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
19
Ver. A 2010/03
SyncMOS MSM9059
使用手册
11 ISP 烧录教学:
11.1 硬件连接方式:
11.1.1 当使用 ISP 连目标板时,MSM9059 需透过 Rx、Tx 与目标板联机,请将目标板的 Rx、Tx、
VCC 与 GND 连接至 MSM9059。
VCC
GND
Rx
Tx
11.1.2 ISP 烧录需设定晶振频率,如果连接目标板,请依照目标板所用的晶振频率设定,若列表中
无贵公司所使用的频率,请反应给我们新茂,我们将协助加入 SMAP 支持。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
20
Ver. A 2010/03
SyncMOS MSM9059
使用手册
11.2 手动烧录:
11.2.1 请自行先让 IC 利用硬件 ISP 或软件 ISP 方式进入 ISP 状态。
11.2.2 设定欲烧录的芯片、频率,烧录方式选择<手动烧录>。
11.2.3 选择所需烧录之档案,然后在烧录功能图块中选取要执行之功能,按下<自动执行>即可,
也可以执行单步动作,直接按下所需功能之图块即可。
11.3 上电烧录:只要 Power on 即可重新烧录。SM59R04A2 与 SM59R02/03/04A1 有 P3.0 收两个频
率的 ISP 硬件机制,则跳跃到 ISP code 进行 ISP 烧录。操作步骤如下:
(1) 将 MCU 放置于目标板上,先不要上电。
(2) 设定欲烧录的芯片、频率,烧录方式选择<上电烧录>。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
21
Ver. A 2010/03
SyncMOS MSM9059
使用手册
(3) 按下<自动执行>按钮,在停止键上方会显示”侦测中”,此时再将系统板上电,即可开始烧录。
(4) 烧录完成后在停止键上方会显示”芯片复位完成!”。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
22
Ver. A 2010/03
SyncMOS MSM9059
使用手册
11.4 自定义下载:此烧录方式仅适用在目标板烧录,可以让使用者自定义 command 作为进入 ISP 烧
录的通关指令,透过 UART 连接 SMAP 软件做联机更新。
11.4.1 操作步骤:
(1) 先将范例程序及 ISP 服务程序烧进 MCU 中。
(2) 将 MCU 放至上,与 MSM9059 连接并上电。
(3) 选择<自定义>,并依据客户主程序所使用的传输速度设定鲍率值,因范例程序使用 115200bps,
因此需选择 115200bps。
(4) 接着将自定义的指令输入至窗口中,自定义的指令需配合客户主程序中 UART 中断的接收子程
序所接受之自定义的指令,客户可自定义的指令长度最多达 32 个字节,数据型态为 16 进制。
(5) 按下”自动执行”按钮,即开始烧录,烧录完成后在停止键上方会显示”芯片复位完成!”。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
23
Ver. A 2010/03
SyncMOS MSM9059
使用手册
11.4.2
动作流程图:
PC
SMAP
MCU
Initial UART
Run customer’s main
code
NO
Send user-defined
command
Receive data
YES
Enter UART interrupt
NO
Check data = userdefined data
YES
NO
Check data number
= nCommandLength
YES
NO
Receive ACK
Send 0x5A
YES
Fail
Start ISP erase,
program, protect,
reset
LJMP ISP address
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
24
Ver. A 2010/03
SyncMOS MSM9059
使用手册
11.4.3 范例程序(使用 SM59R04G2 为例):
(1) Keil C 范例程序:
Description
main.c (Main
program)
//此范例应用包括
main.c、GoToISP_Low.A51
#include "SM59D04G2.h"
#define nCommandLength 32
#define nAckCommand
0x5A
unsigned char UartCmdCount;
unsigned char code CommandArray[nCommandLength]=
{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
0x17, 0x18, 0x19, 0x20, 0x21, 0x22, 0x23, 0x24,
0x25, 0x26, 0x27, 0x28, 0x29, 0x30, 0x31, 0x32};
extern GoToISP_Low();
void delayms(unsigned int mscnt)
{
unsigned int i;
while(mscnt--)
{
for(i=0;i<250;i++);
}
}
void init_UART_timer1(unsigned char BR)
{
SCON = 0x50;
//SCON: serail mode 1, 8-bit UART, enable receive
TMOD = 0x22;
//TMOD: timer 1, mode 2, 8-bit reload
PCON = 0x80;
//SMOD = 1;
TH1 = BR;
//Baud:57600 fosc=22.1184MHz
TR1 = 1 ;
//timer 1 run
EA = 1;
//all interrupt enable
ES = 1;
//UART enable
}
void init_UART_timer2(unsigned int T2value)
{
RCAP2L = (char)T2value;
RCAP2H = (char)(T2value>>8);
T2CON = 0x34;
SCON = 0x50;
EA = 1;
//all interrupt enable
ES = 1;
//UART enable
}
void main(void)
{
init_UART_timer2(0xFFFA);//choise Timer 1 or Timer 2 as baud rate generator
//init_UART_timer1(0xFF);
//SyncMOS_GoToISP via UART
//TH1 = 0xFF;
//12T, 3.579MHz(19200), 11.0592MHz(57600)
// 6T, 3.579MHz(38400), 11.0592MHz(115200)
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
25
Ver. A 2010/03
SyncMOS MSM9059
使用手册
//TH1 = 0xFE;
//TH1 = 0xFD;
//TH1 = 0xFC;
//TH1 = 0xFB;
//TH1 = 0xF7;
//TH1 = 0xF5;
//TH1 = 0xF3;
//
//
while(1)
{
P0 = 0xF0;
P0 = 0x0F;
P2 = 0xF0;
P2 = 0x0F;
}
//12T, 14.31818MHz(38400), 22.1184MHz(57600), 14.7456MHz(38400)
// 6T,
22.1184MHz(115200)
//12T, 4MHz(7200), 8MHz(14400), 8.192MHz(14400), 16MHz(28800)
// 6T, 4MHz(14400),8MHz(28800), 8.192MHz(28800), 16MHz(57600)
//
// 6T, 14.31818MHz(38400), 14.7456MHz(38400)
//12T, 18.432MHz(19200)
// 6T, 18.432MHz(38400)
//12T, 24.576MHz(14400), 25MHz(14400)
// 6T, 24.576MHz(28800), 25MHz(28800)
//12T, 20MHz(9600)
// 6T, 20MHz(19200)
//12T, 6MHz(2400), 12MHz(4800), 24MHz(9600)
// 6T, 6MHz(4800), 12MHz(9600), 24MHz(19200)
delayms(300);
delayms(300);
delayms(300);
delayms(300);
}
GoToISP_Low.
A51
void serial(void) interrupt 4
{
if(RI)
{
if(SBUF == CommandArray[UartCmdCount])
UartCmdCount++;
else
UartCmdCount=0;
RI = 0 ;
if(UartCmdCount==nCommandLength)
{
IE = 0x00; //disabling interrupt
SBUF = nAckCommand;
while(!TI);
TI = 0;
T2CON = 0x00; //disabling T2 because using T1 baud rate generator in ISP code
GoToISP_Low(); //LJMP 3E00H ISP code address
}
}
else
TI=0;
}
; GoToISP_Low.A51
NAME
GoToISP_Low
?PR?GoToISP_Low?GOTOISP_LOW SEGMENT CODE
PUBLIC GoToISP_Low
RSEG ?PR?GoToISP_Low?GOTOISP_LOW
USING
0
GoToISP_Low:
MOV DPTR,#3E00H ;LJMP 3E00H ISP code address
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
26
Ver. A 2010/03
SyncMOS MSM9059
使用手册
PUSH DPL
PUSH DPH
RETI
END
(2) 汇编语言范例程序:
Description
Main program
nCommandLength EQU 32 ;setting command length by user
UARTCmdCount EQU 20H
T2CON EQU 0C8H
RCAP2L EQU 0CAH
RCAP2H EQU 0CBH
ORG 0000H
AJMP
ISP_Entry
ORG 0023H
AJMP
UART_INTERRUPT
ISP_Entry:
ACALL
SyncMOS_GoToISP ;initial setting
;;;
;;; main code start
;;;
/* LED display demo */
MOV DPTR,#TABLE_01 ;DPTR point to data area
START:
MOV R0,#0
;
MOV R1,#8
;8 datas
LOOP:
MOV A,R0
;put R0 contect to A
MOVC
A,@A+DPTR ;use indirect address get data, and put into A
MOV P0,A
;put ACC to Port 0
MOV P1,A
;put ACC to Port 1
ACALL
DELAY100MS ;delay 0.1 second
INC R0
;R0 point to next data
DJNZ
R1,LOOP
;if R1 != 0 then jump to LOOP
SJMP
START
;if R1=0 then jump to START
;;; dealy subroutine
DELAY100MS:
MOV R5,#10
;Dealy 10x10ms=100ms
DELAY10MS:
MOV R6,#50
;delay time 10ms @ 11.0592MHz
DELAY01:
MOV R7,#99
DJNZ
R7,$
; Inner loop delay
DJNZ
R6,DELAY01
;
DJNZ
R5,DELAY10MS
RET
;;;
TABLE_01:
DB 11100111B
DB 11000011B
DB 10000001B
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
27
Ver. A 2010/03
SyncMOS MSM9059
使用手册
DB
DB
DB
DB
DB
00000000B
10000001B
11000011B
11100111B
11111111B
;;;
;;; main code End
;;;
;;;
;;; SyncMOS_GoToISP Subroutine
;;;
SyncMOS_GoToISP:
;;;======UART Timer1 setting=============
;MOV
TMOD,#00100001B
;Timer 1 is mode1 is mode 2, Timer 0 is mode 1
;;;
;MOV
TH1,#0FFH
;baud rate, 12T, 3.579MHz(19200), 11.0592MHz(57600)
;
6T, 3.579MHz(38400), 11.0592MHz(115200)
;MOV
TH1,#0FEH
;baud rate, 12T, 14.31818MHz(38400), 22.1184MHz(57600),
14.7456MHz(38400)
;
6T,
22.1184MHz(115200)
;MOV
TH1,#0FDH
;baud rate, 12T, 4MHz(7200), 8MHz(14400), 8.192MHz(14400),
16MHz(28800)
;
6T, 4MHz(14400),8MHz(28800), 8.192MHz(28800),
16MHz(57600)
;MOV
TH1,#0FCH
;baud rate,
;
6T, 14.31818MHz(38400), 14.7456MHz(38400)
;MOV
TH1,#0FBH
;baud rate, 12T, 18.432MHz(19200)
;
6T, 18.432MHz(38400)
;MOV
TH1,#0F7H
;baud rate, 12T, 24.576MHz(14400), 25MHz(14400)
;
6T, 24.576MHz(28800), 25MHz(28800)
;MOV
TH1,#0F5H
;baud rate, 12T, 20MHz(9600)
;
6T, 20MHz(19200)
;MOV
TH1,#0F3H
;baud rate, 12T, 6MHz(2400), 12MHz(4800), 24MHz(9600)
;
6T, 6MHz(4800), 12MHz(9600), 24MHz(19200)
;SETB
TR1
;enable Timer 1
;MOV
PCON,#10000000B ;set SMOD = 1
;;;======================================
;;;
;;;======UART Timer2 setting=============
;choise Timer 1 or Timer 2 as baud rate generator
MOV RCAP2H,#0FFH
MOV RCAP2L,#0FAH
MOV T2CON,#34H
;;;======================================
MOV SCON,#01010000B ;serial mode 1, REN=1, TI=0, RI=0
MOV IE,#90H ;enable UART interrupt
MOV UARTCmdCount,#00H
RET
UART_INTERRUPT:
JB RI,RX ; if RI=1 jump RX,else clear TI
CLR TI
RETI
RX:
CLR RI
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
28
Ver. A 2010/03
SyncMOS MSM9059
使用手册
PUSH ACC
PUSH DPL
PUSH DPH
MOV A,UARTCmdCount
MOV DPTR,#COMMAND_TABLE
MOVC A,@A+DPTR
CJNE A,SBUF,CLR_UARTCmdCount
INC UARTCmdCount
MOV A,UARTCmdCount
CJNE A,#nCommandLength,RETURN
CLR EA
MOV SBUF,#5AH ;transmit ack
MOV DPTR,#3E00H ;LJMP 3E00H ISP code address
PUSH DPL
PUSH DPH
JNB TI,$
CLR TI
MOV T2CON,#00H ;disabling T2 because using T1 baud rate generator in ISP code
RETI
CLR_UARTCmdCount:
MOV UARTCmdCount,#00H
RETURN:
POP DPH
POP DPL
POP ACC
RETI
COMMAND_TABLE:
DB 01H,02H,03H,04H,05H,06H,07H,08H ;to define command by user
DB 09H,10H,11H,12H,13H,14H,15H,16H
DB 17H,18H,19H,20H,21H,22H,23H,24H
DB 25H,26H,27H,28H,29H,30H,31H,32H
END
备注:
※ 相关范例程序已附在 SMAP 安装目录下 C:\Program Files\SyncMOS\SyncMOS Writers\SMAP\
OnlineUpdate\User-defined
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
29
Ver. A 2010/03
SyncMOS MSM9059
使用手册
12 ICP 烧录教学:
12.1 MSM9059 需透过 OCI_SCL、OCI_SDA 与目标板联机。请将目标板的 OCI_SCL、OCI_SDA、
VCC 与 GND 连接至 MSM9059。设定好所需的项目,点选<自动执行>,即可使用 ICP 烧录。
VCC
GND
OCI_SCL
OCI_SDA
12.2 当 OCI_SCL、OCI_SDA 与 Reset pin 皆被组态为 GPIO,会影响 ICP 烧录时无法入 ICP mode,
只有 IC 刚 Power on 可进入 ICP mode。在此情况下使用 MSM9059 请依照下列操作步骤:
(1) 先将目标板电源关闭,并将目标板的 OCI_SCL、OCI_SDA、VCC 与 GND 连接至 MSM9059。
(2) 按下<自动执行>时会显示”侦测中”。
(3) 这时候再开启目标板电源,烧录完成后会显示完成信息。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
30
Ver. A 2010/03
SyncMOS MSM9059
使用手册
13 离线烧录教学:
13.1 离线 ICP
13.1.1 设定好所需的项目,点选<自动执行>,MSM9059 便会将所需烧录的 code 存至 MSM9059
上的 flash 中,当执行成功后,停止键上方会显示”传送成功!”。
13.1.2 拔掉 USB 线,连接目标板并按下按钮,便可使用离线烧录的功能,烧录过程中黄灯 LED 会
不断闪烁,当黄灯熄灭且绿灯亮时,即代表离线烧录作业完成。若您的 MCU 已把 OCI_SCL
与 OCI_SDA 设定为 GPIO,则必须要用 ICP 上电烧录方式,先接好连接线,目标板再上电
即可开始烧录。
13.2 离线 ISP
13.2.1 设定好所需的项目,点选<自动执行>,MSM9059 便会将所需烧录的 code 存至 MSM9059
上的 flash 中,当执行成功后,停止键上方会显示”传送成功!”。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
31
Ver. A 2010/03
SyncMOS MSM9059
使用手册
13.2.2 拔掉 USB 线,连接目标板并按下按钮,便可使用离线烧录的功能,烧录过程中黄灯 LED 会
不断闪烁,当黄灯熄灭且绿灯亮时,即代表离线烧录作业完成。
13.3 离线 ISP 上电烧录:
13.3.1 烧录方式需设定为”上电烧录”,将欲烧录 main code 以离线 ISP 方式将 code 储存至
MSM9059 中。
13.3.2 先关掉目标板电源,拔掉 USB 线,如同一般 ISP 烧录在 MCU 目标板连接方式连接
Rx,Tx,GND,VCC。
13.3.3 开启电源,便会自动执行离线烧录,烧录过程中黄灯 LED 会不断闪烁,当黄灯熄灭且绿灯
亮时,即代表离线烧录作业完成。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
ISSFT-0015
32
Ver. A 2010/03