P0917HD輸入輸出模塊,FOXBORO實驗數據
通過按下并釋放上的Abort開關來調用AbortMVME197LE前面板。每當執行用戶時調用abort時程序(運行目標代碼),捕獲處理器狀態的“快照”并存儲在目標寄存器中。(在調試器中工作時,中止僅捕獲和存儲指令指針(IP)、狀態寄存器和格式/矢量信息)。因此,在以下情況下中止最合適:終止正在調試的用戶程序。中止應用于如果程序陷入循環等,則重新獲得控制。目標IP,寄存器內容等有助于查明故障。
P0917HD輸入輸出模塊按下并釋放中止開關會產生局部電路板條件如果啟用,可能會中斷處理器。目標寄存器,反映按下中止開關時的機器狀態顯示在屏幕。用戶代碼中安裝的任何斷點都將被刪除,并且斷點表保持不變。控件返回給調試器。打破按下并釋放按鈕上的“Break”(斷開)鍵可生成“Break”(斷開)終端鍵盤。中斷不會生成中斷。唯一的時差在控制臺端口發送或接收字符時識別。打破刪除用戶代碼中的任何斷點,并保留斷點表完整的如果函數為使用系統調用輸入。然后,用戶可以通過以下方式訪問此機器狀態:診斷目的。許多情況下,需要在調試之前終止調試器命令例如,完成一大塊內存的顯示。中斷允許用戶終止命令。SYSFAIL*斷言/否定在重置/通電條件下,調試器斷言VMEbus SYSFAIL*線路(參考VMEbus規范)。如果任何發生了以下情況:? 置信度測試失敗? NVRAM校驗和錯誤
? NVRAM電池電量低? 本地內存配置狀態? 自檢(如果系統模式)已完成,但出現錯誤
? MPU時鐘速度計算失敗調試器初始化完成后,上述任何情況均未發生發生時,SYSFAIL*行被取反。這向用戶或VMEbus指示掌握調試器的狀態。在多計算機配置中,其他VMEbus主機可以查看相關的控制和狀態寄存器確定哪個CPU正在斷言SYSFAIL*。SYSFAIL*斷言/否定為也受ENV命令的影響。參考附錄A。MPU時鐘速度計算計算微處理器的時鐘速度,并對照用戶進行檢查NVRAM中包含的可定義參數(請參閱ENV命令)。如果檢查失敗,將顯示警告消息。計算的時鐘速度也是對照已知的時鐘速度和公差進行檢查。
Abort is invoked by pressing and releasing the ABORT switch on the
MVME197LE front panel. Whenever abort is invoked when executing a user
program (running target code), a “snapshot” of the processor state is captured
and stored in the target registers. (When working in the debugger, abort
captures and stores only the Instruction Pointer (IP), status register, and
format/vector information). For this reason, abort is most appropriate when
terminating a user program that is being debugged. Abort should be used to
regain control if the program gets caught in a loop, etc. The target IP, register
contents, etc., help to pinpoint the malfunction.
Pressing and releasing the ABORT switch generates a local board condition
which may interrupt the processor if enabled. The target registers, reflecting
the machine state at the time the ABORT switch was pressed, are displayed on
the screen. Any breakpoints installed in the user code are removed and the
breakpoint table remains intact. Control is returned to the debugger.
Break
A “Break” is generated by pressing and releasing the BREAK key on the
terminal keyboard. Break does not generate an interrupt. The only time break
is recognized is when characters are sent or received by the console port. Break
removes any breakpoints in the user code and keeps the breakpoint table
intact. Break also takes a snapshot of the machine state if the function was
entered using SYSCALL. This machine state is then accessible to the user for
diagnostic purposes.
Many times it is desired to terminate a debugger command prior to its
completion, for example, the display of a large block of memory. Break allows
the user to terminate the command.SYSFAIL* Assertion/Negation
Upon a reset/power up condition the debugger asserts the VMEbus SYSFAIL*
line (refer to the VMEbus specification). SYSFAIL* stays asserted if any of the
following has occurred:
? confidence test failure
? NVRAM checksum error
? NVRAM low battery condition
? local memory configuration status
? self test (if system mode) has completed with error
? MPU clock speed calculation failure
After debugger initialization is done and any of the above situations has not
occurred, the SYSFAIL* line is negated. This indicates to the user or VMEbus
masters the state of the debugger. In a multi-computer configuration, other
VMEbus masters could view the pertinent control and status registers to
determine which CPU is asserting SYSFAIL*. SYSFAIL* assertion/negation is
also affected by the ENV command. Refer to Appendix A.
MPU Clock Speed Calculation
The clock speed of the microprocessor is calculated and checked against a user
definable parameter housed in NVRAM (refer to the ENV command). If the
check fails, a warning message is displayed. The calculated clock speed is also
checked against known clock speeds and tolerances.