Problems loading programs in the boot script

I’m relatively new to QNX.

I’ve got a board we designed. Very similar to the Icecube Reference Board.
I’ve taken the Icecube BSP stuff, and modified it for my board.

We’re running 6.2.1B with a PowerPC 5200.

It gets through the IPL and the Startup code. It loads the kernel, the
kernel starts, it executes builtin kernel functions like display_msg and
waitfor.

The problem is that when I try to run any program, it does not seem to load.
The first thing I do is write some values to SRAM that will there after a
reset.
I still see the values that I wrote during the IPL. I’ve also tried turning
on the
LEDs on the board (both of these through a pointer from mmap_device_memory).

It fails on the devc driver, on a small program I wrote, and on slogger.

Any ideas what I’m doing wrong? It seems like it’s probably something in
the
boot header but the values are very similar to the ones on the Icecube
board.


Here’s the build script - most of the harder things like networking are
commented out:
###########################################################################

Neutrino on a JTRS Eval

###########################################################################

original was image=0x20000

#[virtual=ppcbe,srec +compress] .bootstrap = {

#[virtual=ppcbe,srec] .bootstrap = {

#[ram=0x00020000-0x07ffffff]

[image=0x00020000]

[virtual=ppcbe,srec +compress] .bootstrap = {

startup-jtrs -v

PATH=/proc/boot procnto-600 -vvv

}

[+script] .script = {

display_msg Welcome to QNX Neutrino on the JTRS Eval Board

display_msg Loading devc-serpsc with 33MHz clock

waitfor /dev/xx 1


\

Serial driver for Motorola Lite5200 EVB Version 2.0

#devc-serpsc -c 132000000 -u 1 -e -F -S -b 115200 &

devc-serpsc -c 32768000 -u 1 -e -F -S -b 115200 0xf0002000,65 &

devc-cmf -c 32768000 -u 1 -e -F -S -b 115200 0xf0002000,65 &

display_msg Waiting for ser1 to appear


waitfor /dev/ser1

reopen /dev/ser1


leds 3

display_msg “After PSC load”

These env variables inherited by all the programs which follow

SYSNAME=nto

TERM=qansi

HOME=/

TZ=EST5EDT4

I’m setting this here to try to get momentix to run 12/22/03 -cmf

LD_LIBRARY_PATH=./:/proc/boot:/usr/lib:/usr/local/lib

SHELL=/bin/ksh

LOGNAME=root



slogger -l /tmp/slog &

pipe

display_msg “After slogger and pipe”

\

PCI driver

pci-mgt5200

waitfor /dev/pci

display_msg “After PCI”

display_msg Starting Flash Driver

Flash driver

devf-mgt5200 -s 0xff800000,8M,0,8M,64K

devf-cmf -s 0xff800000,8M,0,8M,64K -r -b5 -u2 -t1 &

waitfor /usr/lib

waitfor /bin

waitfor /sbin

waitfor /etc

display_msg Flash Driver Initialized

Network driver

Setup Best Comm (DMA) for on-board ethernet driver

parameters from 6.2.1a motorola build file

display_msg Starting Bestcomm DMA driver

bestcomm5200

bestcomm5200 -n 6 -m ff

display_msg Starting up on-board ethernet with Large stack and cache -
144.177.209.210

io-net -c1 -ptcpip cache=1 -dmpc5200 mac=0001af520130 -v

io-net -c1 -ptcpip cache=1 -dcmf mac=0001af520130 -v

waitfor /dev/io-net/en0 4

ifconfig en0 147.177.209.210 netmask 255.255.240.0

route add default 147.177.208.1

display_msg Network Started.

USB driver

devu-ohci-mgt5200 -a0xf0001000 -i38

/bin/mqueue &

display_msg Starting Momentics programs

/bin/pdebug 10000 &

qconn

display_msg Start the run control script.

[+session] /proc/boot/ksh /proc/boot/rc

display_msg Starting Shell

[+session] PATH=/proc/boot:/bin:/etc ksh &

}

[type=link] /dev/console=/dev/ser1

[type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so.2

[type=link] /tmp=/dev/shmem

[type=link] /bin/sh=/proc/boot/ksh

[type=link] /bin/ksh=/proc/boot/ksh

[type=link] /bin/cat=/proc/boot/cat

[type=link] /bin/cp=/proc/boot/cp

[type=link] /bin/ls=/proc/boot/ls

[type=link] /bin/slay=/proc/boot/slay

[type=link] /bin/fs-cifs=/proc/boot/fs-cifs

[type=link] /bin/route=/proc/boot/route

[type=link] /bin/ifconfig=/proc/boot/ifconfig

[type=link] /bin/ping=/proc/boot/ping

[type=link] /bin/pidin=/proc/boot/pidin

[type=link] /bin/sloginfo=/proc/boot/sloginfo

[type=link] /bin/io-net=/proc/boot/io-net

[type=link] /bin/pipe=/proc/boot/pipe

[type=link] /bin/pdebug=/proc/boot/pdebug

[type=link] /bin/qconn=/proc/boot/qconn

[type=link] /bin/flashctl=/proc/boot/flashctl

[type=link] /usr/lib/libsocket.so.2=/proc/boot/libsocket.so.2

[type=link] /usr/lib/libm.so.2=/proc/boot/libm.so.2

#[type=link] /usr/local/lib/libcpp.so.2=/usr/lib/libcpp.s0.2

#[type=link] /usr/local/bin/netconfig=/proc/boot/netconfig

[perms=+r,+x]

[+keeplinked]

libc.so

fpemu.so.2

libm.so.2

[data=c]

devc-cmf

devc-serpsc

pci-mgt5200

leds

#

## uncomment for Network driver

libsocket.so.2

npm-tcpip.so

libdma-bestcomm5200.so.1

devn-mpc5200.so

devn-cmf.so

#

## uncomment for Network driver

bestcomm5200

io-net

ifconfig

ping

#

## uncomment for Flash driver

devf-mgt5200

devf-cmf

#devf-cmf2

flashctl

startup-jtrs

#

## uncomment for USB driver

# devu-ohci-mgt5200

# usb

#

## general commands

#

# 12/16/03 added cat -cmf

cat

cp

ls

pidin

ksh

pci

pipe

slogger

sloginfo

slay

route

pdebug

qconn

fs-cifs



# 12/16/03 added scripts -cmf

/proc/boot/bootup.ksh = {

if [[ -a /etc/bootup.ksh ]]; then

/etc/bootup.ksh

fi

}



/proc/boot/rc = {

echo Type this to access NT: "fs-cifs -a -l //sc077270:147.177.6.184:/temp
/nt"

# /etc/bootup.ksh is gone.

#if [[ ! -e /etc/bootup.ksh ]]; then

# ln -s /etc/bootup.config.ksh /etc/bootup.ksh

#fi

# This gives you a shell in case

# /etc/rc is gone.

if [[ -e /etc/rc ]]; then

echo /etc/rc path

.. /etc/profile

exec /proc/boot/ksh /etc/rc

else

echo while loop path

.. /etc/profile

/etc/bootup.ksh

while /bin/true; do

/proc/boot/ksh

done

/bin/shutdown -v -S system

fi

}