Project Home
Project Home
Wiki
Wiki
Project Information
Project Info
wiki4141: Nto640TiOmapL138EvmTrunkReleasenotes (Version 18)


Release Notes for the QNX Neutrino 6.4.0 BSP for TI OMAP-L138 EVM#

1.System Requirements#

Target Requirements
  1. QNX Neutrino RTOS 6.4.0
  2. Board version: TI OMAP-L138 EVM
  3. L138 processor
  4. 64MB DDR SDRAM
  5. 8 MB SPI flash
  6. 512 MB Micron NAND flash

Host Requirements

  1. QNX Momentics 6.4.0
  2. Terminal emulation program (Qtalk, Momentics IDE Terminal, tip, HyperTerminal, etc.)
  3. RS-232 serial port and serial cable, or a USB-to-serial cable
  4. Ethernet link

2.Getting Started#

2.1 Building 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.

2.2 Connect your Hardware#

Connect the serial cable to the serial port of the TI OMAP L138 EVM board to the serial port of your host machine. There is 1 serial port on TI OMAP L138 EVM board. Usually you should see some Uboot output on the console when you connect cable to the correct port.

The correct terminal settings of the program handling serial connection should be:

baudrate 115200
data 8 bit
parity none
stop 1bit
flow control none

2.3 Setup you environment#

1. Power on your target. You should see the u-boot output on your console. 2. Connect an ethernet cable to the Baseboard's port.

3. Boot the IFS image#

You can use TFTP download to transfer an OS image to the board, as described below.

3.1 Boot via tftp#

This method requires that you put the raw image generated by BSP (by default at $BSP_ROOT/images/ifs-omapl138.raw) to a TFTP server. This server must be reachable via board and preferably should be on the same LAN. As soon as u-boot starts, press any key so that u-boot stops and doesnt boot the prebuild linux kernel. Configure u-boot parameters as follows:

=> setenv ipaddr 10.90.74.214
=> setenv serverip 10.90.74.42
=> setenv bootfile ifs-omapl138.raw
=> setenv loadaddr 0xC0008000
=> setenv bootcmd 'tftpboot $loadaddr $bootfile; go $loadaddr'
=> setenv bootdelay 2
=> saveenv
Saving Environment to SPI Flash...
Erasing SPI flash...Writing to SPI flash...done
=> boot

At this point, you should see output similar to this when it finishes downloading:

## Starting application at 0xC0008000 ...
Welcome to QNX Neutrino 6.4.0 on the TI OMAPL138EVM Board
#

Congratulations! QNX 6.4.0 kernel is running on your system. You can test the OS simply by executing any shell builtin command or any command residing within the OS image (e.g. ls). Once the initial image is running, you can update the OS image using the network and flash drivers. Still the network and flash drivers need to be supported for the TI OMAP L138 EVM board.


4. Driver Command Summary#

Component Buildfile Command Required Binaries Required Libraries Source Location
Startup startup-omapl138 -L 0x80000000,0x20000 -vv startup-omapl138 libstartup.a src/hardware/startup/boards/omapl138
Serial devc-ser8250 -e -F -S -b115200 -c150000000/16 0x01d0d000^2,61
waitfor /dev/ser1 4
reopen /dev/ser1
devc-ser8250 none src/hardware/devc
I2C i2c-dm6446 -a0x1 -i15 -p0x01c22000 -f24000000 -l0x1000 --b10000 --u0 (for controller 1)
i2c-dm6446 -a0x2 -i51 -p0x01e28000 -f24000000 -l0x1000 --b10000 --u1 (for controller 2)
i2c-dm6446 libi2c-master.a src/hardware/i2c/dm6446
USB io-usb -dohci-omapl1xx ioport=0x01E25000,irq=59 -dotg-omapl1xx ioport=0x01E00000,irq=58 devu-ohci-omapl1xx.so
devu-otg-omapl1xx.so
libusbdi.so
io-blk.so
io-usb
usb
devb-umass
libcam.so
fs-dos.so
fs-qnx4.so
fs-ext2.so
cam-disk.so
"prebuiltonly"
Network io-pkt-v4 -ddm644x-omapl1xx -ptcpip io-pkt-v4
ifconfig
devn-dm644x-omapl1xx.so src/hardware/devn
RTC rtc -s -v omapl1xx
rtc -v omapl1xx
rtc
date
libutil.a src/utils/r/rtc
SPI spi-master -d dm644x base=0x01c41000,irq=20,clock=150000000,edma=0,en0def=1,spicntrlr=omapl13x
spi-master -u1 -d dm644x base=0x01F0E000,irq=56,clock=150000000,edma=0,en0def=1,spicntrlr=omapl13x
spi-master spi-dm644x.so src/hardware/spi/dm644x
DMA libdma-omapl1xx.so
libdma-omapl1xxS.a
src/lib/dma/omapl1xx
NAND fs-etfs-jacinto-omapl1xx -D addr=0x62000000,cs=3 -e
fs-etfs-jacinto-omapl1xx -D addr=0x62000000,cs=3 -m /fs/etfs
fs-etfs-jacinto-omapl1xx
etfsctl
src/hardware/etfs

