Project Home
Project Home
Project Information
Project Info
wiki3125: AtmelAT91SAM9RL64EKEvaluationBoard (Version 12)

Release Notes for the QNX Neutrino 6.4.0 BSP for Atmel AT91SAM9Rl64-EK Board#

System requirements#

Target system#

  • QNX Neutrino RTOS 6.4.0
  • Board: Atmel at91sam9rl64-EK Evaluation Board
  • Data-Flash: AT45DB642D (64 MB)
  • SDRAM: 16-bit Micron MT48LC16M16A2 (64 MB) SDRAM
  • NAND Flash: Micron MT29F2G08AAC (256 MB) NAND Flash

Host development system#

  • QNX Momentics 6.4.0, one of the following host systems:
    • QNX Neutrino 6.4.0
    • Microsoft Windows Vista, XP SP2 or SP3, 2000 SP4
    • Windows Machine have installed SAM-BA application provided from Atmel.
    • Linux Red Hat 8 or 9, Linux Red Hat Enterprise Workstation 3 or 4, Red Hat Fedora Core 3 or 4, or SUSE 10
  • Terminal emulation program (Qtalk, Momentics IDE Terminal, tip, HyperTerminal, etc.)
  • RS-232 serial port
  • NULL-modem serial cable

Getting Started#

Step 1: Connect your hardware#

Connect the serial cable to the first serial port of the AT91SAM9RL64 board to the first serial port of your windows machine. Install the SAM-BA application provided from Atmel.

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#

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

Step 4: Loading the OS image from QNX IPL into flash.#

The Atmel AT91SAM9RL62 board supports booting from a native QNX bootable IPL/OS image in flash.

Step 4A: Generate a bootable flash image#

Inside the images directory of BSP, Run the script mkflashimage. This script will create a combined IPL/OS image called ipl-ifs-at91sam9rl64.bin. This image needs to be write onto the Data-Flash present on the board. To write this image into Data-Flash you have to use SAM-BA programming tool provided by Atmel. This SAM-BA tool also helps to execute TCL scripts on the AT91SAM9RL64 board.
 The mkflashimage script:
# script to build a binary IPL and boot image for ATMEL AT91SAM9XX Evaluation Kit board
# NOTE the image (ipl-ifs-at91sam9xx.bin) must be built as binary, i.e. [virtual=armle,binary] in the buildfile 
set -v

#	Convert IPL into BINARY format
${QNX_HOST}/usr/bin/ntoarm-objcopy --input-format=elf32-littlearm --output-format=binary ../install/armle/boot/sys/ipl-at91sam9xx-at91sam9rl64 ipl-tmp-at91sam9rl64.bin

mkrec -s16k -ffull -r ipl-tmp-at91sam9rl64.bin > ipl-at91sam9rl64.bin

#	Combine the BINARY IPL with the BINARY OS Image
cat ./ipl-at91sam9rl64.bin ./ifs-at91sam9rl64.bin > ipl-ifs-at91sam9rl64.bin

#	Cleaning up temporary files
rm -f *tmp*

Step 4B: Download the Bootable OS image in Data-FLash#

  • In your Windows host machine installed SAM-BA application will help you to write the IPL and IFS on Data-Flash.
  • Connect the board's serial of DBGU with your windows host machine's COM Port.
  • You can use Term Tera VT100 which also offers the ability to connect to SSH2 hosts.
  • You need to Remove the Jumper J12 and J13 first and reset the Board.
  • Now you will see >Rom BOOT prompt.
  • From the SAM-BA application, Select the communication mode(usb/serial) and set the board to AT91SAM9RL64-EK, Press ok.
  • Select the Data-Flash AT45DB/DCB tab from the SAM-BA application window, . Execute the Enable Data-flash on CS0 script.
  • Select the ipl-ifs-at91sam9rl64.bin file to be sent to the target, and then press Send File. It will take a few seconds up to a minute.
  • Now on your terminal you will see output as follows:

QNX/Neutrino IPL for ATMEL AT91SAM9xx Board :
  d: download image to SDRAM using DBGU (serial) port
  f: scan Dataflash for image

*Option d will download the image.
*Option f will to boot an OS image in Flash.

