Startup for PPC405 evaluation board (QNX Neutrino)
startup-walnut [-A] [-D channel[.channel_opts]] [-E] [-F [~]value] [-f [cpu_freq][,[cycles_freq][,timer_freq]]] [-j addr] [-K channel[.channel_opts]] [-N hostname] [-R size] [-r addr,size[,flag]] [-S [~]section] [-v[v]...] [-x]
PPC405 evaluation board (PowerPC)
- 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.
- 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
- value -- OR the flags field with value
- ~value -- AND the flags field with ~value
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:
- cpu_freq -- the CPU clock frequency. It's also used to set the speed field in the cpuinfo section of the system page.
- cycles_freq -- the frequency at which the value returned by ClockCycles() increments. It's also used to set the cycles_per_sec field in the qtime section of the system page.
- timer_freq -- the frequency at which the timer chip input runs. It's also used to set the timer_rate and timer_scale values of the qtime section of the system page.
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.
- -j addr
- For use with JTAG/hardware debuggers.
Reserve 4 bytes of RAM at the physical address specified by addr, and copy the physical address of the location of the system page to addr in RAM so that it can be retrieved by a hardware debugger.
- -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. The size is in bytes, unless followed by one of K (kilobytes), M (megabytes), or G (gigabytes).
- -r addr,size[,flag]
- Remove size memory from system use
starting at addr.
The flag is an optional argument used to specify if the memory should be cleared:
If the value of the flag passed is: Memory: None Clears to 0 0 Clears to 0 1 Does not clear
- -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.
- Be verbose. More v characters cause even more verbosity.
- Enable extended addressing.
This lets you access physical addresses above 4G.
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.
The debug channel specified with the -D and -K options can be:
- Use generic 8250-compatible serial chip, with:
- Specify the I/O port base address for the 8250, in hexadecimal. The default for the -D option is EF600300; for -K, it's EF600400.
- Specify the spacing between the I/O registers, in 2shift bytes. The default is 0.
- Specify the baud rate for the debug channel. The default is the ROM monitor speed.
- Specify the clock rate (in Hz) input to the chip. The default is 11059200.
- 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 57600 baud, use:
The default -D and -K settings for the 8250 channel are:
-D 8250.ef600300^0..11059200.16 -K 8250.ef600400^0.9600.11059200.16
The startup-walnut program is responsible for initializing the PPC405 evaluation board.
"Startup programs (startup-*)" in the Utilities Summary chapter
Customizing Image Startup Programs in Building Embedded Systems