uClinux Operating System for Arcturus uCdimm Coldfire 5282 SBC
Overview
The uCdimm single board computer by
Arcturus Networks
is based on a Freescale Coldfire MFC5282 processor. It integrates RAM, Flash, Ethernet and CAN bus support.
The operating system and BSP used is
uClinux and the toolchain is provided by GNU
gcc suite and gdb.
The following sections explain how to use the uClinux development environment to build an example application
which can be run from a NFS share on a uCdimm board.
Location of uClinux installation and setup
The uClinux toolchain is installed on lnx180c in
/nfs/cesr/instr/uClinux/uClinux-m68k-elf.
This disk is exported to most CESR Linux boxes. To use it type
source /nfs/cesr/instr/uClinux/uClinuxEnv.csh
on a CESR Linux host.
This will add the path
/nfs/cesr/instr/uClinux/uClinux-m68k-elf/bin
to your path
(tcsh assumed) where all toolchain executables reside.
Building applications with uClinux
For compiling programs for uClinux one can either just compile and link it with the current lnx180c
installation or - which will be eventually the preferred way - build it with the whole OS and flash
it into system memory on the board.
In the latter case go to Unpacking the distribution source first otherwise continue to read here.
There's an example in
/nfs/cesr/instr/uClinux/uClinux-example/helloworld.
Copy that into some work area. After setting the enviroment as mentioned above using
make
should produce the following files:
helloworld
helloworld.o
helloworld.gdb.
Accessing and running application files through NFS
To load the executable into the uCdimm memory one easy approach is to access
it through an NFS share. The default kernel supports NFS version 2 which
sometimes needs to be told to the serving NFS server. On the CESR subnet
the uCdimm module needs to have an IP address 192.168.1.xxx as well as
the gateway set to 192.168.1.210. After powering up the uCdimm module
on can set these at the boot prompt:
B$ setenv IPADDR0 192.168.1.xxx
B$ setenv GATEWAY 192.168.1.210
After booting the OS and logging in, mount the nfs share on lnx180c with:
# portmap&
# mount -onfsvers=2,rsize=1024,wsize=1024 192.168.1.80:/mnt/instr /mnt
Note that the default kernel does not support NFSv3 hence the explicit
option for v2. Also the standalone mount command does not compile only
the busybox one works which is the default in the kernel configuration
as provided by Arcturus.
Unpacking the distribution source
The next step is to unpack the distribution and kernel source which is necessary
for building a new os image including your own applications.
Go to a working area on a host where /nfs/cesr/instr is accessible. Run
user@lnx180c ~ > buildenv.sh
which will unpack all kernel and distribution sources into two directories
./uClinux-2.4.x
./uClinux-dist
Compilation of distribution code
Go into the uClinux-dist directory and type 'make clean'. After that configure
the sources by using 'make menuconfig'. After having saved the config file
issue a 'make dep' and then a 'make'. The final image will be in
./uClinux-dist/images.
--
TimWilksen - 27 Oct 2005