Nto641TiOmap3530IGEPv2TrunkReleasenotes

Release Notes for the QNX Neutrino 6.4.1 BSP for OMAP3530 IGEPv2 Board

Introduction

The IGEPv2 is a Spanish BeagleBoard clone, slightly larger and with additional peripherals like e.g. ethernet connector, wifi, bluetooth and RS485. The expansion connector is compatible with the BeagleBoard. The board is manufactured by ISEE.
A list of differences/similarities between the IGEPv2 and BB platform can be found in the IGEPv2 Hardware (revision IGEPv2-RB1) list.
Resources and support can be found at:

System requirements

Target system

  • QNX Neutrino RTOS 6.4.1
  • Board version: OMAP3530 IGEPv2 board
  • ROM Monitor version: Texas Instruments X-Loader 1.4.2, U-Boot 2009.08-0-dirty
  • TI OMAP3530: ARM CORTEX A8 core + POWERVR SGX 530 core + IVA2.2 + DSP TMS320C64x+
  • TPS65950 power managment
  • Numonyx 4Gb NAND/ 4Gb Mobile Low Power DDR SDRAM @ 200 Mhz (Package on Package - PoP technology)
  • Ethernet 10/100 Mb BaseT (SMSC LAN9221i)
  • Wifi IEEE 802.11b/g (Marvell 86w8686B1)
  • Bluetooth 2.0 (CSR BC4ROM/21e)
  • Integrated antenna and connector for external antenna.
  • 1 x USB OTG
  • 1x USB Host
  • MicroSD connector.
  • DVI-D for connecting digital computer monitors.
  • Stereo audio in and out for a microphone and headphones or speakers.
  • Expansion connector with I/O, SPI, UART...
  • Expansion connector with access LCD lines.
  • RS-485 Transceiver.
  • Temperature Range: -40 to +80 C.

Host development system

  • QNX Momentics 6.4.1
  • Terminal emulation program (Qtalk, Momentics IDE Terminal, tip, HyperTerminal, etc.)
  • RS-232 serial port
  • NULL-modem serial cable
  • Ethernet link


System Layout

The tables below depict the memory layout for the image and for the flash.

ItemAddress
OS image loaded at: 0x80100000

The interrupt vector table can be found in the buildfile located at src/hardware/startup/boards/omap3530/igepv2.photon.build

Getting Started

Step 1: Connect your hardware

  • Connect the serial cable to the serial port on OMAP3530 IGEPv2 Board to the first serial port of your host machine (e.g. ser1 on a Neutrino host).
  • If you have a Neutrino host with a serial mouse, you may have to move the mouse to the second serial port on your host, because some terminal programs require the first serial port.

Step 2: Build the BSP

You can build a BSP OS image from the source code or the binary components contained in a BSP package. For instructions about building a BSP OS image, please refer to the chapter Working with a BSP in the Building Embedded Systems manual.

Step 3: Transfer the OS image to the target using the ROM monitor

On your host machine, start your favorite terminal program with these settings:
  • Baud: 115200
  • Bits: 8
  • Stop bits: 1
  • Parity: none
  • Flow control: none


Setting up the environment

For OMAP3530 IGEPv2 Board

Apply power to the target board. You should see output on your terminal console, similar to the following:

 
Texas Instruments X-Loader 1.4.2 (Sep  7 2009 - 18:18:18)
Detected Numonyx OneNAND 4G Flash
Loading u-boot.bin from onenand


U-Boot 2009.08-0-dirty (Sep 22 2009 - 13:31:59)

OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
IGEP v2.x rev. B + LPDDR/ONENAND
DRAM:  512 MB
Muxed OneNAND(DDP) 512MB 1.8V 16-bit (0x58)
OneNAND version = 0x0031
Chip support all block unlock
Chip has 2 plane
Scanning device for bad blocks
Bad eraseblock 978 at 0x07a40000
Bad eraseblock 979 at 0x07a60000
Bad eraseblock 1840 at 0x0e600000
Bad eraseblock 3026 at 0x17a40000
Bad eraseblock 3027 at 0x17a60000
Bad eraseblock 3888 at 0x1e600000
OneNAND: 512 MB
In:    serial
Out:   serial
Err:   serial
I2C read: I/O error
Die ID #5c8c000400000000040365fa1401d01a
Net:   smc911x-0
Warning: smc911x-0 MAC addresses don't match:
Address in SROM is         ff:ff:ff:ff:ff:ff
Address in environment is  ac:de:48:00:02:54

Hit any key to stop autoboot:  0

SD card download

 
U-Boot # mmcinit; fatload mmc 0 0x80100000 ifs-omap3530-igepv2-photon.bin; go 80100000

