MINI2440 embedded projects

From Kenneth Noyens
Revision as of 13:47, 9 January 2010 by Kenneth (talk | contribs)

Jump to: navigation, search

This page is currently under constructions, I'm doing this all over with the new versions of all the software

Toolchain

First of all, we need a toolchain containing some command-line tools for our ARM platform:

  • C and C++ compilers
  • assembler
  • linker
  • C and C++ runtime libraries
  • GNU debugger


I'm going to use the Sourcery G++ Lite ARM that is available for free.
You can get the last version from http://www.codesourcery.com/sgpp/lite/arm/portal/subscription3053
Downloading and unpacking:


<source lang="bash"> mkdir mini2440 cd mini2440 wget http://www.codesourcery.com/sgpp/lite/arm/portal/package5353/public/arm-none-eabi/arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 tar jxf arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2 export PATH=/home/ttts/mini2440/arm-2008q3/bin:$PATH </source>


The last line will add the bin directory the $PATH variable so that we can use the commands in that directory like normal commands.

Uboot

Download uboot for mini2440:


<source lang="bash"> mkdir uboot cd uboot git clone git://repo.or.cz/u-boot-openmoko/mini2440.git </source>



Compile uboot:


<source lang="bash"> export CROSS_COMPILE=arm-none-eabi- cd mini2440 make mini2440_config make all </source>


When I tried to compile uboot I got an error about some weak declarations in lib_arm/board.c and common/main.c
I'm using the 4.4.x gcc, and the 4.3.x does not cause that error. You can downgrade your gcc or remove the "weak" definitions in those files like I did


Compile upload tool:


<source lang="bash"> cd ~/mini2440 wget http://mini2440.googlecode.com/files/s3c2410_boot_usb-20060807.tar.bz2 tar jxf s3c2410_boot_usb-20060807.tar.bz2 cd s3c2410_boot_usb make </source>


When make fails because he can not find the file "usb.h" install the ubuntu/debian package libusb-dev.

Open a terminal to the serial connection of the mini2440 board.
Put the NOR switch to NOR and power the board.
Now you get a "FriendlyARM BIOS"/supervivi menu, choose q to go to the supervivi shell.
In this shell you typ "load flash 0 232188 u"
Where "232188" is the size of the uboot.bin file you are going to send. (ls -la mini2240/uboot/mini2440 | grep u-boot.bin)
Upload the file:


<source lang="bash"> ./s3c2410_boot_usb ../uboot/u-boot.bin </source>


Sometimes the upload tool says that the upload is failed, but don't trust it :P