wiki:TBR/BSP/Beagleboard
Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Version 7 (modified by Beng, on 03/22/14 at 08:05:00) (diff)

updated beagleboard wiki entry with what i had to find out to get it to work. also a pointer to my git repo of the updated code to get it to work in (a) mainline rtems and (b) with the current toolchain and (c) the name of the current toolchain

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}}