At this point you should see the ROM monitor download the boot image, indicated by a series of number signs. You'll also see output similar to this when it completes downloading:

 
reading ifs-omap3530-igepv2-photon.bin

7452640 bytes read
## Starting application at 0x80100000 ...
CPU0: L1 Icache: 256x64
CPU0: L1 Dcache: 256x64 WB
CPU0: L2 Dcache: 4096x64 WB
CPU0: VFP 410330c1
CPU0: 411fc083: Cortex A8 rev 3 720MHz
CPU0: SKUID(8): 720Mhz CPU, 520Mhz DSP
System page at phys:80010000 user:fc404000 kern:fc404000
Starting next program at vfe049044
cpu_startnext: cpu0 -> fe049044
VFPv3: fpsid=410330c1
coproc_attach(10): replacing fe076a20 with fe07626c
coproc_attach(11): replacing fe076a20 with fe07626c
Welcome to QNX Neutrino trunk on the Texas Instruments OMAP3530 (ARMv7 Cortex-A8 core) - IGEP v2
starting serial driver for debug port ...
starting serial driver for RS485 port ...
starting I2C driver...
Configure power management chip
starting SPI driver...
Starting audio driver...
Starting on-board ethernet with TCP/IP stack...
Path=0 -
 target=0 lun=0     Direct-Access(0) - ram  Rev:

Format complete: FAT12 (4096-byte clusters), 8168 kB available.
Starting USB EHCI Host and OTG host driver...
Starting MMC/SD driver...
Starting Graphics driver...
Starting SGX GPU driver...
Starting Photon

Now you can test the OS, simply by executing any shell builtin command or any command residing within the OS image (e.g. ls).


Flashing the IPL on to the target

Not supported yet

Note: The IPL and OneNAND driver development is still ongoing and that is the reason why the board cannot be booted from OneNand yet.

Summary of driver commands

The following tables summarize the commands to launch the various drivers.

For the OMAP3530 IGEPv2 board

ComponentBuildfile CommandRequired BinariesRequired LibrariesSource Location
Startup startup-omap3530 -L 0x87E00000,0x200000 -v -p -D8250.0x49020000^2.0.48000000.16 . . src/hardware/startup/boards/omap3530
Serial devc-seromap -e -F -b115200 -c48000000/16 0x49020000^2,74 devc-seromap . src/hardware/devc/seromap
Nand Flash n.a. n.a.
n.a.
. n.a.
I2C i2c-omap35xx
For interface 1: i2c-omap35xx -i56 -p0x48070000
For interface 2: i2c-omap35xx -i57 -p0x48072000
i2c-omap35xx . src/hardware/i2c/omap35xx
SPI spi-master -d omap3530 spi-master spi-omap3530.so src/hardware/spi/omap3530
USB OTG Host io-usb -domap3530-mg ioport=0x480ab000,irq=92 io-usb
usb*
libusbdi.so
devu-ohci.so
devu-ehci.so
devu-uhci.so
devu-omap3530-mg.so
prebuilt only
USB EHCI Host io-usb -dehci-omap3 ioport=0x48064800,irq=77,verbose=5 io-usb
usb*
libusbdi.so
devu-ehci-omap3.so
prebuilt only
SD card devb-mmcsd-omap3 cam quiet blk cache=2m devb-mmcsd-omap3 libcam.so
fs-dos.so
cam-disk.so
src/hardware/devb/mmcsd
Audio io-audio -domap35xx-twl4030 io-audio
wave
waverec
mix_ctl
deva-ctrl-omap35xx-twl4030.so
libasound.so.2
src/hardware/deva/ctrl/omap35xx
Graphics io-display -dvid=0,did=0 omap35xx.conf
io-didplay
egl-gears-lite
vsync
libGLES_CL.so
libffb.so
libgf.so
devg-omap35xx.so
devg-soft3d-fixed.so
libdisputil.so
src/hardware/devg/omap35xx
WIFI io-pkt-v4 -d /proc/boot/devnp-mv8686.so dir=/root/io-pkt,verbose=1,poll=0,irq=86 -p tcpip mclbytes=4096,stacksize=65000 random io-pkt-v4
helper_sd.bin
sd8686.bin
wpa_supplicant
wpa_cli
ifconfig
libcrypto.so.1
libssl.so.1
libsdio.so.1
libsocket.so
devnp-mv8686.so
prebuilt only
SGX Graphics Accelerator driver pvrsrvd pvrsrvd
graphics.conf
gles1-egl-gears
libsrv_um.so
libglslcompiler.so
libIMGegl.so
libImgGLESv1_CM.so
libImgGLESv2.so
libImgOpenVG.so
libpvr2d.so
libsrv_um.so
libWFDdevg.so
pvrsrvinit.so
wsegl-gf.so
libEGLdevg.so
libWFDdevg.so
libiow.so.1
libGLESv1_CM.so.1
libEGL.so.1
prebuilt only

