Symbian developer community

 
wiki

BeagleBoard Quick Start

From Symbian Developer Community

Jump to: navigation, search

The BeagleBoard is a low cost, high performance OMAP3-based hardware platform.

This is a brief guide to help you get the Symbian platform running your BeagleBoard. It is intended for developers who are interested in working with the Symbian kernel and device drivers, and in adding support for new peripherals.

The guide covers the hardware and software configuration required to work with Symbian ROMs on the BeagleBoard. You can find instructions for building ROMs that will run on the BeagleBoard in a linked article.

A BealgeBoard with key components highlighted

Contents

What You'll Need

To get started with a BeagleBoard you need the following hardware and software.

Hardware

  • BeagleBoard
  • Memory card (MMC or SD) and card reader
  • Windows or Linux PC with an RS-232 serial port (or a USB port, in which case you also require a serial to USB connector)
  • Keyboard
  • Monitor with DVI-D connection (or some TVs with HDMI will also work)
  • Cables:
    • USB to USB mini 5-pin cable
    • AT/Everex cable (IDC10 to DB9 serial cable)
    • RS232 null-modem cable (DB9-F to DB9-F)
    • HDMI to DVI-D cable (for monitor)

Optional Extras:

  • Mouse (useful for general Windows/Linux interaction, but can only be used by Symbian on BeagleBoard with extra hardware modifications - details TBD)
  • USB Hub (useful if you don't have enough USB ports, or want to add USB peripherals to the BeagleBoard and write drivers for them)
  • Powered speakers (if you want to get audio output from the Beagle board. There are currently no audio drivers in the BeagleBoard baseport for Symbian, ...but that doesn't mean you can't write one!)

Software

  • A terminal program for your PC capable of serial communications, such as HyperTerminal (which normally comes with Windows - Accessories->Communications->HyperTerminal) or TeraTerm for Windows, or Minicom for Linux
  • A Symbian ROM image compatible with the BeagleBoard (see this page for how to create one)

Getting Started

Once you have everything you need, you must connect it all correctly, configure the terminal software on your PC and load the ROM image into the BeagleBoard's memory.

Connections

To connect your BeagleBoard to your PC do the following in order (i.e. connect the power last to avoid damaging your BeagleBoard or the serial port on your PC):

  1. Connect the RS232 port on the BeagleBoard to the serial port of your PC as follows: (If your PC does not have a serial port you also need a serial to USB connector or cable)
    1. Plug the AT/Everex cable to the BeagleBoard's RS232 serial port, with the red strand of the ribbon cable connecting to pin 1 on the RS232 connector.
    2. Connect the null modem cable between the other end of the AT/Everex cable and the PC's parallel port.
    3. If your PC does not have a parallel port connect the loose end of the null modem cable to a USB port on your PC using a serial to USB cable.
  2. Connect the HDMI to DVI-D cable between the HDMI port on the BB and a DVI-D monitor.
  3. Finally, connect the USB mini cable to the BeagleBoard and your PC or USB hub.

Here is a video of this connection process.

Configuring your terminal software

The setup for your terminal software depends on the software itself, your operating system and your hardware.

One piece of information is specific to your PC: The ID of the serial port you are using.

  • On Windows this is a COM port, such as COM5. To find out which, open the Windows Device Manager and check under "Ports (COM & LPT)". If you're using a USB to serial converter you need to plug it in and install the driver first. (NOTE: Changing to a different USB port usually changes which COM port is assigned).
  • On Linux the serial port is typically something like /dev/ttyS0 or /dev/ttyUSB0 for a USB to serial converter. /dev/ttyS0 corresponds to COM1 in Windows, with /dev/ttyS1 being COM2 and so on.

The remaining settings for the terminal program are common across hardware and operating systems:

  • Baud rate: 115200
  • Data: 8 bit
  • Parity: None
  • Stop: 1 bit
  • Flow control: None

With your BeagleBoard connected up, start your terminal program with this configuration.

Loading the ROM Image

Transfer your ROM image onto your memory card. The image should be called something like BEAGLEARMV5D.IMG. Copy it to the root of the memory card using your card reader.

Put the memory card into the slot on the BeagleBoard and press the reset button on the board.

You should see the BeagleBoard splash screen on your connected monitor.

The terminal software should then show output something like this:

Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
Loading u-boot.bin from nand
U-Boot 2009.01-dirty (Feb 19 2009 - 12:22:31)
I2C: ready
OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
DRAM: 256 MB
NAND: 256 MiB
*** Warning - bad CRC or NAND, using default environment
MUSB: using high speed
In: serial usbtty
Out: serial usbtty
Err: serial usbtty
Board revision C
Serial #5ac400030000000004013f8901001001
Hit any key to stop autoboot: 0
OMAP3 beagleboard.org #

At the prompt type:

mmcinit
fatload mmc 0:1 0x81000000 BEAGLEARMV5D.IMG
go 0x81000000

This initializes the memory card interface, loads the ROM image from the memory card into RAM and then starts executing it. You should see a Symbian text shell with a prompt on your monitor connected via DVI-D cable. You can type commands into it from your PC keyboard using your terminal program.

For future loads, if you want the BeagleBoard to boot an image with the same name automatically from the memory card, you can make it do so by entering this at the prompt:

set bootcmd ‘mmcinit ; fatload mmc 0:1 0x81000000 BEAGLEARMV5D.img ; go 0x81000000’
saveenv

Where to Buy

The official list of approved distributors is available here. Most of these will also sell you the necessary cables, although if the product is being shipped to you from abroad you might want to buy the cables locally to avoid excess shipping and import tax charges. For example, most of the cables for our BeagleBoards at Symbian Foundation HQ in London came from Maplin a popular UK electronics component retailer, the exception was the AT/Everex serial cable, which came from CableCity.co.uk.

Most of the approved distributors ship from the US and you may be asked why you want the boards and get charged import duty by the shipping company if you are based in Europe. There are alternative sources of boards in Europe:

  • EBV sell their own EBVBeagleBoard (although they didn't respond to our intial sales enquiry)
  • Embedded-Projects.net Advertise a BeagleBoard for 199 Euros plus shipping, which may be more expensive than ordering from the US, depending on shipping rates and exchange rates - do your sums!

Troubleshooting

The BeagleBoard has had a large embedded Linux developer community working with it for some time now, and the board and cable setup instructions are common to both platforms. Rather than try to create a second repository of knowledge for the same problems here, please use (and contribute to) the existing one. The best starting point for those getting started with the BeagleBoard is at: http://elinux.org/BeagleBoardBeginners

The only issue we've seen so far that's likely to be exclusive to Symbian developers is driver problems with USB to Serial converters for Windows (embedded Linux developers don't tend to use Windows on their PCs!). Some USB to serial converters/cables come without any drivers (or in our case, with the wrong drivers). However, there are very few chipsets in these converters and it should be fairly easy to find working drivers via a quick search in Google. For example, we have two different converters that both use the same Prolific chipset - working drivers can be found here and on several other sites.

Summary

This article explains how you can get started running Symbian platform code on a BeagleBoard. It should have helped you with buying, setting up and using a BeagleBoard to run Symbian platform ROMs.

References and Related Articles

What Next?

Look through the embedded Linux examples and see if you can do something similar with Symbian (you'll probably want to wait for a more complete Symbian platform build than a text shell first).

There's an LED driver in the baseport. Write a command line utility that uses it to turn the LEDs on and off!

Comments

Contents

Catalin.moldovan said…

I've tried to use the binary images provided with the Kernel Taster Kit but when it boots it asks for a password. Has anybody an idea what the password is?

Catalin

--Catalin.moldovan 19:43, 23 October 2009 (BST)

Gbraad said…

I connected the BeagleBoard only using the Mini-USB cable to provide power and use /dev/ttyACM0 as the device for the terminal.

http://picasaweb.google.com/gbraad/Symbian http://www.youtube.com/watch?v=0uuqoOATm3E http://vimeo.com/7227979

--Gbraad 00:07, 24 October 2009 (BST)

Catalin.moldovan said…

I've added kernel trace and come up with the fact that there is a FAULT that I receive (FAULT: TPS65950 SpuriousInt). Can this be somehow related to the fact that I didn't connected anything to the board except the RS232 to my computer? Some screenshots here: http://picasaweb.google.com/moldovan.catalin/SymbianBeagleBoard#

--Catalin.moldovan 21:50, 26 October 2009 (UTC)

Echegmik said…

catalin, I haven't tried playing with the kernel on the beagleboard yet but since your kernel is faulting you are getting the password prompt for the debug monitor, which should be "replacement" (at least it was so in the past :)). You should be able to able to do some post morten operations once you are logged into the monitor.

Some relevant link: http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/14._Kernel-Side_Debug

--Echegmik 11:38, 27 October 2009 (UTC)

Gbraad said…

@catalin

I have tested it on a Revision C3 Beagleboard. Which revision did you use?

--Gbraad 22:44, 27 October 2009 (UTC)

Catalin.moldovan said…

Thanks Echegmik you were right, that was the password and I managed to enter the debug monitor. Now I have to figure out the output that it gives. @Gbraad - I'm using also Rev C3 BeagleBoard. The odd thing is that Angstrom runs flawlessly on it. It may be that my TPS65950 IC on the board is faulty somehow, but I still hope that's not the case.

--Catalin.moldovan 09:45, 28 October 2009 (UTC)

Pjh said…

Having (quickly) looked through the source tree, it seems like the console/tshell logic is nicely separate from the actual device the output goes to. How hard is it to change the stock beagleboard build to have the textshell come out on serial along with the kernel tracing?

--Pjh 00:58, 29 October 2009 (UTC)

Nxz said…

I got same TPS65950 fault when using external 5V power supply (I am using Rev.C3 board). I also noticed that I only get this error right after power cycled the board. However, I didn't get the error after hard reset.

BTW, is it possible to bring textshell to serial?

--Nxz 13:52, 1 November 2009 (UTC)

Seanj said…

Text shell to serial: http://developer.symbian.org/forum/showthread.php?t=3512

--Seanj 18:11, 3 November 2009 (UTC)

Sign in to comment…