<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.gumstix.com/index.php?action=history&amp;feed=atom&amp;title=Overo_Bare_Metal</id>
		<title>Overo Bare Metal - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.gumstix.com/index.php?action=history&amp;feed=atom&amp;title=Overo_Bare_Metal"/>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Overo_Bare_Metal&amp;action=history"/>
		<updated>2026-05-14T06:03:15Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.25.3</generator>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Overo_Bare_Metal&amp;diff=5905&amp;oldid=prev</id>
		<title>Neil: moved Bare metal to Overo Bare Metal</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Overo_Bare_Metal&amp;diff=5905&amp;oldid=prev"/>
				<updated>2012-09-21T23:30:17Z</updated>
		
		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/index.php/Bare_metal&quot; class=&quot;mw-redirect&quot; title=&quot;Bare metal&quot;&gt;Bare metal&lt;/a&gt; to &lt;a href=&quot;/index.php/Overo_Bare_Metal&quot; title=&quot;Overo Bare Metal&quot;&gt;Overo Bare Metal&lt;/a&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 23:30, 21 September 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Neil</name></author>	</entry>

	<entry>
		<id>https://wiki.gumstix.com/index.php?title=Overo_Bare_Metal&amp;diff=5904&amp;oldid=prev</id>
		<title>Neil: Created page with &quot;==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-...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.gumstix.com/index.php?title=Overo_Bare_Metal&amp;diff=5904&amp;oldid=prev"/>
				<updated>2012-09-21T23:29:44Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;==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-...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Setup the cross compiling environment==&lt;br /&gt;
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].&amp;lt;br /&amp;gt;&lt;br /&gt;
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 &amp;lt;br /&amp;gt;&lt;br /&gt;
Untar the file:&amp;lt;br /&amp;gt;&lt;br /&gt;
 $ mkdir ~/overo-standalone&lt;br /&gt;
 $ cd ~/overo-standalone&lt;br /&gt;
 $ tar xvjf arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2&lt;br /&gt;
Add the bin to your PATH:&amp;lt;br /&amp;gt;&lt;br /&gt;
 $ export PATH=$PATH:~/overo-standalone/arm-2008q3/bin&lt;br /&gt;
&lt;br /&gt;
==Write the program==&lt;br /&gt;
The following two Hello World programs have been tested on an overo.&amp;lt;br /&amp;gt;&lt;br /&gt;
You can get source files from [https://github.com/zhaoruibing/overo-bare-metal-hello-world here].&lt;br /&gt;
&lt;br /&gt;
==Compile the program==&lt;br /&gt;
Assembly verison:&lt;br /&gt;
 $ cd asm/&lt;br /&gt;
Use make to compile the asm program&amp;lt;br /&amp;gt;&lt;br /&gt;
 $ make&lt;br /&gt;
C version:&lt;br /&gt;
 $ cd c/&lt;br /&gt;
Run the compile file in c program folder&amp;lt;br /&amp;gt;&lt;br /&gt;
 $ sh compile&lt;br /&gt;
==Run the program==&lt;br /&gt;
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]).&amp;lt;br /&amp;gt;&lt;br /&gt;
Copy the .bin file generated by the compiler to the boot drive on the SD card:&amp;lt;br /&amp;gt;&lt;br /&gt;
 $ cp *.bin /media/boot/&lt;br /&gt;
Umount the SD card&amp;lt;br /&amp;gt;&lt;br /&gt;
 $ umount /media/boot&lt;br /&gt;
 $ umount /media/rootfs&lt;br /&gt;
&lt;br /&gt;
Plug the SD card in overo and connect the overo on a Tobi expansion board.&amp;lt;br /&amp;gt;&lt;br /&gt;
Power it up and go into serial console.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the console prompt &amp;quot;Hit any key to stop autoboot&amp;quot;, please hit any key to interrupt.&amp;lt;br /&amp;gt;&lt;br /&gt;
And run:&lt;br /&gt;
 # mmc list&lt;br /&gt;
 # mmc part&lt;br /&gt;
 # fatls mmc 0:1&lt;br /&gt;
 # fatload mmc 0:1 0x80200000 boot.bin&lt;br /&gt;
 # go 0x80200000&lt;br /&gt;
&lt;br /&gt;
By now you should see &amp;quot;Hello world!&amp;quot; poping in the console.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
'''Code used:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
:The Hello World C code is from:&amp;lt;br /&amp;gt;&lt;br /&gt;
:http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/&amp;lt;br /&amp;gt;&lt;br /&gt;
:The commands used in serial console are from:&amp;lt;br /&amp;gt;&lt;br /&gt;
:http://gumstix.8.n6.nabble.com/Running-program-on-bare-metal-Overo-td4965440.html&amp;lt;br /&amp;gt;&lt;br /&gt;
:The code used in Hello World is modified from:&amp;lt;br /&amp;gt;&lt;br /&gt;
:The Definitive Guide to the ARM Cortex-M3 P172-174&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cross compiling tool used:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
:http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Manuals:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
:Uboot:&amp;lt;br /&amp;gt;&lt;br /&gt;
:http://www.denx.de/wiki/view/DULG/Manual&amp;lt;br /&amp;gt;&lt;br /&gt;
:Linker script:&amp;lt;br /&amp;gt;&lt;br /&gt;
:http://sourceware.org/binutils/docs/ld/Scripts.html#Scripts&amp;lt;br /&amp;gt;&lt;br /&gt;
:ftp://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_mono/ld.html&amp;lt;br /&amp;gt;&lt;br /&gt;
:Compiler:&amp;lt;br /&amp;gt;&lt;br /&gt;
:http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Futher readings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
:http://stackoverflow.com/questions/6870712/beagleboard-bare-metal-programming&amp;lt;br /&amp;gt;&lt;br /&gt;
:http://wiki.osdev.org/Beagleboard&amp;lt;br /&amp;gt;&lt;br /&gt;
:Building Bare-Metal ARM Systems with GNU&lt;br /&gt;
'''TRM(Technical Reference Manuals):'''&amp;lt;br /&amp;gt;&lt;br /&gt;
:TI OMAP35x Applications Processor Technical Reference Manual&amp;lt;br /&amp;gt;&lt;br /&gt;
:ARM Architecture Reference Manual&amp;lt;br /&amp;gt;&lt;br /&gt;
:ARM Assembly Language Tools User's Guide&amp;lt;br /&amp;gt;&lt;br /&gt;
:RealView Platform Baseboard for Cortex-A8 User Guide&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Neil</name></author>	</entry>

	</feed>