startup-mbx800

Startup for Motorola MBX series embedded controller (QNX Neutrino)

Syntax:

startup-mbx800 [-A] [-D channel[.channel_opts]] [-E]
    [-F [~]value]
    [-f [cpu_freq][,[cycles_freq][,timer_freq]]] 
    [-K channel[.channel_opts]] 
    [-N hostname] 
    [-R size] [-S [~]section] [-v[v]...]

Runs on:

Motorola MBX series embedded controller (PowerPC)

Options:

-A
Reboot the system on any abnormal termination of the kernel. The default is to display information about the crash, and then halt.
-D channel[.channel_opts]
Specify an output channel for debugging information. See below for details.
-E
Enable Procnto-600 to save and restore the EAR (External Address Register) register (on chips that have it) during context switches. The EAR register will be saved/restored only if the -E option is set.
-F [~]value
Control the flags field in the cpuinfo section of the system page:

Note: The option was added in the QNX Neutrino Core OS 6.3.2.

For more information about the flags, see "Structure of the system page" in the Customizing Image Startup Programs chapter of the Building Embedded Systems guide.

-f [cpu_freq][,[cycles_freq][,timer_freq]]
Specify CPU frequencies. All frequencies can be followed by H for hertz, K for kilohertz, or M for megahertz (these suffixes aren't case-sensitive). If no suffix is given, the library assumes megahertz if the number is less than 1000; otherwise it assumes hertz.

If they're specified, cpu_freq, cycles_freq, and timer_freq are used to set the corresponding variables in the startup code:

If a variable is zero when it comes time to set the field(s) on the system page, the library code attempts to deduce the proper value by using one of the other frequency variables. Which one it uses depends on the particular CPU and hardware.

-K channel[.channel_opts]
Specify an output channel for kernel debugger information. See below for details.
-N hostname
Specify the node name. The default is the local host.
-R size
Remove size memory from system use. This is useful for testing in a restricted-memory environment.
-S [~]section
Turn on (or, if you use ~section, off) output of the specified syspage section's information. Use this to restrict the amount of syspage information. For more information, see the description of print_syspage() in the Customizing Image Startup Programs chapter of Building Embedded Systems.
-v[v]...
Be verbose. More v characters cause even more verbosity.
-x
Enable extended addressing. This lets you access physical addresses above 4G.

Note: This option has an effect only if the CPU supports more than 32 address lines. On PowerPC CPUs, extended addressing is supported if the PPC_CPU_XAEN bit is on in the SYSPAGE_ENTRY(cpuinfo)->flags. For more information, see "Structure of the system page" in the Customizing Image Startup Programs chapter of Building Embedded Systems.

Debug channels

The debug channel specified with the -D and -K options can be one of:

800[.port[.baud[.clock[.divisor]]]]
Use the PowerPC 8xx serial ports with:
port
Specify the PowerPC 8xx serial port (one of smc1, smc2, scc1, scc2, scc3, scc4). The default is smc1.
baud
Specify the baud rate for the debug channel. The default is 9600.
clock
Specify the clock rate (in Hz) input to the chip. The default is 40000000.
divisor
Specify the divisor used on the clock rate by the chip. The default is 16.
8250[.port[^shift][.baud[.clock[.divisor]]]]
Use a generic 8250-compatible serial chip, with:
port
Specify the I/O port base address for the 8250, in hexadecimal. The default is 800003f8.
shift
Specify the spacing between the I/O registers, in 2shift bytes. The default is 0.
baud
Specify the baud rate for the debug channel. The default is 9600.
clock
Specify the clock rate (in Hz) input to the chip. The default is 1843200.
divisor
Specify the divisor used on the clock rate by the chip. The default is 16.

You can skip options by leaving out the data associated with that part. For example, if you want to send the debugging output to an 8250 chip using 9600 baud, use:

-D 8250..9600

The default -D and -K settings are:

-D 800.smc1.9600.40000000.16
-K 8250.800003f8^0.9600.1843200.16

Description:

The startup-mbx800 program is responsible for initializing the Motorola MBX series embedded controller.

Examples:

See ${QNX_TARGET}/ppcbe/build.

See also:

mkifs, procnto-800

"Startup programs (startup-*)" in the Utilities Summary chapter

Customizing Image Startup Programs in Building Embedded Systems