ACC-72EX User Manual
DPRAM Data Processing
68
Reset Command
System Reset vs. Channel Initialization
There are several methods to restart the netX firmware. The first is called “System Reset.” The System
Reset affects the netX operating system, rcX, and the protocol stacks. It forces the chip to immediately
stop all running protocol stacks and the rcX itself. During the system reset, the netX is performing an
internal memory check and other functions to insure the integrity of the netX chip itself.
The Channel Initialization, as the second method, affects a communication channel only. The channel
firmware then reads and evaluates the configuration settings (or SYCON.net database, if available) again.
The operating system is not affected. There are no particular tests performed during a channel
initialization.
A third method to reset the netX chip is called Boot Start. No firmware is started when a System Reset is
executed with the boot start flag set. The netX remains in boot loader mode.
Note
A System Reset, Channel Initialization, and boot start may cause all
network connection to be interrupted immediately, regardless of their
current state.
During a HW-Reset and the time when the 2nd stage loader starts the
Firmware, the content of the dual port memory can be 0xFFFF or
0x0BAD for a short period of time.
When used with Turbo PMAC2 CPU, it is necessary to reset the
COMX module for proper functionality after initial power up, cycle
power, or a $$$ or $$$*** command.
Resetting netX through Dual-Port Memory
To reset the entire netX firmware, the host application has to set the HSF_RESET bit in the
bHostSysFlags register to perform a system-wide reset and respectively the APP_COS_INIT flag for a
channel initialization in the ulApplicationCOS variable in the control block of the channel. The system
reset and the channel initialization are handled differently by the firmware (see above).
System Reset
To reset the netX operating system rcX and all communication channels, the host application has to write
$55AA55AA (System Reset Cookie) to the ulSystemCommandCOS variable in the system control block.
Then, the HSF_RESET flag in bHostSysFlags has to be set. If the operating system does not find
$55AA55AA in the ulSystemCommandCOS variable, the reset command will be ignored.
The operating system clears the NSF_READY flag in bNetxFlags in the system handshake register,
indicating that the system-wide reset is in progress. During the reset, all communication channel tasks are
stopped, regardless of their current state. The rcX operating system flushes the entire dual-port memory
and writes all memory locations to zero. After the reset, if rcX is finished without complications, and all
protocol stacks are started properly, the NSF_READY flag is set again. Otherwise, the NSF_ERROR flag
in bNetxFlags in the system handshake register is set, and an error code is written in ulSystemError in the
system status block (see page 46), which helps identify possible problems.