ISP 使用須知

Internal ISP Application Note
線上燒錄 In System Program (ISP) 應用筆記
適用IC:SM5964、SM5964A、SM59128、SM59264、SM59D03/04G2、SM59R08/16A2
內 容
1. ISP簡介...........................................................................................................................................................2
2. 安裝步驟—硬體及應用程式設定 ................................................................................................................3
2-2 使用UART介面..................................................................................................................................5
3. 使用者程式與ISP韌體連結...........................................................................................................................8
3-1 ISP韌體...............................................................................................................................................8
3-2 使用者程式 ........................................................................................................................................9
4. 常見問題分析 ..............................................................................................................................................11
5. 注意事項 ......................................................................................................................................................12
附錄A
轉接板電路圖 ............................................................................................................................13
附錄B ISP相關暫存器...................................................................................................................................15
B-2
B-3
附錄C
C-1
C-2
C-3
C-4
C-5
C-6
C-7
C-8
附錄D
D-1
Generate baud rate with Timer1 .......................................................................................................16
IIC Setting.........................................................................................................................................16
通訊協定 ....................................................................................................................................18
PC端到MCU的通訊協定 ................................................................................................................18
MCU到PC端的通訊協定 ................................................................................................................18
ISP韌體程式流程圖.........................................................................................................................19
抹除流程圖 ......................................................................................................................................20
燒錄流程圖 ......................................................................................................................................21
頁抹除流程圖 ..................................................................................................................................22
保護流程圖 ......................................................................................................................................23
MCU重置流程圖 .............................................................................................................................24
自行開發電腦應用程式及軔體注意事項 ................................................................................25
單獨執行Page Erase(Code Flash)功能............................................................................................25
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
1
Ver. D 2009/03
Internal ISP Application Note
1. ISP 簡介
ISP(In System Program),它是一個可線上燒錄的功能,何謂可線上燒錄,就是使用者不需將 IC
從機器中取下,放在特定的燒錄器進行燒錄的動作,它可直接透過特定的傳輸介面,例如 UART 或 IIC,
搭配特定的傳輸協定即可進行晶片抹除、寫入,為一便利的功能。但在執行此功能前須預先將 ISP 韌
體程式透過燒錄器燒進晶片內,這樣才可以跟 PC 端的應用程式進行連結與溝通,這種方式我們稱之
為 Internal ISP。圖一所示為 ISP 系統圖。
COM Port
UART 轉接板
UART
或
LPT Port
IIC 轉接板
IIC
使用者程式
Windows 應用程式
{……
判斷執行 ISP();
WinHost V3.x.exe
…..}
ISAP_V1.x.exe
ISP 韌體程式
圖一、ISP 系統圖
新茂提供上圖中 Windows 應用程式、ISP 韌體程式的 hex/bin 和原始碼供客戶使用,以縮短客戶開發
時間。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
2
Ver. D 2009/03
Internal ISP Application Note
2. 安裝步驟—硬體及應用程式設定
2-1
使用 IIC 介面
(a) 硬體安裝:將 IIC 轉接板(MSM9040)接上電腦 Printer Port,如圖二。接上 5V 變壓器,用 VGA cable
將您的目標板(Target board)接至轉接板。若您不是 Monitor 開發廠商,在 Target board 上沒有 VGA
D-sub 接頭,則 IIC 轉接板上另具有 IIC 介面的排針,供您轉接至您的 Target board。
圖二、IIC 轉接板 MSM9040
(b) 應用程式設定:在應用程式端(WinHost_V3.x.exe)選取具有IIC介面的IC和LTP1,然後設定IIC
SETTING,如圖三所示ID為36h, Delay為5us,此為SCL脈波時間,如果要寫入檔案,先執行Erase
進行晶片抹除,然後選取檔案,再按下Program即可。也可以批次執行動作,先核取要執行的動作,
再按下Auto Run就可批次進行。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
3
Ver. D 2009/03
Internal ISP Application Note
圖三、應用程式設定- IIC 介面
沒有 IIC 介面的 IC 這個畫面將無法被設定。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
4
Ver. D 2009/03
Internal ISP Application Note
2-2
使用 UART 介面
(a) 硬體安裝:用 RS232 cable 將 UART 轉接板(MSM9041)接上電腦 COM Port,轉接板上有 UART 介
面排針, 轉接至您的目標板(Target board),如 Target board 已有提供 5V 電源給轉接板,則不需接變
壓器給轉接板。
圖四、UART 轉接板 MSM9041
(b) 應用程式設定:在應用程式端(ISAP_V1.x.exe)
1. 選取具有 UART 介面的 IC 和連接之 COM Port,然後設定系統頻率,按下掃描圖塊,此時若連線
成功則紅燈會自動變為綠燈。
2. 選擇所需燒錄之檔案,然後在燒錄功能圖塊中選取要執行之功能,按下自動執行即可,也可以執
行單步動作,直接按下所需功能之圖塊即可。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
5
Ver. D 2009/03
Internal ISP Application Note
圖五、應用程式設定- UART 介面
由於 SyncMOS ISP 韌體為 0.5KB,若 IC 的程式記憶體為 64KB,則使用者的程式最大只能寫到
63.5K,故您的程式在載入時大於 63.5KB,WinHost 及 ISAP 將不讓您載入,如下圖所示,以防止您的
程式燒錄不完整,而造成動作不正常。
圖六、程式大於 63.5K.的警告
若 IC 的程式記憶體為 16KB,則跳出如下圖所示之警告視窗。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
6
Ver. D 2009/03
Internal ISP Application Note
圖七、程式大於 15.5K.的警告
請注意:當您使用 SM59128 時,程式記憶體為 128KB,ISP CODE 需要同時放在 BANK0 與
BANK1,故您的程式在載入 BANK0 或 BANK1 時,大於 63.5K,則 WinHost 及 ISAP 將不讓您載入,
以防止您的程式燒錄不完整,而造成動作不正常。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
7
Ver. D 2009/03
Internal ISP Application Note
3. 使用者程式與 ISP 韌體連結
3-1
ISP 韌體
在使用 ISP 之前,需先將 ISP 韌體程式燒入 IC,因為 IC 的程式記憶體大小不同,所以 ISP 韌體
程式所在位址亦有所不同,但都在記憶體的最高 512Byte 位置。各 ISP 韌體程式在燒錄器載入時會自
動定位,下表是各 IC 的 ISP 韌體程式及其位置對照表。新茂已將這些韌體程式的 Hex/Bin 檔放在
WinHost 及 ISAP 安裝目錄下。
例如 C:\Program Files\SyncMOS\SyncMOS Writers\WinHost\Int_isp\FW
C:\Program Files\SyncMOS\SyncMOS Writers\ISAP\ISP
表一、各 IC 的 ISP 韌體程式及位址對照表
ISAP
IC
SM5964、SM5964A、
SM59264
SM59128
SM59D03G2、SM59D04G2
SM59R08A2
SM59R16A2
Flash ROM
64KB
ISP 韌體程式
ISP_AUTO30C.bin
ISP 韌體程式位址
FE00H
128KB
16KB
32KB
64KB
SM59128 ISP CODE.bin
ISPfw_59Low_V1.0.hex
ISPfw_59R08_V1.0.hex
ISPfw_59R16_V1.0.hex
FE00H, 1FE00H
3E00H
3E00H
FE00H
ISP 韌體程式
ISP_AUTO30C.bin
ISP 韌體程式位址
FE00H
SM59128 ISP CODE.bin
ISPfw_59Low_V1.0.hex
FE00H, 1FE00H
3E00H
WinHost
IC
Flash ROM
64KB
SM5964、SM5964A、
SM59264、SM59364
SM59128
128KB
SM59D03G2、SM59D04G2 16KB
IC 燒入 ISP 韌體程式後,需將它 Code Protect 起來,以防止在程式自我更新時不慎將 ISP 韌體程
式清掉。圖八所示為使用 SyncMOS MSM9169 燒錄器的 Config 設定畫面:設定 N=1,可將位址 0xFE00
~ 0xFFFF 這區塊 Protect 起來不被清掉。若您使用一般通用型的燒錄器,請依照所選用的燒錄器設定
Config=1。
為方便開發者使用,新茂公司在 SM59XX、SM59DXX 系列 IC,出廠前已將 ISP 韌體程式燒入
IC,若使用 SM59RXX 系列 IC,請您向新茂原廠或新茂合格代理商索取。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
8
Ver. D 2009/03
Internal ISP Application Note
圖八、SyncMOS MSM9169 燒錄器 Config 設定示意圖
設定 Config=1 只在使用 ISP 做程式自我更新時做保護,使用一般燒錄器仍然可用 Chip Erase 將
整個程式記憶體抹除。
3-2
使用者程式
以 Keil C 為例,要讓使用者程式能夠進入 ISP 韌體程式執行,須在 Project 內加入 Gotoisp.a51 檔
案一起編譯,並在使用者程式加入是否執行 ISP 的判斷。如下所示:
圖九、Project window
Gotoisp.a51 檔案
; GOTOISP.A51
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
9
Ver. D 2009/03
Internal ISP Application Note
NAME
GOTOISP
?PR?GotoIsp?GOTOISP SEGMENT CODE
PUBLIC GotoIsp
RSEG ?PR?GotoIsp?GOTOISP
USING 0
GotoIsp:
LJMP 0FE00H
;isp start address
END
表二、各 IC 的 .A51 對照表
IC
Flash ROM
ISP 韌體程式
SM5964, SM5964A, SM59264
64KB
Gotoisp.a51
SM59128
128KB
Gotoisp.a51
SM59D04G2
16KB
GoToISP_Low.A51
新茂已將此 Gotoisp.a51 或 GoToISP_Low.A51 檔案放在 WinHost 安裝目錄下的 Int_isp, A51 目錄中,
例如 X:\Program Files\SyncMOS ISP\ISP_V3.3\Int_isp\A51
使用者程式
#include <….h>
…
extern void GoToIsp(void);
// 使用者須在呼叫此函式先定義
// SM5964, SM5964A, SM59264, SM59128 使用 GoToIsp(void);
// SM59D04G2 使用 GoToISP_Low (void);
…
void main(void)
{
if(P4.3 = = 0)
{
GoToIsp();
}
// 是否執行 ISP 的判斷,此 Pin 4.3 使用者可自行定義。
…
…
}
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
10
Ver. D 2009/03
Internal ISP Application Note
4. 常見問題分析
(1) 當 Program 失敗,如果應用程式有回應失敗訊息時,點選對話盒中的確認,將目標板重新啟動,方
可使用,假如應用程式沒有任何回應,使用者需先將程式關閉,然後將目標板重新啟動,應用程
式再次開啟,設定好後方可使用,如果要執行 Program,需先進行 Chip Erase。
(2) ISP 功能執行失敗的原因:
(a)接線不良。
(b)晶片內部的 ISP 程式未被保護,進行 Chip Erase 時被抹除了,需再進行燒入 ISP Code 時,將燒
錄器上的 Config 設為 1,並選取 Protect 功能,下圖是以西爾特(XELTEK)的燒錄器為例設定
Protect。
圖十、XELTEK 燒錄器設定 Protect 畫面
(c)啟動目標板後立刻執行 ISP 功能,此時工作電壓尚未穩定,建議啟動兩秒後再執行 ISP。
(d)在 Windows XP 下執行 ISP 功能時,開啟或執行其他的應用程式,作業系統的資源被分散,造
成資料傳輸不穩定,建議只開啟 WinHost_V30.exe 程式並在傳輸資料時不要移動或開啟任何視
窗。
(e)轉接板上沒有電源,在 UART mode 下可在系統或轉接板上任一處加上 5V 電源;在 IIC mode 需
在轉接板加上 5V 電源。
(f)如客戶需自行撰寫 ISP CODE,需注意 Config 僅保護 BANK0 之 ISP CODE,BANK1 之 ISP CODE
不保護;若執行 ISP CHIP Erase 功能會將 BANK1 之 ISP CODE 清除,而造成 BANK1 ISP 執行
錯誤。建議客戶改用 ISP PAGE Erase 功能,以避免將 BANK1 之 ISP CODE 清除。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
11
Ver. D 2009/03
Internal ISP Application Note
5. 注意事項
(1) 如果客戶自行開發 ISP 應用程式,在使用 Chip Erase 或 Page Erase 時需執行兩次,以確保 Flash 的
內容被清除為”FF”。
(2) 儘可能使用預設的安裝路徑,否則程式可能無法正常初始化。
(3) 當每次 MCU Reset 後如要再執行 UART 的功能需先做 Auto Scan Baud Rate,才能執行其他功能。
(4) 如已使用過 Auto Scan Baud Rate 功能,在 MCU 尚未重新 Power ON/OFF 前,不可再執行 Auto Scan
功能。
(5) 如果客戶自行開發 ISP 應用程式,為預防 ISP program 不穩定而導致 IC 失效之可能性,建議將 ISP
service program 做以下修改:
1 ISP enable and disable bit:SFR SCONF 的 ISPE(0xBFH.2)
,於執行 ISP command 前先 enable,於
執行完 ISP command 後 disable,用以保護 ISP code。(參考如下)
1.1
System Control Register (SCONF, $BF)
bit-7
WDR
Unused Unused Unused
Read / Write:
R/W
Reset value:
0
*
*
*
2
3
DFEN
*
ISPE
R/W
0
OME
R/W
1
bit-0
ALEI
R/W
0
ISP Byte Program 由後往前燒錄:由 0xEFFFH 寫至 0x0000H,以確保於執行 ISP Byte Program 時
因外在因素造成中斷後,仍可再次進入 ISP mode 執行 ISP service program
(SM5964 進入 ISP service
program 執行的條件之一為 address 0x0000H= 0xFF 時)。
保持電源電壓之穩定有助於 ISP service program 正確執行。
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
12
Ver. D 2009/03
Internal ISP Application Note
附錄A 轉接板電路圖
VGA_5V
R2
R1
10K
75K
VGA_5V
MMBT3904L
Q1
GND
751
Q2
MMBT3904L
R5
2.2K
R5
2.2K
S2
R3
10
9
8
7
6
5
4
3
2
1
11
12
13
14
15
SDA_1
CONNECTOR DB15
GND
R4
R7
47K
U1
A0
VCC
A1
WP
A2
SCL
GND SDA
24AA02
P3
VGA_5V
GND
1
2
3
4
OUTPUT FROM PC
Q3
MMBT3904L
751
P1
SCL_1
S1
13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
8
7
6
5
SDA_2
R8
100
R9
SCL_2
10
9
8
7
6
5
4
3
2
1
11
12
13
14
15
100
C1
0.1uF
GND
S2
CONNECTOR DB25
S1
P3
VGA_5V
CONNECTOR DB15
GND
GND
MSM9040 IIC 轉接板電路圖
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
13
Ver. D 2009/03
Internal ISP Application Note
MSM9041 UART 轉接板電路圖
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
14
Ver. D 2009/03
Internal ISP Application Note
附錄B ISP 相關暫存器
B-1
ISP 暫存器說明
(a) ISPFAH: Flash address-high for ISP function
FA15
FA14
FA13
FA12
Reset Value 0
0
0
0
FA11
0
FA10
0
FA9
0
FA8
0
(b) ISPFAL: Flash address-low for ISP function
FA7
FA6
FA5
FA4
Reset Value 0
0
0
0
FA3
0
FA2
0
FA1
0
FA0
0
FD3
0
FD2
0
FD1
0
FD0
0
OME
ALEI
R/W
0
R/W
0
(c) ISPFD: 8-bit data for ISP function
FD7
FD6
FD5
FD4
Reset Value 0
0
0
0
開放 ISP 功能使用:
MOV ISPFD, #55h
MOV ISPFD, #0AAh
MOV ISPFD, #55h
(d) ISP Registers – System Control Register (SCONF,$BF)
WDR
Unused Unused Unused DFEN
ISPE
(BANK)
Read/Write R/W
R/W
R/W
Reset Value 0
*
*
*
0
0
ISPE: ISP 致能位,當要使用 ISP 功能時需設為 1.
SM59264:
SM59128:
DFEN: 1: Enable Data Flash
BANK: 1:選擇 BANK1
0: Disable Data Flash
0:選擇 BANK0
※當您使用 SM59264 的 Data Flash 時,需設定 DFEN=1(Enable)
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
15
Ver. D 2009/03
Internal ISP Application Note
(e) ISPC: ISP Control Register (ISPC, $F7)
START Unused FAU0
Unused
Read/Write R/W
R/W
Reset Value 0
*
0
*
START: ISP 啟動位,設 1 時為啟動
FAU0:
SM59264:
Enable Data Flash 或 Disable Data Flash
Unused
*
Unused ISPF1
R/W
*
0
ISPF0
R/W
0
SM59128:
選擇 BANK0 或 BANK1
= 1:Enable 64K data flash
= 1: BANK1
= 0:Disable 64K data flash
= 0: BANK0
※當您使用 ISP 方式燒錄 SM59264 的 Data Flash 時,您的程式需設定 DFEN=1(Enable)。
※.SM5964 與 SM5964A 沒有 FAU0。
ISPF1
0
0
1
1
B-2
ISPF0
0
1
0
1
Generate baud rate with Timer1
Crystal
11.059MHz
12MHz
14.3184MHz
22.1184MHz
40MHz
B-3
ISP Function
Byte Program
Chip Protect
Page Erase
Chip Erase
Baud Rate
57600bit/s
12800bit/s
38400bit/s
115200bit/s
19200 bit/s
TH1/TL1
FFH
FBH
FEH
FFH
F5H
SMOD
1
1
1
1
1
Program Time
15“
53
53
10“
35“
IIC Setting
(a)Time
Crystal
22.1184MHz
40MHz
Delay Time
10us
10us
Code Size
64K
64K
(b)Port1 Configuration Register (P1CON, $9B)
IICSDAE
IICSCLE R
R
R
Reset Value 0
0
0
0
0
IICSDAE:選擇 P1.7 為 IIC 通道或一般 I/O. 1: IIC, 0: I/O
Program Time
30~35”
30~35“
R
0
R
0
R
0
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
16
Ver. D 2009/03
Internal ISP Application Note
IICSCLE:選擇 P1.6 為 IIC 通道或一般 I/O. 1: IIC, 0: I/O
(c)IIC Address Register(IICA, $C1)
IICA.7
IICA.6 IICA.5 IICA.4 IICA.3 IICA.2 IICA.1 EXTADDR
Reset Value 1
0
1
0
0
0
0
0
IICA[7:1] : IIC 地址,供 Master 識別
EXTADDR : IIC 擴充地址,提供 Master 對 Slave 作讀取的動作
= 1: Master read data from Slave
= 0: Master send data to Slave
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
17
Ver. D 2009/03
Internal ISP Application Note
附錄C 通訊協定
C-1
PC 端到 MCU 的通訊協定
Function
BYTE0
BYTE1
BYTE2
Chip Erase
00h
End1
55h
End2
AAh
01h
Start
Addr.
Hi
FF
02h
Start
Addr.
Hi
FFh
End1
55h
03h
FFh
End1
55h
End2
AAh
Program
(Code Flash)
Page Erase
(Code Flash)
(註 1)
Protect
BYTE3
BYTE4
BYTE5
BYTE6
BYTE7
(Start
Addr.
Hi)-2
FF.
End1
55h
End2
AAh
D0
BYTE
519
D511
(註 2)
End2
AAh
Start
Page Erase
End1
04h
FF
FF
Addr.
55h
(Data Flash)
Hi
Start
Start
Start
Start
Program
End1
End2
05h
D0
Addr.
Addr
Addr.
Addr
55h
AAh
(Data Flash)
Hi
Lo.
Hi+2
Lo.
MCU Reset
End1
End2
06h
FFh
FF
55h
AAh
(Data Flash)
註 1: 若需單獨執行 Page Erase(Code Flash)功能,請參考附錄 D-1
註 2: 新茂建議執行燒錄指令時須由後往前做燒錄,End_Address = (Start_Address_ Hi)-2
C-2
…
…
…
D511
MCU 到 PC 端的通訊協定
Function
Process OK
(Program_Setp1)
Process OK
(Program_Setp2)
Process OK
(Other)
Process FAIL
BYTE1
AAh
Check Sum
Lo Byte
Pass Code3
AAh
Fail Code3
57h
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
18
Ver. D 2009/03
Internal ISP Application Note
C-3
ISP 韌體程式流程圖
START
ISP & UART& IIC initialize
Select UART or IIC
Clear RI & Save
Check RXIF
SBUF to RAM
Save IICRxD to RAM
No
End of data trans.
Determine ISP
Chip Erase
Page Erase
Clear
(One Byte) Program
Protect
No
Process OK?
Send UART
Send UR Check Sum
Send IIC Read Addr.
Fail Code
Send IIC Read Addr.
Send IIC Fail Code
Send IIC Check Sum
No
Program Fail
Yes (Fail)
Page Erase
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
19
Ver. D 2009/03
Internal ISP Application Note
C-4
抹除流程圖
PC 端
MCU
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
20
Ver. D 2009/03
Internal ISP Application Note
C-5
燒錄流程圖
PC 端
MCU
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
21
Ver. D 2009/03
Internal ISP Application Note
C-6
頁抹除流程圖
PC 端
MCU
參考 Porgram
Function
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
22
Ver. D 2009/03
Internal ISP Application Note
C-7
保護流程圖
PC 端
MCU
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
23
Ver. D 2009/03
Internal ISP Application Note
C-8
MCU 重置流程圖
PC 端
MCU
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
24
Ver. D 2009/03
Internal ISP Application Note
附錄D 自行開發電腦應用程式及軔體注意事項
D-1
單獨執行 Page Erase(Code Flash)功能
自行開發電腦應用程式時,若使用 Page Erase(Code Flash)請注意下列事項:
由於新茂出廠之預設 ISP Boot Code(ISP_AUTO30C20050427.bin)設定當執行 Program(Code Flash)失敗時
才需使用 Page Erase(Code Flash)功能,故若單獨執行 Page Erase(Code Flash)功能會發生錯誤,有以下兩
種方法解決此問題。
ISP_AUTO30C20050427 原始程式:
IISP_PgeErs:
CJNE
R5 , #03H , Go_Fail
MOV
DPTR , #0001H
MOVX A , @DPTR
MOV
FADDRH , a
CJNE
A , Pgstr_Adr , Go_Fail
;Check Page Erase Address (Pgstr_Adr) Program Start Address
MOV
FADDRL , #00H
Start_PE1:
JB
ROM_TYPE,DFlh_PErs
MOV
FCMD , #82h
MOV
FCMD , #82h
JMP
CFlh_PErs
DFlh_PErs:
MOV
FCMD , #0a2h
MOV
FCMD , #0a2h
CFlh_PErs:
JMP
_FuncOk
;---------------------------------------------------------------------------------Init_Prg:
SETB
PEFLAG
MOV
Pgstr_Adr , FADDRH
;If Check Sum Fail Then Pgstr_Adr Use Page Erase Address Check
MOV
FADDRL , #0FFH
;---------------------------------------------------------------------------------1. 自行開發電腦應用程式:
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
25
Ver. D 2009/03
Internal ISP Application Note
在執行 Page Erase(Code Flash) 指令之前,先執行 Program(Code Flash)指令,使 Pgstr_Adr =
FADDRH(參考 ISP_AUTO30C20050427 原始程式),D0~D511 設為 0xFF
Function
BYTE0
Program
(Code Flash)
01h
Page Erase
(Code Flash)
02h
BYTE1
Start
Addr.
Hi
Start
Addr.
Hi
BYTE2
BYTE3
BYTE4
BYTE5
BYTE6
BYTE7
FF
Start
Addr.
Hi-2
FF.
End1
55h
End2
AAh
D0
FFh
End1
55h
End2
AAh
…
…
BYTE
519
D511
範例:
若需單獨執行 1E00~2000 的 Page Erase(Code Flash),指令設定於下表
Function
Program
(Code Flash)
Page Erase
(Code Flash)
2.
BYTE0
BYTE1
BYTE2
BYTE3
BYTE4
BYTE5
BYTE6
BYTE7
01h
1F
FF
1D
FF.
End1
55h
End2
AAh
FF
02h
1F
FFh
End1
55h
End2
AAh
…
…
BYTE
519
FF
自行開發 ISP Boot Code:
請參考以下範例紅色註記程式
IISP_PgeErs:
CJNE
R5 , #03H , Go_Fail
MOV
DPTR , #0001H
MOVX A , @DPTR
MOV
FADDRH , a
JNB
PEFLAG , SinglePE
CJNE
A , Pgstr_Adr , Go_Fail
;Check Page Erase Address (Pgstr_Adr) Program Start Address
SinglePE:
MOV
FADDRL , #00H
Start_PE1:
JB
ROM_TYPE,DFlh_PErs
MOV
FCMD , #82h
MOV
FCMD , #82h
JMP
CFlh_PErs
DFlh_PErs:
MOV
FCMD , #0a2h
MOV
FCMD , #0a2h
CFlh_PErs:
JMP
_FuncOk
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
26
Ver. D 2009/03
Internal ISP Application Note
;---------------------------------------------------------------------------------Init_Prg:
SETB
PEFLAG
MOV
Pgstr_Adr , FADDRH
;If Check Sum Fail Then Pgstr_Adr Use Page Erase Address Check
MOV
FADDRL , #0FFH
;----------------------------------------------------------------------------------
Specifications subject to change without notice, contact your sales representatives for the most recent information.
IRFSX-0009
27
Ver. D 2009/03