Project Home
Project Home
Wiki
Wiki
Project Information
Project Info
wiki4557: Nto641FreescaleI.mx53EvkTrunkReleasenotes (Version 3)


Release Notes for the QNX Neutrino 6.4.1 BSP for Freescale i.MX53 EVK 1.0.0#

System requirements#

Target system
  • QNX Neutrino RTOS 6.4.1

Host development system

  • QNX Momentics 6.4.1
  • Terminal emulation program (Qtalk, Momentics IDE Terminal, tip, HyperTerminal, etc.)
  • RS-232 serial port or a USB-to-serial adapter, and a straight-through serial cable
  • Ethernet link

System Layout#

The tables below depict the memory layout for the image.

Memory layout

ItemAddress
OS image loaded at 0x90100000

The interrupt vector table can be found in the buildfile located at src/hardware/startup/boards/mx53evk/build

Getting Started#

Starting Neutrino#

Step 1: Build the BSP
You can build a BSP OS image from the source code. For instructions about building a BSP OS image, please refer to the chapter Working with a BSP in the Building Embedded Systems manual.

  • When compiling using the command line, the ifs image is in the images directory.
  • When compiling using the IDE, the IFS image is by default at /Workspace_root_dir/bsp-freescale-mx53evk-src/images.

Step 2: Connect your hardware

  1. Set up the i.mx53 EVK board in boot mode. Refer to the manual for the correct default jumper settings to use the CPU board.
  2. Connect one end of the serial cable to the P5A1 (UART) serial port on the CPU board.
  3. Connect the other end of the serial cable to the first available serial port of your host machine (e.g. ser1 on a Neutrino host).

On your host machine, start your favorite terminal program with these settings:

  • Baud: 115200
  • Bits: 8
  • Stop bits: 1
  • Parity: none

Then, apply power to the target. You should see output similar to the following:

U-Boot 2009.08 (Mar 29 2010 - 04:22:30)

CPU:   Freescale i.MX53 family 1.0V at 800 MHz
mx53 pll1: 800MHz
mx53 pll2: 600MHz
mx53 pll3: 216MHz
ipg clock     : 60000000Hz
ipg per clock : 50000000Hz
uart clock    : 21600000Hz
cspi clock    : 54000000Hz
ahb clock     : 120000000Hz
axi_a clock   : 300000000Hz
axi_b clock   : 200000000Hz
emi_slow clock: 200000000Hz
ddr clock     : 300000000Hz
esdhc1 clock  : 120000000Hz
esdhc2 clock  : 120000000Hz
esdhc3 clock  : 120000000Hz
esdhc4 clock  : 120000000Hz
Board: MX53 EVK 1.0 [POR]
Boot Device: SD
I2C:In:    serial
Out:   serial
Err:   serial
Net:   FEC0 [PRIME]
Hit any key to stop autoboot:

Step 3: Boot the IFS image

SD card download#

Copy the raw OS image ifs-mx53evk.raw onto a mmcsd card, then insert the SD card in the MMCSD port and apply power to the target board. After U-boot is started, boot the ifs-mx53evk.raw image in the mmcsd card as follows from the # prompt:

mmcinit or mmc init (depends on which version of uboot you are using)
fatload mmc 0 0x90100000 ifs-mx53evk.raw
go 0x90100000

If the image is successfully loaded U-Boot will display:

## Starting application at 0x90100000

You also should see QNX Neutrino boot, followed by the welcome message on your terminal screen:

CPU0: L1 Icache: 512x64
CPU0: L1 Dcache: 512x64 WB
CPU0: L2 Dcache: 4096x64 WB
CPU0: VFP 410330c2
CPU0: 412fc085: Cortex A8 rev 5 800MHz
fec_disable
init_hwinfo
mx51_init_i2c
mx51_aud_mux_init
mx51pdk_fec_init
mx51_usb_host_init
mc51_init_esdhcv2
mx51_cspi_mux_init
init_audio

System page at phys:70011000 user:fc404000 kern:fc404000
Starting next program at vfe044e74
cpu_startnext: cpu0 -> fe044e74
VFPv3: fpsid=410330c2
coproc_attach(10): replacing fe066c84 with fe066444
coproc_attach(11): replacing fe066c84 with fe066444
Welcome to QNX Neutrino 6.4.1 on the i.MX53 EVK (ARM Cortex-A8 core) Board
Starting on-board ethernet with TCP/IP stack...
Getting network address with DHCP...
fec0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500
        address: XX:XX:XX:XX:XX:XX
        media: Ethernet autoselect (100baseTX full-duplex)
        status: active
        inet xxx.xxx.xxx.xxx netmask 0xfffff000 broadcast xxx.xxx.xxx.xxx
#

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

Driver Command Summary#

The following table summarizes the commands to launch the various drivers.

ComponentBuildfile CommandRequired BinariesRequired LibrariesSource Location
Startupstartup-mx53evk . . src/hardware/startup/boards/mx53evk
Serialdevc-sermx1 -e -F -c66500000 0x73FBC000,31
devc-sermx1 -e -F  
devc-sermx1 . src/hardware/devc/sermx1
FEC Network io-pkt-v4 -d mx53 mac=xxxxxxxxxxxx io-pkt-v4
ifconfig
devnp-mx53.so
libsocket.so
src/hardware/devnp/mx53

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.

Startup, Watchdog, Configurable SPI, Enhanced Configurable SPI and Ethernet have additional details:

Startup#

startup-mx53evk [startup-options]

Some modules aren't enabled after boot up, so you need to use command line options to startup to enable them. These options must be passed before any other startup options.

To enable Use this option Comment
WDT -W Enable WatchDogTimer
DVI mode -d1 Using the DVI mode to display
VGA mode -d2 Using the VGA mode to display

Ethernet#

io-pkt-v4-hc -d mx53 mac=xxxxxxxxxxxx

MAC address labelled on i.mx53 evk board must be provided with "mac" command line option.


Known Issues for This BSP#

  • Support for most features is either limited or disabled at this time. These limited features include:
    • SD card support
    • I2C
    • SPI
    • WDT
    • USB support
    • Audio
    • Video
    • DMA
  • To be determined if these issues remain
    • The audio driver deva-ctrl-mx-mx51evk.so doesn't support Syncronous data playback ability since the DMA library doesn't have position information. (Ref# 75488)
    • The i.MX35 (ARM1136) processor doesn't support unaligned accesses in hardware. If an application (e.g. pwmopts) tries to access data that isn't aligned on a 32-bit boundary, a bus error will occur. To avoid this memory fault, you can enable the software emulation of unaligned accesses by starting procnto with the -ae option. (Ref# 71252)