Difference between revisions of "Category:BareMetal"

From Gumstix User Wiki
Jump to: navigation, search
Line 1: Line 1:
 
=Setup the cross compiling environment=
 
=Setup the cross compiling environment=
The one I used is Sourcery CodeBench Lite Edition, you can get it from [http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ its website] <br />
+
The one I used is Sourcery CodeBench Lite Edition, you can get it from [http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ its website].<br />
Please choose the eabi verison and format tar.bz2(I used arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2) <br />
+
Please choose the eabi verison and the tar.bz2 one. I used arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 <br />
Untar the file<br />
+
Untar the file:<br />
 
  $ mkdir ~/overo-standalone
 
  $ mkdir ~/overo-standalone
 
  $ cd ~/overo-standalone
 
  $ cd ~/overo-standalone
 
  $ tar xvjf arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
 
  $ tar xvjf arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
Add the bin to your PATH<br />
+
Add the bin to your PATH:<br />
 
  $ export PATH=$PATH:~/overo-standalone/arm-2008q3/bin
 
  $ export PATH=$PATH:~/overo-standalone/arm-2008q3/bin
  
 
=Write the program=
 
=Write the program=
The following two Hello World program has been tested on an overo<br />
+
The following two Hello World programs have been tested on an overo.<br />
You can play with them<br />
+
You can play with them.<br />
 +
Get source files from [https://github.com/zhaoruibing/overo-bare-metal-hello-world here].
  
 
=Compile the program=
 
=Compile the program=
Get file from [https://github.com/zhaoruibing/overo-bare-metal-hello-world here]
+
Assembly verison:
==Assembly verison==
+
 
  $ cd asm/
 
  $ cd asm/
 
Use make to compile the asm program<br />
 
Use make to compile the asm program<br />
 
  $ make
 
  $ make
==C version==
+
C version:
 
  $ cd c/
 
  $ cd c/
 
Run the compile file in c program folder<br />
 
Run the compile file in c program folder<br />
 
  $ sh compile
 
  $ sh compile
 
=Run the program=
 
=Run the program=
You needed a flashed, bootable MicroSD. You can make one by using Sakoman's scripts ([http://www.sakoman.com/downloads.html mkcard.sh and mksdcard.sh])<br />
+
You needed a flashed, bootable MicroSD. You can make one by using Sakoman's scripts ([http://www.sakoman.com/downloads.html mkcard.sh and mksdcard.sh]).<br />
Copy the .bin file generated by the compiler to the boot drive on the SD card<br />
+
Copy the .bin file generated by the compiler to the boot drive on the SD card:<br />
 
  $ cp *.bin /media/boot/
 
  $ cp *.bin /media/boot/
 
Umount the SD card<br />
 
Umount the SD card<br />
 
  $ umount /media/boot
 
  $ umount /media/boot
 
  $ umount /media/rootfs
 
  $ umount /media/rootfs
Plug the SD card in overo and connect the overo on a Tobi expansion board<br />
+
 
Power it up and go into serial console<br />
+
Plug the SD card in overo and connect the overo on a Tobi expansion board.<br />
When the console prompt "Hit any key to stop autoboot", please hit any key<br />
+
Power it up and go into serial console.<br />
 +
 
 +
When the console prompt "Hit any key to stop autoboot", please hit any key to interrupt.<br />
 +
And run:
 
  # mmc list
 
  # mmc list
 
  # mmc part
 
  # mmc part
Line 39: Line 42:
 
  # go 0x80200000
 
  # go 0x80200000
  
By now you should see "Hello world!" poping in the console
+
By now you should see "Hello world!" poping in the console.

Revision as of 14:06, 21 September 2012

Setup the cross compiling environment

The one I used is Sourcery CodeBench Lite Edition, you can get it from its website.
Please choose the eabi verison and the tar.bz2 one. I used arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
Untar the file:

$ mkdir ~/overo-standalone
$ cd ~/overo-standalone
$ tar xvjf arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

Add the bin to your PATH:

$ export PATH=$PATH:~/overo-standalone/arm-2008q3/bin

Write the program

The following two Hello World programs have been tested on an overo.
You can play with them.
Get source files from here.

Compile the program

Assembly verison:

$ cd asm/

Use make to compile the asm program

$ make

C version:

$ cd c/

Run the compile file in c program folder

$ sh compile

Run the program

You needed a flashed, bootable MicroSD. You can make one by using Sakoman's scripts (mkcard.sh and mksdcard.sh).
Copy the .bin file generated by the compiler to the boot drive on the SD card:

$ cp *.bin /media/boot/

Umount the SD card

$ umount /media/boot
$ umount /media/rootfs

Plug the SD card in overo and connect the overo on a Tobi expansion board.
Power it up and go into serial console.

When the console prompt "Hit any key to stop autoboot", please hit any key to interrupt.
And run:

# mmc list
# mmc part
# fatls mmc 0:1
# fatload mmc 0:1 0x80200000 uimage
# go 0x80200000

By now you should see "Hello world!" poping in the console.

This category currently contains no pages or media.