Ironics IV3234 CPU Bootup Sequence
The Ironics serial card acts very much like the Matrix CPU at bootup:
-
Jumps to an entry point in EPROM.
-
The EPROM code copies the kernel image and serial data acquisition
code from EPROM to system RAM.
-
Jumps to an entry point in RAM which initializes the hardware and configures
the network, using the boot parameters that are stored in non-volatile
(battery backed) RAM.
-
Executes the usrStartup procedure, which performs the remaining steps.
-
Fetch the serial data acquistion configuration from the adamserver
process on the base system
-
Initialize the serial ports
-
Establish a socket connection to the sync process on the Matrix card
-
Start the serial data acquisition processes.
Ironics IV3234 Bootup Output
On bootup, the Ironics card should send the following messages to the console
port. If problems are encountered, connect a PC with communications software,
configured for 9600 baud, no parity, 8 data bits to Port A (it may
be labeled as the console port) on the top of the Ironics card. This
console port is not accessible from the outside of the adam. A straight-through
male DB-9 to female DB-9 serial cable works with a typical 9-pin serial
port on a PC.
Annotations describing the sequence are shown in red, on the right.
At this point, the Ironics is executing
from RAM.
Backplane anchor at 0x400600... Attaching network interface sm0...
done.
Attaching network interface lo0... done.
NFS not included.
Adding 2216 symbols for standalone.
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]] ]]]]
]]]]]]]]]] ]]
]]]] (R)
] ]]]]]]]]] ]]]]]]
]]]]]]]] ]]
]]]]
]] ]]]]]]] ]]]]]]]]
]]]]]] ] ]]
]]]]
]]] ]]]]] ] ]]]
] ]]]] ]]] ]]]]]]]]] ]]]] ]]
]]]] ]] ]]]]]
]]]] ]]] ]]
] ]]] ]] ]]]]] ]]]]]] ]] ]]]]]]]
]]]] ]] ]]]]
]]]]] ] ]]]]
]]]]] ]]]]]]]] ]]]] ]] ]]]]
]]]]]]] ]]]]
]]]]]] ]]]]]
]]]]]] ] ]]]]] ]]]] ]] ]]]]
]]]]]]]] ]]]]
]]]]]]] ]]]]] ]
]]]]]] ] ]]] ]]]] ]] ]]]]
]]]] ]]]] ]]]]
]]]]]]]] ]]]]] ]]] ]]]]]]]
] ]]]]]]] ]]]] ]]]]
]]]] ]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
Development System
]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]
VxWorks version 5.1.1
]]]]]]]]]]]]]]]]]]]]]]]]]]
KERNEL: WIND version 2.4
]]]]]]]]]]]]]]]]]]]]]]]]]
Copyright Wind River Systems, Inc., 1984-1993
CPU: Ironics IV-3234. Processor #1.
Memory Size: 0x3fff00. BSP version 1.0.
start of usrStartup routine
usrStartup ...
calls adamserver hosts
calls adamserver rdate
waits for socket connection to sync process on
Matrix
-> 0x3de9ac (serialio): serialio> sync_host address
is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
0x3de9ac (serialio): serialio> trying to
connect again...
0x3de9ac (serialio): serialio> sync_host
address is 128.117.80.172
0x3de9ac (serialio): sync_host connected
socket connection to sync process
on Matrix is established
calls adamserver configintto
get value for "iv3234_base_chan"
calls adamstatus systemttaddr remote procedure
on matrix to get shared address of system clock counter
initializes serial ports
starts serial data acquisiton
starts rserial process
NAME
ENTRY TID
SIZE CUR HIGH MARGIN
------------ ------------ -------- -----
----- ----- ------
tExcTask _excTask
3fa578 7988 152 220
7768
tLogTask _logTask
3f7c78 4988 156 880
4108
tRlogind _rlogind
3ea648 4988 508 716
4272
startup _usrStartup
3e4650 6992 76 3676
3316
tNetTask _netTask
3edaec 9988 88 712
9276
serialMsgHan _serialMsgHa 3d38e0
3980 2208 2276 1704
portPrompter _portPrompte 3d27b0
1484 140 208 1276
serialio _serialio
3de9ac 3988 644 2348 1640
rserial_recv 0x0000006d9c 3c5988
3984 40 40 3944
tShell
_shell 3e6ef0 9324
804 924 8400
tPortmapd _portmapd
3e9130 4988 308 1112 3876
siostatus _siostatus
3dd87c 2988 288 1572 1416
INTERRUPT
1000 0 272 728
0x3e4650 (startup): <134> yarrow booted
usrStartup done.
0x3c5988 (rserial_recv): receive_side> Listening
to client
0x3c5988 (rserial_recv): receive_side> Accepting
CLIENT
prints out stack table of running
tasks
Successful boot!
Ironics Boot Parameters
As is the case on the Matrix CPU card, several parameters are stored in
battery-backed RAM on the Ironics. These include the hostname and IP address
of the Ironics (known in the VxWorks operating system as the "target"),
the IP address of the Matrix card on the backplane network, and the hostname
and IP address of the base server (known in VxWorks as the "host")
Displaying Boot Parameters
To dislay the current value of the boot parameters, do "bootParamsShow(0x700)"
at the VxWorks prompt (->):
-> bootParamsShow(0x700)
boot device
: sm=0x400600 Name
of network device, always "sm=0x400600"
processor number : 1
Always 1
host name
: array
Hostname of base server
inet on backplane (b): 192.168.4.31
IP address & netmask of Ironics "backplane"
network interface
host inet (h) : 192.168.4.10
IP address of base server
gateway inet (g) : 192.168.4.30
IP address of Matrix card on backplane network
user (u)
: aster
Not used on Ironics
flags (f)
: 0x108
Boot flags
target name (tn) : yarrow
Hostname of Ironics card
value = 1 = 0x1
->
Other parameters may be displayed, but are not used in the present version
of software on the adams.
Changing Boot Parameters
To change the boot parameters, use the "bootChange" command. The
parameters are saved in battery-backed RAM so they will be retained after
power down.
If the IP address of the Matrix card has changed, the Ironics will report
the following, every two seconds:
0x3de9ac (serialio): serialio> Connect failed:
S_errno_ECONNREFUSED
This message will interfere with your typing.
The workaround is to suspend the serialio task, which is in this example
is task id 0x3de9ac:
-> ts 0x3de9ac
Then you can change the boot parameters without
rude interruption:
-> bootChange
'.' = clear field; '-' = go to previous field; ^D =
quit
boot device
: sm=0x400600
processor number : 1
host name
: array
file name
:
inet on ethernet (e) :
inet on backplane (b): 192.168.4.31
host inet (h) : 192.168.4.10
gateway inet (g) : 192.168.4.30
user (u)
: aster
ftp password (pw) (blank = use rsh):
flags (f)
: 0x108
target name (tn) : yarrow
startup script (s) :
other (o)
:
value = 0 = 0x0
->
As you are prompted for the value of each parameter, type in its value,
followed by a carriage return. Use back space to correct typos. To clear
an unused parameter, enter a period. Do a "bootParamsShow(0x700)"
afterwards to verify.
If your network uses a non-default netmask, you can specifiy the netmask
with the "inet on backplane" parameter, by following the IP address
by a colon and then the netmask in hex notation. For example to set
the netmask to ffffff00 (octal: 255.255.255.0) for an adam on the NCAR
network, do:
inet on backplane (b): 128.117.80.173:ffffff00
Set the netmask for the target only, do not specify it with the "host
inet (h)" parameter.
After setting the boot parameters, reboot the adam.