Serial#

To start the Serial Driver, run:

devc-ser8250 -e -F -S -b115200 -c150000000/16 0x01d0d000^2,61

RTC#

To set the RTC time as that of the System time, run:

rtc -s -v omapl1xx

To set the System time as that of the RTC time, run:

rtc -v omapl1xx

NAND Flash#

To erase the NAND flash present on the UI board, run:

fs-etfs-jacinto-omapl1xx -D addr=0x62000000,cs=3 -e

To mount the ETFS file system on a mount point, run:

fs-etfs-jacinto-omapl1xx -D addr=0x62000000,cs=3 -m /fs/etfs

Network#

To start network driver, run:

io-pkt-v4 -ddm644x-omapl1xx -ptcpip

Note : Both the Ethernet Ports (connected to the MII interface on the Base board and RMII interface on the UI board) work, but not simultaneously. This is a hardware limitation. By default, the Ethernet Port on the Base board (MII interface) will work. To make the Ethernet Port on the UI board (RMII interface) to work, build the BSP's Startup with the -U option. "startup-omapl138 -wt -L 0x80000000,0x20000 -vv -U"

you should see following output when you run ifconfig


# ifconfig en0       
en0: flags=80008802<BROADCAST,SIMPLEX,MULTICAST,SHIM> mtu 1500
        address: 00:0e:99:02:f9:4e
        media: Ethernet 100baseTX
        status: active

To bring a network interface up, type following command

ifconfig en0 10.90.74.246/24 up

Here 10.90.74.246 is the IP address assigned to your target and 24 is the netmask bits (i.e. 255.255.255.0) The LEDs of the RJ45 port in the Base Board shall glow periodically.

SPI#

To start spi driver for spi0 interface, run:

spi-master -d dm644x base=0x01c41000,irq=20,clock=150000000,edma=0,en0def=1,spicntrlr=omapl13x

you can see a file /dev/spi0 after the above step.

To start spi driver for spi1 interface, run:

spi-master -u1 -d dm644x base=0x01F0E000,irq=56,clock=150000000,edma=0,en0def=1,spicntrlr=omapl13x

you can see a file /dev/spi1 after the above step.

For reading the on-board spi-flash you need to use /dev/spi1.

USB#

To start both USB OHCI (1.1) and USB EHCI OTG (2.0) drivers, run:

io-usb -dohci-omapl1xx ioport=0x01E25000,irq=59 -dotg-omapl1xx ioport=0x01E00000,irq=58

wait for /dev/io-usb/io-usb

To list and mount mass storage device, run:

devb-umass& (This will exit if it doesn't find any mass storage device, so start this only after plugging in a device)

mount -t <file_system_name> /dev/<device_name> <path to be mounted at>

5. Known Issues for This BSP#

  1. Time in the On board RTC (omapl1xx) is reset to the default value, after a hard reset of the Board. This is because, there is no separate isolated power supply connected to the RTC on the board.
  2. Time in the RTC is retained only in the case of a soft reset.
  3. USB2.0 Driver is not fully functional as CDMA support has to be added, so currently driver supports detection of usb devices.
  4. The network driver will not behave properly if issued with a flood ping of more than 50000 bytes (refer PR : 74266)