Version 8 (modified by Beng, on 03/24/14 at 14:57:30) (diff) |
---|
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:
- bb_nandflash.sh and bb_nandflash_ecc from e.g. http://beagleboard.lohray.com/vm-larix/setting-up-an-emulator/qemu-emulation
- uboot mkimage, from e.g. uboot-mkimage package (apt-get install uboot-mkimage on ubuntu)
- some minor modifications to the build-nand.sh script, like setting the path to the tools and files properly
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}}