After giving that options you will see the outputs:

Welcome to QNX Neutrino 6.4 on the Atmel AT91SAM9RL64 Board 

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

Summary of driver commands#

The driver command lines below are specific to the Atmel AT91SAM9RL64 board. See the online docs for each driver for additional command-line options and other details.

Note: Some of the following 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.


    startup-at91sam9xx-at91sam9rl64 -r 0x23dd0000,0x200000,1 -vvvvvvv


    devc-serusart -F -S -u2 -b115200 -c100000000 0xfffb0000^2,6 
Required binaries:
  • devc-serusart
    devc-seratdbgu -e -F -S -b115200 -c100000000 0xfffff200,1 
Required binaries:
  • devc-seratdbgu


    spi-master -d at91sam9xxspi base=0xfffcc000,irq=13 &
Required binaries:
  • spi-master

ETFS NAND flash#

    fs-etfs-at91sam9xx -D addr=0x40000000 -m /fs/etfs
Required binaries:
  • fs-etfs-at91sam9xx
  • etfsctl
Note: For more information about these commands, see the Neutrino Utilities Reference.


    io-display -dvid=0x0,did=0x0 
Note: To run io-graphics use the following commands:
Photon &
Required binaries:
Required configuration files:
  • /usr/photon/config/atmel91xx.conf=${PWD}/../src/hardware/devg/atmel91xx/atmel91xx.conf
  • /etc/system/config/display.conf=${PWD}/../src/hardware/devg/atmel91xx/display.conf

About graphics#

This driver currently supports the AT91SAM9RL64 integrated LCD controller . It was developed on the Atmel AT91SAM9RL64 Evaluation Board. This is the GF graphics driver is loaded by io-display.

LCD Displays#

  • By default the driver sets up the Hitachi TX09D71VM1CCA TFT with the AT91SAM9RL64 reference board.
You can use the driver configuration file atmel91xx.conf to other displays.

HW Format QNX Format Notes
8-bit 8-bit 8 bits-per-pixel palette-based
16-bit 15-bit QNX framework format is ARGB1555, but MSB is not actually used because the hardware uses only 15 bits
24-bit 32-bit actually unpacked 24-bit, meaning the upper 8 bits are not used

Reserving Memory / Memory Restrictions#

The Atmel AT91SMA9RL64 is a UMA system (Unified Memory Architecture). This means there is no dedicated video memory in the system. Surfaces displayed by the LCD controller, and rendered by the CPU, reside in system memory
  • To ensure there is enough memory available for graphics, we recommend that memory be reserved at startup by using the -r option to startup.
For example to reserve 2 MB of memory:

startup-at91sam9xx-at91sam9rl64 -r 0x23dd0000,0x200000,1 -vvvvvvv

where 0x23dd0000 is the physical base address of memory, and 0x200000 is the size of memory reserved in bytes.

  • When the graphics driver is started, this physical address and the size of memory are passed to the through the following options in the driver configuration file atmel91xx.conf:


For a complete list of options available to the driver please see the atmel91xx.conf file.

Image samba-ipl-ifs-img.JPG [AtmelAT91SAM9RL64EKEvaluationBoard/samba-ipl-ifs-img.JPG]
Image samba-ipl-img.JPG [AtmelAT91SAM9RL64EKEvaluationBoard/samba-ipl-img.JPG]
Image samba-ifs-img.JPG [AtmelAT91SAM9RL64EKEvaluationBoard/samba-ifs-img.JPG]
Image ipl-ifs-img.JPG [AtmelAT91SAM9RL64EKEvaluationBoard/ipl-ifs-img.JPG]
Image ipl-img.JPG [AtmelAT91SAM9RL64EKEvaluationBoard/ipl-img.JPG]
Image ifs-img.JPG [AtmelAT91SAM9RL64EKEvaluationBoard/ifs-img.JPG]
Image img2.JPG [AtmelAT91SAM9RL64EKEvaluationBoard/img2.JPG]
Image img1.JPG [AtmelAT91SAM9RL64EKEvaluationBoard/img1.JPG]
Bitmap img1.bmp [AtmelAT91SAM9RL64EKEvaluationBoard/img1.bmp]