MECS CS-1000工控元器件,CS-1000培训教程
MPCR状态代码MPCR中存储的状态代码有两种类型:
❏ 返回的状态(来自187Bug)
❏ 总线主机设置的命令(某些用户请求的作业处理器)
可能从187Bug返回的状态代码为:总线主机可以设置的命令代码为:
多处理器地址寄存器(MPAR)多处理器地址寄存器(MPAR),位于共享调试器基址的3004美元偏移量的RAM位置将其加载到,包含用于控制的两个单词中的第二个处理器之间的通信。
MECS CS-1000工控元器件MPAR内容规定物理地址(从本地处理器查看),其中
如果MPCR包含G或B、 MPAR组织如下:MPCR通电顺序
1.通电时,调试监视器自检例程初始化RAM,包括用于支持多处理器的内存位置(3000美元至3007美元)。2.MPCR在通电时包含$00,表示初始化尚未完成。
十六进制0(十六进制00)--等待。初始化尚未完成。
ASCII R(十六进制52)--就绪。固件监视器正在监视更改。
ASCII E(十六进制45)--正在执行MPAR指向的代码。
ASCII G(十六进制47)--使用Go Direct(GD)逻辑指定MPAR地址。
ASCII B(十六进制42)--使用Go(G)逻辑识别断点。
基址+3004美元**3。随着初始化的进行,执行路径到达“提示”例程。在发送提示之前,此例程在MPCR指示初始化完成。然后发送提示。
–如果没有终端连接到端口,则MPCR仍为轮询以查看外部处理器是否需要要传递给双端口RAM的控制。–如果终端确实响应,则会轮询MPCR以获取在为用户轮询串行端口时的相同用途输入
–由远程处理器放置在MPCR中的ASCII G指示请求直接传输类型。
–MPCR中的ASCII B表示断点要在控制权转移之前武装起来(如围棋命令)。
在任一序列中,在MPCR中放置一个E以指示就在控制权移交给内存(任何远程处理器都可以检查MPCR内容。)4.如果在双端口RAM中执行的代码要重新输入调试监视器,使用函数$0063的陷阱#496调用(SYSCALL.RETURN)使用新的显示提示。
请注意,每次调试监视器返回提示时,将R移到MPCR中以指示该控件可以再次传输到指定的RAM位置。
MPCR Status Codes
The status codes stored in the MPCR are of two types:
❏ Status returned (from 187Bug)
❏ Command set by the bus master (job requested by some
processor)
The status codes that may be returned from 187Bug are:
The command code that may be set by the bus master is:
Multiprocessor Address Register (MPAR)
The Multiprocessor Address Register (MPAR), located in shared
RAM location of $3004 offset from the base address the debugger
loads it at, contains the second of two words used to control
communication between processors. The MPAR contents specify
the physical address (as viewed from the local processor) at which
execution for this processor is to begin if the MPCR contains a G or
B. The MPAR is organized as follows:
MPCR Powerup Sequence
1. At powerup, the debug monitor self-test routines initialize
RAM, including the memory locations used for multiprocessor support ($3000 through $3007).
2. The MPCR contains $00 at powerup, indicating that
initialization is not yet complete.
HEX 0 (HEX 00) -- Wait. Initialization not yet complete.
ASCII R (HEX 52) -- Ready. The firmware monitor is watching for a change.
ASCII E (HEX 45) -- Code pointed to by the MPAR is executing.
ASCII G (HEX 47) -- Use Go Direct (GD) logic specifying the MPAR address.
ASCII B (HEX 42) -- Recognize breakpoints using the Go (G) logic.
Base Address + $3004 * * 3. As the initialization proceeds, the execution path comes to the
"prompt" routine.
Before sending the prompt, this routine places an R in the
MPCR to indicate that initialization is complete. Then the
prompt is sent.
– If no terminal is connected to the port, the MPCR is still
polled to see whether an external processor requires
control to be passed to the dual-port RAM.
– If a terminal does respond, the MPCR is polled for the
same purpose while the serial port is being polled for user
input.
– An ASCII G placed in the MPCR by a remote processor
indicates that the Go Direct type of transfer is requested.
– An ASCII B in the MPCR indicates that breakpoints are to
be armed before control is transferred (as with the GO
command).
In either sequence, an E is placed in the MPCR to indicate
that execution is underway just before control is passed to
RAM. (Any remote processor could examine the MPCR
contents.)
4. If the code being executed in dual-port RAM is to reenter the
debug monitor, a TRAP #496 call using function $0063
(SYSCALL .RETURN) returns control to the monitor with a
new display prompt.
Note that every time the debug monitor returns to the
prompt, an R is moved into the MPCR to indicate that control
can be transferred once again to a specified RAM location.