Tags

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.


5282pic.jpg

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

Topic revision: r3 - 30 Nov 2007, MattRendina
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding CLASSE Wiki? Send feedback