SSI Application Note Version:0.2d : 改版說明1. 系統需求2. 快速安裝

SSI Application Note Version:0.2d :
改版說明
1. 系統需求
2. 快速安裝指南
2A. SSI 下載
2B. PC 設定
2C. 硬體模擬器操作說明
2D. 軟體模擬器操作說明
3. 問題回覆
3A. 問題回覆表
3B. 常見問題
改版說明:
0.2d 2003/08/08
新增其它 IDE 相關問題 Q7/Q8/Q9
新增 Zardoz 相關問題 Q3
0.2c 2003/07/25
修正常見問題分類
更正其它 IDE 相關問題 Q6
新增 Zardoz 相關問題 Q2
0.2b 2003/07/15
2003/07/16
更新新增 2500AD 參數說明
更新未定義記憶體區段說明
0.2a 2003/05/30
修正 EVB 說明
新增常見問題
0.1
原始版本
系統需求
電腦硬體需求配備如下
1.
2.
3.
4.
5.
6.
7.
Pentium-II 等級以上電腦 (建議 PIII-600 等級以上)
主記憶體 128MB 以上 (建議 256MB 以上)
Print Port 必須支援 EPP 1.7
八倍速以上光碟機 (建議 24 倍速以上 CD-ROM 或 4X 以上 DVD-ROM)
顯示卡及螢幕需支援解析度 1024x768 16Bit 以上 (建議 1024x768 32bit)
鍵盤/滑鼠
可用硬碟空間 100MB (建議預留 256MB 以上空間)
支援作業系統
Windows98SE
WindowsME
Windows2000
WindowsXP
2.快速安裝指南
2A. SSI 下載 (www.sitronix.com.tw\tdd)
Sitronix Smart ICE:
SSI 開發系統
項
目
檔案大小 更新日期
檔 案 說 明
SSI-0.3.0.1.9.16:
2798K
92/05/26
SSI 開發系統,包含 ST2100,ST2104,ST2108,ST2202,ST2204
BIOS-0526:
41K
92/05/26
有關硬體 ICE 的 BIOS 更新 ROM code.
SSI 相關文件
項
目
檔案大小 更新日期
檔 案 說 明
User Manual:
3740K
92/04/23
SSI 完整說明,下載後請將此檔案放置在 SSI 開發系統的目錄內
Application Note:
945K
92/05/30
關於 SSI 快速上手的參考文件(PDF 格式)
問題回覆表:
8K
92/05/26
如遇使用上的問題請以此格式紀錄問題重複步驟並以 E-mail 寄
回
測試檔案
項
目
檔案大小 更新日期
檔 案 說 明
ST2100-sample:
88K
92/04/17
有關 ST2100 的 sample code.
ST2202-sample:
276K
92/04/17
有關 ST2202 的 sample code.
安裝說明:
1. 將 SSI 開發系統完整解壓縮到硬碟內即可使用。
2. SSI.EXE 為程式執行檔。
3. SSI Ver:0.2 Build:0.1.8.13 以後之版本,當 SSI 啟動時,如果是作業系統是 Win2000 或 WinXP,系統會自動檢查
並安裝 Driver。
4.SSI-0.3.0.1.9.16 需配合 BIOS-0526 硬體 BIOS。
5.舊版 0.2 Build 0.1.8.13 使用者如於 Windows2000/XP 有無法進入休眠之問題,請下載 SSI-0.3.0.1.9.16 以後之版本,
並於執行前先至裝置管理員移除 OSSTI (Port) Driver,第一次執行時請待 SSI Logo 消失後再點選確定安裝。
2B. PC 設定 (LPT = EPP1.7) 以 AwardBIOS 為例
2C. 硬體模擬器操作說明
ROM_1
1.
2.
3.
4.
ROM_2
ROM_1 : ICE 程式 (若有新版下載更新時請注意應使用 32Pin 之 P_ROM 或 Flash)。
ROM_2 : 8051 程式 (請使用 28Pin 之 P_ROM 或 Flash)。
VOLTAGE ADAPTOR :系統電壓調整 VR,此處於 ICE 出廠時已經過校正,請勿自行更動。
TARGET BOARD CONNECTOR : 60Pin 排線母座,連接 ICE/模擬版(EVB)/及外部記憶體擴充
版。
5. EXT CLOCK : 外部震盪源輸入,若使用外部震盪源請參考 IDE 頻率設定一節。
6. DIP SWITCH : 功能調整 DIP 開關,請將編號 4 開關打開(Turn ON)。
7. PRINT PORT CONNECTOR : LTP 連接埠公座,用來連接 PC 與 ICE (請確認 LTP 設定為
EPP1.7)。
8. POWER LED : 電源指示燈。
60 pins 排線 : 用來連接連接 ICE/模擬版(EVB)/及外部記憶體擴充版。
EVB配置說明:
Reset:Reset 按鍵
A. 13 Pin LCD 模組接頭
B. PSG 輸出接頭
C. PSG Power source switch jumper(Short: From EVB / Open: From Ext-Power)
D. Program ROM
E. OSC/RC 振盪元件
F. X’ TAL 選用插座
J5: Program source 選擇:
(1-2):External
(2-3):Internal ROM
J7: Clock source 選擇:
(Open):RC or ICE
(2-3): X’TAL
連接ICE 操作範例說明:
1. 將“D” , “E” , “F” 移除。
2.
3.
4.
5.
6.
使J5 / J7成為開路。
連接LCD模組到13 Pin LCD Connector。
將Buzzer連接到PSG輸出接頭。
調整PSG Power source switch jumper。
連接60 Pin ICE接頭到ST-ICE board。
7. 使用cable連接電腦Parallel port(需調整為EPP mode)到ICE board。
8. 連接9V電源到ICE board。
9. 一切連接妥當後先打開ICE電源,在執行SSI程式。
EVB Standalone:
1.
2.
3.
4.
5.
6.
7.
將程式ROM放入“D”。
選擇合適的OSC “E” or “F” 。
調整好J5 / J7 。
連接LCD模組到13 Pin LCD Connector。
將Buzzer連接到PSG輸出接頭。
調整PSG Power source switch jumper。
接上電源即可操作。
記憶體擴充:
當ST2204 EVB連接ICE使用,如果記憶體大於ICE內含之512K bytes時,需要在外部做線路擴充,
可從60Pin排線的中央將線路引出,加上兩顆74LS32 IC擴充即可,參考線路如下:
左邊接頭為原始引出接頭,右邊接頭訊號可直接連到擴充記憶體
PS. Standalone使用時,可直接擴充記憶體不需經過74LS32 IC.
操作步驟:
1. 安裝 ICE 程式(ROM_1) 及 8051 程式(ROM_2)。
2. 已印表機連接線(或數據機連接線)連接 PC 與 ICE (請勿使用 LL3 專用連接線)。
3. 使用 60Pin 排線連接 ICE 與 EVB。
4. 檢查 ICE 上的 DIP Switch 是否將編號四開關打開(Turn ON)。
5. 將 ICE 與 EVB 接上 9V 專用電源變壓器(交換式變壓器)。
6. 開啟 SSI 程式並選擇硬體 ICE,開始使用。
PS : 1.如果程式大於 512K Byte,則必須使用外部記憶體擴充版,此時請將外埠記憶體擴充版連接
至 60Pin 排線的中央連接頭。
2.在 512K Byte 的程式區段範圍內可以設定任意斷點,但超出 512K Byte 的範圍僅能設定 3 組
斷點
3.當程式使用超過 16M Bytes 時,0~16M Bytes 這個區間所設定的斷點有可能被觸發。
2D. 軟體模擬器操作說明
功能:
模擬硬體 ICE 功能,提供使用者在沒有硬體模擬器的環境中做程式除錯的工作。目前模擬器提供
指令執行、LCD 面版顯示與鍵盤模擬外,LCD 面版並支援最高 16 灰階(15 frames)顯示。
操作說明:
1. 軟體模擬器主視窗
軟體模擬器主視窗如圖 C-1 所示。此視窗包含三個命令按鈕,分別用來控制模擬器是否顯示 LCD
視窗、Keyboard 視窗以及軟體模擬器的設定視窗(註:Setup 命令按鈕必須在模擬器停止的狀態
下才可點選)。
圖 C-1
2. LCD 視窗
圖 C-2 所示為按下 “Show LCD” 命令按鈕後,系統所顯示的 LCD 面版模擬視窗。視窗中左上角
所顯示的 “160x80”表示的是目前視窗為模擬 160*80 pixel LCD 顯示畫面。利用滑鼠左鍵可以拖
放此視窗到螢幕的任何一個位置,而在此視窗內按下滑鼠右鍵叫出下拉選單,可將目前 LCD 畫
面儲存至 Bitmap 影像檔。
圖 C-2
3.
Keyboard 視窗
圖 C-3 所示為按下 “Show Keyboard” 命令按鈕後,系統所顯示的 Keyboard 模擬視窗。視窗中的
每個命令按鈕的接線與排版均為使用者自行定義,詳細設定方法請參考第 4 點的說明。模擬器
相對應的控制暫存器在使用者按下 Keyboard 模擬視窗中的按鈕時,均會反映出相對應的值;而
當使用者放開滑鼠按鍵時,相對應的暫存器值也會有所變化。使用者的程式可以依照暫存器內
的值正確的偵測出鍵盤事件的發生以及哪個按鈕被按下。
圖 C-3
4. 設定視窗(Setup Window)
設定視窗如圖 C-4 所示,此視窗共有四個分頁,分別可以用來設定 Keyboard、Pin Option、
Hardware、以及 LCD。當使用者針對個別的選項做好調整後,必須按下此視窗下方的“Save”命
令按鈕以更新並儲存目前的設定。每次啟動軟體模擬器時,將以最後一次存檔時的設定作為預
設值。另外使用者也可以按下“Load”命令按鈕載入一個先前儲存過的設定檔,以快速切換不同的
設定,在此按鈕左方所顯示的文字即為目前設定檔的所在位置與檔案名稱。以下就分別針對這
四個分頁的操作做一說明。
圖 C-4
4.1 Keyboard Setup
點選 Keyboard 分頁,可以看到如圖 C-4 所示的視窗。使用者可以在此分頁中設定鍵盤的寬度與
高度、鍵盤上每個行與列所接到的 IO Pin、以及鍵盤上每個按鍵的文字說明。首先點選此分頁中
的“Clear”命令按鈕,可以清除目前的鍵盤設定,使用者輸入所欲定義的鍵盤寬度以及高度後,
按下“Done”命令按鈕,視窗下方即會出現使用者設定的鍵盤陣列,點選陣列中的每一個欄位以
輸入特定按鈕的文字說明。每個行(列)的下拉式選單,用來設定鍵盤上該行(列)接到哪一
個 IO Pin。在設定 IO Pin 時須注意的是如果將一 IO Pin 重複接到兩個不同的行或列上,按下“Save”
按鈕欲儲存此次的設定時,系統將發出警告的訊息,使用者必須更正這些錯誤,才可順利儲存
設定檔。在此視窗右上角的部分有一個 “Short Time of Keys”的設定,用來決定當使用者點選
Keyboard 視窗上的某個按鈕時,此按鈕相對應的兩個 IO Port 相接的時間。另外,當使用者按著
Keyboard 視窗上的按鈕不放時,則相對應的兩個 IO Port 會一直維持相接的狀態直到放開該按鈕
為止。
4.2 Pin Option Setup
圖 C-5 所示為點選 Pin Option 分頁視窗的畫面。此視窗提供使用者依照個別需求,將選取的 IO Pin
做接地或接電源,而模擬器內相關控制暫存器的值,會依照設定而為 0 或 1。Pin Option 選項可
以應用於讀取特定控制暫存器內的值以控制程式流程。
圖 C-5
4.3 Hardware Setup
圖 C-6 所示為點選 Hardware 分頁視窗的畫面。此視窗提供使用者設定模擬器的 ROM Size 以及
是否要啟動記憶體讀寫的自動錯誤偵測功能。軟體模擬器會根據這兩個設定值,監督使用者程
式對於記憶體的使用是否有不合法的動作;例如讀取不存在的記憶體區段、寫入資料到 ROM 中
等不合法的動作,在啟動自動錯誤偵測功能時,系統都會發出警告並停止模擬器的執行。
圖 C-6
4.4 LCD Setup
圖 C-7 所示為點選 LCD 分頁視窗的畫面。此視窗提供使用者設定 LCD 類型、顯示模式、大小、
前景色與背景色。LCD 類型用來決定 LCD 行與列的接腳排列方式,Normal 選項將行與列依接
腳編號排列,而 Customer1 與 Customer2 的排列方式則為不規則排列,一般使用者請點選 Normal
選項。LCD 顯示模式用來決定 COM-0 與 SEG-0 在 LCD 的位置,其中 COM-0 在第 0 列 SEG-0
在第 0 行,為標準的設定值。LCD 大小的設定用來決定 LCD 視窗的大小,需注意的是此設定與
使用者程式寫入 LCD 控制暫存器內的值是獨立的;如果使用者視窗的大小設定與控制暫存器內
的值不同時,在 LCD 視窗中可能會只看到部分的畫面或是空白區域。前景色的設定,用來告知
軟體模擬器是否要啟用軟體灰階的模擬,當使用者選擇 Monochrome 選項時,模擬器將關閉軟體
灰階的模擬功能;而選擇 Grayscale 選項時,還需進一步點選程式使用的灰階度,模擬器將啟動
軟體灰階的模擬功能,於 LCD 視窗中顯示軟體灰階的效果,圖 C-8 與圖 C-9 分別為同一程式在
無/有啟動灰階模擬功能的 LCD 視窗顯示範例。背景色的選項決定 LCD 背景為綠底或白底,圖
C-7 中分別顯示了兩種選項的 LCD 視窗畫面。
圖 C-7
圖 C-9
圖 C-8
3A.問題回覆表
若有使用上的問題請將 SSI 目錄內的”SSI 問題回覆表”填妥寄回
[email protected]
作業系統
PC 環境
模擬器種類
□ W in98
□ W in98SE
□ W i n XP
□ Win2000
CPU 等級:
/
記憶體:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
其它問題描述:
MB
□ Software ICE
□ Hardware ICE
步驟
□ W inME
問
Project
分類(勿填)
□ 2500AD-C
□ Zardoz
□ 2500AD-ASM
□ IAR-C
□ Binary
□ I D E / □ Ha rd wa r e / □ S oft war e
驗證人(勿填)
題 重 現 步 驟 描
述
備 註
3B. 常見問題
I.2500AD 相關問題
II.Zardoz 相關問題
III.IAR 相關問題
IV.其它 IDE 相關問題
I.2500AD 相關問題
Q1.為何 2500AD Project 在更改目錄後無法重新 Build?
A1. 使用2500 Project 時 -D參數注意事項如下:
當ASM 檔案 與OBJ 檔案混用的情況發生時
若Assembler在建立OBJ檔案的過程中有下-D參數時,所產生的OBJ檔將會紀錄磁碟目錄資訊
因此若將此Project拷貝至不同目錄時,有可能發生無法重新組譯的問題,此時解決方法有兩種
1.重新依照該OBJ檔原始ASM在該目錄內重新作組譯(建議拿掉-D參數)
2.更改專案所在路徑至原始建立該OBJ的狀態
II.Zardoz 相關問題
Q1.當我使用 Windows98 配合 Zardoz 專案執行 Debug 時,常會發生 Linking Error!
A1.Environment -> Debugger Option -> Misc -> ZARDOZ Option (Windows 2000/XP)
=>該選項僅有當使用者的作業系統為 Windows2000 或 XP 且預計使用 ZARDOZ 專案時才勾
選,再某些特定安裝 Windows98 的電腦上勾選此一選項可能發生 Linking Error 的情況。
2003/07/25
Q2.為何我使用 Zardoz 專案時 Variable 顯示?????(如下圖表 1)
A2. 使用 SSI 來操作 Zardoz Project 時可能出現以下圖表 1 之錯誤狀況
圖表 1
圖表 2
造成以上圖表 1 錯誤通常是因為程式在組譯後沒有產生 SSI 所需要的變數資訊,
倘若.MAP 檔案資訊正確應該得到如上圖表 2 結果:
一般而言可由組譯後的.MAP 檔來作判斷,如下表格所示:
Section PAGE0:
00000080 _BEG_PAGE0
00000091 _END_PAGE0
Section PAGE0:
00000080 _BEG_PAGE0
00000091 _END_PAGE0
Section CODE:
00004000 _BEG_CODE
00008000 _END_CODE
Section CODE:
00004000 _BEG_CODE
00008000 _END_CODE
.
.
.
(以下空白)
ABSOLUTES:
00000000 PA
00000001 PB
00000002 PC
.
.
.
0000003c IREQ
0000003c IREQL
0000003d IREQH
0000003e IENA
表格 1
表格 2
以上分別為正確(表格 1) /錯誤(表格 2) .MAP 檔案內容,由兩表對照可了解為何變數無法正常顯示。
而造成.MAP 檔資訊錯誤的情況使用者可自行對照下列兩組參數:
a. ZAS –GLVS ASM
b. ZAS –GLSV ASM
其中狀況 a 會造成連結完成後的.MAP 檔案遺失大量資訊(如表格 2)。
以 SSI 來操作時必要的 ZAS 參數為 –GLS
G: Assembly source level information
L: Generate listing file [.LST]
S: Include local symbols
Link 參數為 –G –HIE –T
意義如下:
至於在 SSI 中如何設定 Zardoz Assembler 參數如下圖表 3:
Project Option -> Tool Options -> Assembler Options
其中 Use Extended Memory 選項係指 Linker 參數 –X
圖表 3
2003/8/8
Q3.當我使用 SSI 配合 Zardoz 專案執行 Debug 時,為何 Hardware Simulator 與 Software
Simulator 對於 CMP 指令的 Z 旗標反應不同?
A3.2003/08/08 之前的 Software ICE 版本操作 CMP 指令對於 Z 旗標的反應的確與真實 Hardware
狀態不同,新版 Software ICE 已修正這個問題,請至 www.sitornix.com.tw/tdd 下載更新。
III.IAR 相關問題
Q1.為何在 IAR 中可以正確通過 Compiler 的程式經由 SSI 來操作卻無法正常 Compiler?
A1.SSI係一整合性開發環境,本身並不提供Compiler/Linker的功能,SSI會透過呼叫
Compiler/Linker的方式來建立Project,有鑑於此應該不至於發生在純IAR環境與透過SSI呼叫
的結果不同的問題;目前已知僅有少數使用到瀕臨記憶體極限的Project有可能發生透過SSI
呼叫編譯程式無法正常操作的情形;大多數的類似情況均可由下列程序排除問題:
a.確認Compiler/Linker參數
b.確認路徑(Include Files / Compiler / Linker Path)
使用2500 Project 時 -D參數注意事項如下:
當ASM 檔案 與OBJ 檔案混用的情況發生時
若Assembler在建立OBJ檔案的過程中有下-D參數時,所產生的OBJ檔將會紀錄磁碟目錄資訊
因此若將此Project拷貝至不同目錄時,有可能發生無法重新組譯的問題,此時解決方法有兩種
1.重新依照該OBJ檔原始ASM在該目錄內重新作組譯(建議拿掉-D參數)
2.更改專案所在路徑至原始建立該OBJ的狀態
IV.其它 IDE 相關問題
Q1.為何我在 Windows2000/WindowsXP 作業系統下無法連線?
A1.舊版 SSI(Ver0.2 Build0.1.8.13)之前版本,必須由使用者自行安裝 LPT Port Driver;強
烈建議將 SSI Upgrade 至 www.sitronix.com.tw\tdd 網頁上的最新版,(請於安裝執行前至”
控制台->裝置管理員”,移除 OSSTI Port Driver);當執行新版 SSI 時,程式會自動偵測安
裝 LPT Driver。
Q2.為何我在 Windows98 作業系統下,執行 SSI 一段時間後會出現一些錯誤訊息視窗,而相同
的流程於剛開始執行 SSI 時卻不會有問題?
A2.於 Windows98 中由於作業系統記憶體管理的問題,當使用者於背景執行其他程式或執行常
駐程式時,可能會影響 SSI 的運作,因此建議使用者在 SSI 執行過程中盡量不要執行其他常駐
程式,如果於 SSI 使用過程還是經常遇到問題,可以使用專為 Windows98 設計的記憶體釋放程
式,並適當的擴充電腦的記憶體。
Q3.當我用硬體 ICE 作 Debug 時,發現 ICE Board 上有些元件特別燙,請問這是正常的嗎?
A3.一般而言 ICE Board 上的每顆元件都不建議使用者用手直接接觸,以防止靜電破壞;而正
常使用下僅有電源插座旁的兩顆穩壓 IC 溫度稍高;請確定一下你所使用的變壓器是否是隨 ICE
附上的交換式 9V 1A 變壓器,請勿任意替換成傳統非交換式的變壓器,儘管規格標示相同;如
果確認後狀況依舊請與矽創 FAE 聯繫。
Q4.當我參照 SSI User Guide 使用 SSI 系統時,發現部分視窗與手冊提及的內容有些差異!
A4.目前 SSI User Guide 的版本為 0.1a,而 IDE 持續有些許修正,因此有些差異,我們將持
續更新手冊及軟體,使用者可上 www.sitronix.com.tw\tdd 留意更新資訊。
Q5.倘若我有其它手冊及 FAQ 上沒有提及的問題,請問要如何快速得到解答?
A5.強烈建議使用者在開始使用 SSI 系統之前,參考 SSI Application Note ,並於操作期間
同步配合 SSI User Guide 的說明,並且注意軟硬體的 Update;一般而言大多數操作上的問題
都可以因此解決;倘若還有其它問題的話,最快的解決方式是填妥” SSI 問題回覆表”並以
E_Mail 寄回矽創給 FAE 或下列地址…
[email protected]
2003/07/16
Q6.為何使用 2202 Debugger 時,無法 Access 特定 Address,並出現下列 Information?
A6.出現以上Error Message表示使用到的記憶體區段未正確設定
=> 例如 PFD/CSM/PMCR 等Control Register設定錯誤
請確認所用到的記憶體區段及相關設定是否正確。
2003/07/30 From Karry
Q7.為何使用SSI操作2204時,ICE為何LCD每行無法顯示超過256點?(附上有問題的Project)
A7. I.請確認LVPW/LXMAX的設定。
II.請確認該程式將欲顯示之資料於記憶體中的配置方式是否正確。
2003/08/04
Q8.以下列程序操作為何無法選擇 System Clock
Environment -> Debugger -> CPU Model -> Hardware -> ICE Setting
A8.選擇System Clock 之前請先確認CPU Model,步驟如下
Environment -> Debugger -> CPU Model -> OK
Environment -> Hardware -> ICE Setting -> Select System Clock
2003/08/07
Q9.使用Hardware Simulator時,無法Dump Trace Memory 並出現下列錯誤。
A9.請至www.sitronix.com.tw/tdd 下載2003/08/07以後版本之BIOS更新,即可解決。