ARM Beagleboard: Difference between revisions
[unchecked revision] | [unchecked revision] |
Content deleted Content added
m microSD is the correct styling |
m Bot: Replace deprecated source tag with syntaxhighlight |
||
Line 50:
Append:
<
deb http://www.emdebian.org/debian/ squeeze main
</syntaxhighlight>
to your /etc/apt/sources.list, changing 'squeeze' for your version of Debian - I'm running wheezy, for example.
now run:
<
sudo aptitude update
sudo aptitude install gcc-4.4-arm-linux-gnueabi # check this! it might be an older version for non-wheezy...
</syntaxhighlight>
That will install a C compiler, and also install Binutils, which for this tutorial is really all we need, but you may later wish to write your code in C.
Line 75:
Take note of what it does. It's pretty simple. Refer to docs if necessary.
<
/* rammap */
MEMORY
Line 86:
.text : { *(.text*) } > ram
}
</syntaxhighlight>
===Makefile===
Line 92:
This is the basic makefile I use. It's similar to the one on the stackoverflow link.
<
ARMGNU = arm-linux-gnueabi
Line 104:
$(ARMGNU)-objcopy boot.elf -O srec boot.srec
$(ARMGNU)-objcopy boot.elf -O binary boot.bin
</syntaxhighlight>
===Assembly!===
Line 114:
====boot.asm====
<tt><
#UART base locations from the TRM
.equ UART1.BASE, 0x4806A000
Line 141:
# (branch (jump, JMP) to _hang)
# b _hang
</
==='Compiling' it===
Line 157:
You should see:
<
U-Boot 2011.03-rc1-00000-g9a3cc57-dirty (Apr 04 2011 - 12:36:16)
Line 175:
Die ID #2e7000029ff80000016842c813020023
Hit any key to stop autoboot: 3
</syntaxhighlight>
Hit a key. Before Linux loads.
<
OMAP3 beagleboard.org #
</syntaxhighlight>
Whee, a u-boot prompt.
Line 191:
Just type 'loady'. Don't worry about being fast on your first go, you'll miss it anyway.
<
OMAP3 beagleboard.org # loady
## Ready for binary (ymodem) download to 0x80200000 at 115200 bps...
</syntaxhighlight>
Now hit Ctrl+A. A bar will appear at the bottom.
Line 215:
After the file is loaded into RAM,
<
READY: Press any key.
</syntaxhighlight>
and
<
Cm - CRC mode, 9(SOH)/0(STX)/0(CAN) packets, 3 retries
## Total Size = 0x00000350 = 848 Bytes
OMAP3 beagleboard.org #
</syntaxhighlight>
is printed (my file is bigger... don't worry about that), we just have to execute the code in memory!
Line 229:
Execution is started from an address with 'go'. Our _start address is 0x80200000. So, we type:
<
OMAP3 beagleboard.org # go 0x80200000
</syntaxhighlight>
and we should get:
<
## Starting application at 0x80200000 ...
!
</syntaxhighlight>
If you get that, congratulations! You've just written an 'Operating' System (;)) for the BeagleBoard! The process will seem long winded at first, but it's not really at all.
|