Note that this differs from our instructions on building a dev environment for uClinux.
See here for instructions on that [
http://www.openipcam.com/forum/index.php?topic=6.0 ]
If you've followed our previous examples, you'll note that we should already have a compiler chain and uClinux installed.
We'll be installing another compiler chain for the older 2.4.20 based N745 BSP, so we can compile.
We need both the current uClinux, and the older 2.4.20 version, as we'll need to borrow files from the newer version in order to install certain drivers.
Lets start.
First off, we'll need to download the BSP (Board Support Package) for the CPU.
I've placed a copy of that here:
http://www.openipcam.com/files/BSP/W90N745BSP05262008.tar.gzOpen up a terminal window, and enter the following:
sudo su
mkdir -p /home/downloads
cd /home/downloads
apt-get install axel
axel http://www.openipcam.com/files/BSP/W90N745BSP05262008.tar.gz
That will download the BSP into /home/downloads.
Lets decompress it now
tar -xzvf W90N745BSP05262008.tar.gz
cd W90N745BSP/BSP
tar -xzvf W90N745.tar.gz
cd W90N745_PR
./install.sh
This will decompress the BSP, and start the installer.
We'll need to tell the installer where to put our files (I recommend /home/N745)
...
successfully finished installing arm_tools.tar.gz
now begin to install build.tar.gz,TestApps.tar.gz and uClinux-dist.tar.gz
Please enter your absolute path for installing build.tar.gz, TestApps.tar.gz and uClinux-dist.tar.gz:
/home/N745
If you see warnings about usleep not found during the install process, feel free to ignore them.
Assuming you followed my recommendations, we should have a copy of the BSP installed at
/home/N745/W90N745-uClinux/uClinux-dist
In order to make sure that we start from a clean slate, we'll need to clean the BSP build folder (which imho should have been done by Winbond prior to compressing the BSP.)
We'll also need to add the build-tools to our PATH. The BSP has put them into /usr/local/arm_tools
Lets test to see if they work
/usr/local/arm_tools/bin/arm-elf-gcc
If you see this -
arm-elf-gcc: No input files
It means we're good to go.
If, however you get an error saying something like
bash arm-elf-gcc no such file or directory
You're probably running on a 64bit OS, and haven't installed a 32bit dynamic loader.
If thats the case, install libc6-i386
su
apt-get install libc6-i386
Lets continue.
cd /home/N745/W90N745-uClinux/uClinux-dist
PATH=/usr/local/arm_tools/bin:$PATH
make clean
In the above, we change to the BSP folder, add the compile tools to our path, and then clean out the old .depend, .o files from our BSP folder, so we have a nice clean slate to start from.
This does not however remove the vendor configuration for the board, so don't worry about that!
For test purposes lets make sure that it compiles (as a just in case test).
Linux 2.4.x requires a make dep prior to compiling, so we need to run that first.
make dep
make
You should see a few hundred pages scroll by rather quickly (depending on the speed of your computer!), and if all goes well,we should see a new linux.bin generated in ../image
ls -al ../image/
total 2480
drwxr-xr-x 2 root root 4096 May 26 2008 .
drwxr-xr-x 6 root root 4096 Feb 3 17:25 ..
-rwxr-xr-x 1 root root 1065308 Feb 3 17:37 linux.bin
-rw-r--r-- 1 root root 514896 May 26 2008 linux.zip
-rw-r--r-- 1 root root 618496 May 26 2008 romfs.img
-rw-r--r-- 1 root root 326900 May 26 2008 romfs.zip
If you look closely, the compile time for our linux.bin above is newer than the rest of the files, which means its fresh from our make compile..
At this point, we have 2 compiler environments running; one for our BSP, and one for the latest uClinux.
[I've added these instructions to the wiki also]