wiki:TBR/BSP/Beagleboard

Version 8 (modified by Beng, on 03/24/14 at 14:57:30) (diff)

correct some formatting

Beagleboard

<!-- When filling in the box,

+ Try to include links to other Wiki pages and websites. + If a field is not applicable, not setting the variable will result in it not being displayed + If Simulator is not set, then No. is displayed.

-->

{{Infobox BSP |BSP_name = BeagleBoard? |Manufacturer = Texas Instruments |image = Beagle Board big.jpg |caption = BeagleBoard? rev.B |Board_URL = http:/beagleboard.org |Architecture = ARM |CPU_model = Cortex-A8 |Monitor = uBoot |Simulator = Yes. QEMU? |Aliases = None |RAM = 256 MB LPDDR RAM |NVMEM = 256 MB NAND Flash memory |Serial = TBD |Video = S-Video, DVI |NICs = TBD |Other = TBD }}

Overview

Currently under construction, please come back in a few days...

Board Setup

None

Downloading and Executing

1. clone and build qemu-maemo:

git clone git://gitorious.org/qemu-maemo/qemu.git

cd qemu

./configure --target-list="arm-softmmu"

make

http://meego.gitorious.org/qemu-maemo

2. clone and build rtems from my fork:

git clone git://github.com/claas/rtems.git

(ben's fork contains a branch that is uptodate w.r.t rtems mainline - https://github.com/bengras/rtems.git , beagleboard-merged branch)

mkdir rtems-b

cd rtems

./bootstrap

cd ../rtems-b

../rtems/configure --target=arm-rtems4.11 --disable-posix --disable-networking --disable-cxx --enable-rtems-debug --enable-rtemsbsp=beagle --prefix=/usr/local/beagletems

make

make install

(these instructions previously mentioned the now-obsolete arm-rtemseabi4.11 target:

../rtems/configure --target=arm-rtemseabi4.11 --disable-posix --disable-networking --disable-cxx --enable-rtems-debug --enable-rtemsbsp=beagle --prefix=PUT_YOUR_PREFIX_HERE

)

3. clone my tools repository:

git clone git://github.com/claas/tools.git

find the test.c file in the cloned repository and copy it to the examples hello/hello_world_c folder

4. build the hello_world example

5. download the x-loader and uboot images

wget http://qemu-omap3.googlecode.com/files/image-v0.01.tar.bz2

6. build the nand flash image

The script to do that is in the tools repo, the name is: build-nand.sh

For this, you will also need:

Invocation:

$ build-nand.sh <program> <nand flash output file>

e.g. with my layout:

$ sh tools/build-nand.sh rtems-b/arm-rtems4.11/c/beagle/testsuites/samples/hello/hello nand

Then to invoke qemu:

$ qemu-system-arm -M beagle -mtdblock nand -serial stdio

Once you are in the boot prompt, load and run the program:

OMAP3 beagleboard.org # nand read 0x80800000 0x280000 0x400000

NAND read: device 0 offset 0x280000, size 0x400000

4194304 bytes read: OK

OMAP3 beagleboard.org # bootm 0x80800000 ## Booting kernel from Legacy Image at 80800000 ...

Image Name: RTEMS Image Type: ARM RTEMS Kernel Image (gzip compressed) Data Size: 56484 Bytes = 55.2 kB Load Address: 80000000 Entry Point: 80000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK

## Transferring control to RTEMS (at address 80000000) ... bsp_interrupt_facility_initializebeagle_set_exception_handler

* BEGIN OF TEST HELLO WORLD * Hello World * END OF TEST HELLO WORLD *

Debugging

How do you debug code on this board? What gdb setup? BDM, stub, etc?

=Test Reports=

{{Test Report |Version = CVS head |Date = DATE |User = User:WhoTestedThis? |Report = reports that something happened. }}

=References=

  • TBD

{{Navbox_BSPs}}