Some of the drivers are commented out in the default buildfile. To use the drivers in the target hardware, you'll need to uncomment them in your buildfile, rebuild the image, and load the image into the board.

SD card

Command:
 
i2c-omap35xx
pmic_tw4030_cfg
 devb-mmcsd-omap3 cam quiet blk cache=2m
Note: To start the audio system, you'll need to execute the I2C driver and pmic_tw4030_cfg utility first

Audio

Command:
 
i2c-omap35xx
pmic_tw4030_cfg
io-audio -d omap35xx-twl4030
wave testfile.wav
Note: To start the audio system, you'll need to execute the I2C driver and pmic_tw4030_cfg utility first

Graphics

Command:

 
i2c-omap35xx
pmic_tw4030_cfg
io-display  -dvid=0,did=0
Note: To start the audio system, you'll need to execute the I2C driver and pmic_tw4030_cfg utility first

USB OTG Host Controller driver

Command:

 
io-usb -domap3530-mg ioport=0x480ab000,irq=92 -dehci-omap3 ioport=0x48064800,irq=77,verbose=5

Note:

1. Connect to the micro usb adapter as we do not support the larger one yet.

2. Press the S1 button until the IGEPv2 board boot up.

3.Start io-usb with the stock options from the bsp build file.

WiFI driver (Does not work yet due to mv8686 driver issue)

Command:

 
        ## WIFI start ram filesystem 
	devb-ram ram capacity=16384,nodinit,cache=0m
	waitfor /dev/hd0
	fdisk /dev/hd0 add -t 6
	mount -e /dev/hd0
	mkdosfs /dev/hd0t6
	mount -t dos /dev/hd0t6 /fsram	
        
       	## SDIO WIFI driver
	## Note: please insert SDIO WIFI card. and then run ". ./root/wifi.sh"  
 

/root/wifi.sh

 
        io-pkt-v4 -d /proc/boot/devnp-mv8686.so dir=/root/io-pkt,verbose=1,poll=0,irq=86 -p tcpip mclbytes=4096,stacksize=65000 random
	ifconfig mv0 up
	wpa_supplicant  -Dwext -imv0 -C /fsram/tmpfs &
	wpa_cli -i mv0 -p /fsram/tmpfs

Note: please refer to WIFI_HOW_TO_RUN.txt which is included in the BSP

Note: please refer to http://community.qnx.com/sf/go/projects.bsp/discussion.bsp.topc12037 for any updates on the driver issue.

SGX Graphics Accelerator driver

Command:
 
pvrsrvd

Note:

1. io-display have to run first

2. The Composition_Manager patch:patch-641-1672-CompositionMgr.tar need be install first.

  • You can get the composition manager patch : patch-641-1672-CompositionMgr.tgz here.
  • To install the patch-641-1672-CompositionMgr.tar in the IGEPv2 board BSP's prebuilt directory:
 
    # cd IGEPv2_workdir
    # tar -xvf patch-641-1672-CompositionMgr.tar
    # cd patches/641-1672/target/qnx6
    # cp -r armle ../../../../prebuilt/
    # cd IGEPv2_workdir/prebuilt/armle/usr/lib/graphics
    # cp * ../../../lib/dll
    # cd IGEPv2_workdir
    # make clean all

3. For the detailed documents about the composition_manager and SGX Graphics Accelerator, you can refer to


Known issues for this BSP

  • Temporary override: Use an updated version of armv_chip_a8.c file which has a FIXME that disables the branch target cache, as this seems to induce application crashes.
  • USB Host - the USB-OTG port on the EVM does not provide a sufficient vbus to power attached devices. A powered USB hub is preferred.
  • When this BSP Build in the IDE 4.6.0,dhcp.client, sd8686.bin, helper_sd.bin etc. files are unable to be found in the search paths. This issue will be fixed in IDE 4.7. Workaround: Modify the QNX C/C++ Project Properties of these files to provide the absolute location for them.
  • SPI interface is not tested.
  • WIFI and bluetooth is not working yet. See: http://community.qnx.com/sf/go/projects.bsp/discussion.bsp.topc12037
  • RS485 interface is not tested.
  • OneNAND DDP not supported. See: http://community.qnx.com/sf/discussion/do/listPosts/projects.bsp/discussion.bsp.topc11853
  • SGX is not tested.
  • IPL is not available yet. (The BeagleBoard) version is available in the sourcetree
  • CPU runs at 500Mhz, setting it to 720Mhz should be done in the IPL.


Things to do

Note: The IGEPv2 board without Wifi and bluetooth will also be supported by the same BSP.