SM39R16A3
内嵌 16KB
具有 ISP 功能的 Flash
和 512B RAM 的 8 位控制器
18.
(Internal ISP)
在系统编程
SM39R16A3可通过内部硬件电路产生闪存控制讯号.用户利用闪存控制寄存器,闪存地址寄存器和闪存数据寄存器在不需
要将SM39R16A3移出系统的情况下实现ISP功能. SM39R16A3提供了可以实现闪存编程/芯片擦除/页擦除/保护功能的闪
存控制讯号.用户需要去设计和使用任何SM39R16A3可以输入数据的接口,然后利用ISP服务程序去实现闪存的编程/芯片
擦除/页擦除/保护功能.
18.1 ISP 服务程序
ISP服务程序是由用户自行开发并放置于ISP服务程序区的韧件. 用户可依需求决定ISP服务程序的大小. 另外用户需将ISP
服务程序刻录至SM39R16A3芯片中才可使用ISP功能.
由于ISP服务程序是由用户自行开发,它需包括闪存数据寄存器的刻录及SM39R16A3芯片与上位机的通讯协议. 举例来
说, 使用者使用SM39R16A3芯片上之UART接口与上位机作数据之传送及接收,则SM39R16A3芯片上之ISP服务程序内
需有波特率设定,为避免数据传输错误需有数据总合检查或同位检查或其它错误检查机制.
于正常动作模式或空闲模式可启动 ISP服务程序,于停止模式则不行.
18.2 锁定位(N)
锁定位N有两个功能:一是配置服务程序的大小,另一个则是通过闪存擦除功能锁定ISP服务程序的空间.
ISP服务程序地址位从$3C00to $3FFF. 可被分为N*128字节(N=0-8). 当N为0时没有ISP功能.所有的16KB字节闪存都被用
来做程序存储.当N为1时,ISP服务程序占用128字节,剩余的15.875K 字节闪存可被用做程序存储.ISP服务程序的最大空间
为1K字节(当N为8时). 在这样的配置下,可用的程序存储空间为15K 字节.
在N定下来后,SM39R16A3会从上往下(从最顶端到地址$3FFF)保存ISP服务程序空间.ISP服务程序的开始地址位于$3x00
(x为任意数字,以N为准,如表 18-1所示). 请参考章节3.1有关ISP服务程序与程序内存之关系图.
锁定位N功能不同于闪存保护功能,闪存擦除功能可以擦除除ISP服务程序空间外的所有闪存记忆体.如闪存没有被保
护,ISP服务程序的内容一直可被读.如闪存被保护,所有的闪存程序空间包括ISP服务程序空间不能被读.
表 18-1 ISP code area.
N
0
1
2
3
4
5
6
7
8
ISP service program address
No ISP service program
128 bytes ($3F80h ~ $3FFFh)
256 bytes ($3F00h ~ $3FFFh)
384 bytes ($3E80h ~ $3FFFh)
512 bytes ($3E00h ~ $3FFFh)
640 K bytes ($3D80h ~ $3FFFh)
768 K bytes ($3D00h ~ $3FFFh)
896 K bytes ($3C80h ~ $3FFFh)
1.0 K bytes ($3C00h ~ $3FFFh)
ISP 服务程序配置于 N*256 字节 (N= 0 ~ 8)
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M066
Ver C SM39R16A3 04/20/2013
- 75 -