wiki3779: Nto640AtmelAt91sam9m10EKEVBTrunkReleasenotes | |||||||||||
Release Notes for the QNX Neutrino 6.4.0 BSP for Atmel AT91SAM9M10-EK Board#System requirements#Target system#
Host development system#
Getting Started#Step 1: Connect your hardware#Connect the DEBUG port of the AT91SAM9M10 board to the first serial port of your windows machine. Install the SAM-BA application provided by Atmel. Connect the board with Windows Machine using USB Cable.Step 2: Build the BSP#You can build an OS image from the source code or the binary components contained in a BSP package. For instructions about building an OS image, please refer to the chapter Working with a BSP in the Building Embedded Systems manual. After Building the BSP three bin files will be created in images directory.*ifs-at91sam9m10.bin *ipl-at91sam9m10.bin *ipl-ifs-at91sam9m10.bin mkflashimage script creates a combined IPL/IFS image as ipl-ifs-at91sam9m10.bin The mkflashimage script: #!/bin/sh # script to build a binary IPL and boot image for ATMEL AT91SAM9M10 Evaluation Kit board. # NOTE the image (ipl-ifs-at91sam9m10.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 -R.data ../install/armle/boot/sys/ipl-at91sam9m10 ipl-tmp-at91sam9m10.bin # Pad BINARY IPL mkrec -s16k -ffull -r ipl-tmp-at91sam9m10.bin > ipl-at91sam9m10.bin # Combine the BINARY IPL with the BINARY OS Image cat ./ipl-at91sam9m10.bin ./ifs-at91sam9m10.bin > ipl-ifs-at91sam9m10.bin # Cleaning up temporary files rm -f *tmp* Step 3A: Download the Bootable IFS image.#The Boot Program integrates different programs that manage download and/or upload into the different memories of the product. First, it initializes the Debug Unit serial port (DBGU) and the USB High Speed Device Port.
Install and setup SAM-BA#1. Install "Install AT91-ISP v1.13RC2.exe" . 2. Intall "ActiveTcl8.5.5.0.287690-win32-ix86-threaded.exe" i.e.TCL environment which is used by SAM-BA (any other TCL environment can also be used) . 3. Connect serial cable with windows machine, and use any serial port application such as teraterm or hyperterminal, and attach it with COM device, with baud rate set as 115200. 4. Restart the board and connect usb cable with windows machine. It will prompt with a new usb hardware found message, and will try to install the corresponding driver. 5. In case, a new usb hardware is not found. The followings sequence of operations should be done to fix ROMBoot on AT91SAM9M10-EK (Revision C) board: 5.1. Unplug power supply and unplug usb device cable from the board. 5.2. Remove jumper JP10 (NandFlash Chip Select) & JP12 (DataFlash Chip Select). 5.3. Plug serial cable, launch hyper terminal (115200 bauds, 8 bits, parity none, 1 stop bit, no flow control and then, plug power supply. 5.4. Type on hyper terminal : "Alt-0128 Alt-0128 #" and AT91SAM9M10-EK returns ">" . 5.5. Close hyper terminal and close jumper JP12 (DataFlash Chip Select). 5.6. Launch SAM-BA (Choose right COM port and AT91SAM9M10-EK). 5.7. Choose DataFlash media tab in the SAM-BA GUI interface. 5.8. Initialize DataFlash choosing the Enable action in the Scripts rolling menu and press Execute. 5.9. Choose Send boot file, press Execute. 5.10. Select AT91SAM9M11.bin binary file and press Open ; the media is written down 5.11. Close SAM-BA 6. Check device has enumerated properly by looking into device manager . 7. Start SAM-BA 2.9 with \usb\ARM0 as connection. Loading the IFS image using SAM-BA#
Now on your terminal you will see output as follows: RomBOOT > QNX Neutrino Initial Program Loader for ATMEL AT91SAM9M10-EK Commands: Press 'D' for serial download, using the 'sendnto' utility Press 'N' to Boot an OS image from NAND flash Atmel K9F2G08U0M detected. QNX IFS image detected on page: 00000009 Offset: 00000000 Size: 00A4EEE8 ####################################################Done found image, calling image setup... image_setup OK, calling image start... PIO init : DBGU, USART1, SPI0, Audio(AC97), NAND, USB, LCD, TWI) (I2C), EMAC. CPU0: Dcache: 1024x32 WB CPU0: Icache: 1024x32 CPU0: 41069265: arm926 rev 5 133MHz elf_map: 1M va=fe000000 pa=71000000 sz=00100000 elf_map: 1M va=fe000000 pa=71000000 sz=00100000 Header size=0x0000009c, Total Size=0x00000500, #Cpu=1, Type=4 Section:system_private offset:0x000001f0 size:0x00000068 syspage ptr user:fc404000 kernel:fc404000 cpupage ptr user:fc404800 kernel:fc404800 spacing:84 kdebug info:00000000 callback:00000000 boot pgms: idx=0 0) base paddr:71011000 start addr:fe03e838 ramsize:00000000 pagesize:00001000 Section:qtime offset:0x00000148 size:0x00000060 boot:00000000 CPS:00000000002faf08 rate/scale:320000000/-15 intr:1 Section:callout offset:0x000000a0 size:0x00000048 reboot:fc404678 power:fc404698 timer_load:fc4046ac reload:fc4046d4 value:fc404700 0) display:fc404720 poll:fc404744 break:fc404768 1) display:00000000 poll:00000000 break:00000000 Section:cpuinfo offset:0x000001a8 size:0x00000020 0) cpu:41069265 flags:40000000 speed:00000085 cache i/d:1/0 name:53 Section:cacheattr offset:0x000004c0 size:0x00000040 0) flags:32 size:0020 #lines:0400 control:fc404500 next:255 1) flags:11 size:0020 #lines:0400 control:fc404554 next:255 Section:meminfo offset:0x00000500 size:0x00000000 Section:asinfo offset:0x00000320 size:0x00000160 0000) 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000 n:21 0020) 0000000070000000-0000000077ffffff o:0000 a:0017 p:100 c:00000000 n:28 0040) 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000 n:21 0060) 0000000070000000-0000000077ffffff o:0040 a:0007 p:100 c:00000000 n:32 0080) 000000007100e108-0000000071a4eee7 o:0000 a:0005 p:100 c:00000000 n:60 00a0) 0000000071000000-000000007100e107 o:0000 a:0007 p:100 c:00000000 n:68 00c0) 000000007100e108-0000000071a4eee7 o:0000 a:0007 p:100 c:00000000 n:76 00e0) 0000000070000000-0000000070007fff o:0020 a:0007 p:100 c:00000000 n:84 0100) 0000000070010854-0000000070ffffff o:0020 a:0007 p:100 c:00000000 n:84 0120) 0000000071a4eee8-0000000073dcffff o:0020 a:0007 p:100 c:00000000 n:84 0140) 0000000073fd0000-0000000077ffffff o:0020 a:0007 p:100 c:00000000 n:84 Section:hwinfo offset:0x000002d8 size:0x00000048 0) size:3 tag:3 isize:3, iname:0, owner:65535, kids:1 12) size:3 tag:17 isize:3, iname:9, owner:0, kids:1 24) size:3 tag:3 isize:3, iname:37, owner:12, kids:1 36) size:4 tag:46 isize:4, iname:41, owner:24, kids:0 00 00 00 00 Section:typed_strings offset:0x00000258 size:0x00000020 off:0 type:5 string:'UNKNOWN' off:12 type:2 string:'localhost' Section:strings offset:0x00000278 size:0x00000060 [0]'hw' [3]'Group' [9]'unknown' [17]'Bus' [21]'memory' [28]'ram' [32]'1to1' [37]'rtc' [41]'NONE' [46]'Device' [53]'arm926' [60]'imagefs' [68]'startup' [76]'bootram' [84]'sysram' Section:intrinfo offset:0x00000480 size:0x00000040 0) vector_base:00000000, #vectors:32, cascade_vector:7fffffff cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000 id => flags:8000, size:002c, rtn:fc4045c0 eoi => flags:9000, size:0028, rtn:fc4045ec mask:fc404614, unmask:fc404638, config:00000000 Section:smp offset:0x00000500 size:0x00000000 Section:pminfo offset:0x00000500 size:0x00000000 Section:mdriver offset:0x00000500 size:0x00000000 Section:boxinfo offset:0x000001c8 size:0x00000028 hw_flags:00000000 Section:cpu offset:0x00000128 size:0x00000020 page_flush:fc404584 page_flush_deferred:fc4045bc upte_ro:00000aae upte_rw:00000ffe kpte_ro:0000000e kpte_rw:0000055e mask_nc:0000000c mmu_cr1:00051078 set:0000317f clr:00000000 -> 0005317f System page at phys:70010000 user:fc404000 kern:fc404000 Starting next program at vfe03e838 cpu_startnext: cpu0 -> fe03e838 Welcome to QNX Neutrino 6.4 on the Atmel AT91SAM9M10 Board Starting DBGU driver... Starting Serial USART 1 driver ... Starting Ethernet driver ... Starting SPI0 driver... Starting Audio driver... Starting Graphics driver... Starting USB driver... starting Input Drivers... Starting i2c1 driver... Starting i2c2 driver... # You can test the OS simply by executing any shell builtin command or any command residing within the OS image (e.g. ls). Step 3B: Reprogram the IPL.#In case if Board is new or IPL gets corrupted, We can reprogram IPL using SAM-BA application.
Step 3C: Download the combined IPL and IFS onto Data-Flash#
RomBOOT > QNX Neutrino Initial Program Loader for ATMEL AT91SAM9M10-EK Commands: Press 'D' for serial download, using the 'sendnto' utility Press 'N' to Boot an OS image from NAND flash Atmel K9F2G08U0M detected. QNX IFS image detected on page: 00000009 Offset: 00000000 Size: 00A4EEE8 ####################################################Done found image, calling image setup... image_setup OK, calling image start... PIO init : DBGU, USART1, SPI0, Audio(AC97), NAND, USB, LCD, TWI) (I2C), EMAC. CPU0: Dcache: 1024x32 WB CPU0: Icache: 1024x32 CPU0: 41069265: arm926 rev 5 133MHz elf_map: 1M va=fe000000 pa=71000000 sz=00100000 elf_map: 1M va=fe000000 pa=71000000 sz=00100000 Header size=0x0000009c, Total Size=0x00000500, #Cpu=1, Type=4 Section:system_private offset:0x000001f0 size:0x00000068 syspage ptr user:fc404000 kernel:fc404000 cpupage ptr user:fc404800 kernel:fc404800 spacing:84 kdebug info:00000000 callback:00000000 boot pgms: idx=0 0) base paddr:71011000 start addr:fe03e838 ramsize:00000000 pagesize:00001000 Section:qtime offset:0x00000148 size:0x00000060 boot:00000000 CPS:00000000002faf08 rate/scale:320000000/-15 intr:1 Section:callout offset:0x000000a0 size:0x00000048 reboot:fc404678 power:fc404698 timer_load:fc4046ac reload:fc4046d4 value:fc404700 0) display:fc404720 poll:fc404744 break:fc404768 1) display:00000000 poll:00000000 break:00000000 Section:cpuinfo offset:0x000001a8 size:0x00000020 0) cpu:41069265 flags:40000000 speed:00000085 cache i/d:1/0 name:53 Section:cacheattr offset:0x000004c0 size:0x00000040 0) flags:32 size:0020 #lines:0400 control:fc404500 next:255 1) flags:11 size:0020 #lines:0400 control:fc404554 next:255 Section:meminfo offset:0x00000500 size:0x00000000 Section:asinfo offset:0x00000320 size:0x00000160 0000) 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000 n:21 0020) 0000000070000000-0000000077ffffff o:0000 a:0017 p:100 c:00000000 n:28 0040) 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:00000000 n:21 0060) 0000000070000000-0000000077ffffff o:0040 a:0007 p:100 c:00000000 n:32 0080) 000000007100e108-0000000071a4eee7 o:0000 a:0005 p:100 c:00000000 n:60 00a0) 0000000071000000-000000007100e107 o:0000 a:0007 p:100 c:00000000 n:68 00c0) 000000007100e108-0000000071a4eee7 o:0000 a:0007 p:100 c:00000000 n:76 00e0) 0000000070000000-0000000070007fff o:0020 a:0007 p:100 c:00000000 n:84 0100) 0000000070010854-0000000070ffffff o:0020 a:0007 p:100 c:00000000 n:84 0120) 0000000071a4eee8-0000000073dcffff o:0020 a:0007 p:100 c:00000000 n:84 0140) 0000000073fd0000-0000000077ffffff o:0020 a:0007 p:100 c:00000000 n:84 Section:hwinfo offset:0x000002d8 size:0x00000048 0) size:3 tag:3 isize:3, iname:0, owner:65535, kids:1 12) size:3 tag:17 isize:3, iname:9, owner:0, kids:1 24) size:3 tag:3 isize:3, iname:37, owner:12, kids:1 36) size:4 tag:46 isize:4, iname:41, owner:24, kids:0 00 00 00 00 Section:typed_strings offset:0x00000258 size:0x00000020 off:0 type:5 string:'UNKNOWN' off:12 type:2 string:'localhost' Section:strings offset:0x00000278 size:0x00000060 [0]'hw' [3]'Group' [9]'unknown' [17]'Bus' [21]'memory' [28]'ram' [32]'1to1' [37]'rtc' [41]'NONE' [46]'Device' [53]'arm926' [60]'imagefs' [68]'startup' [76]'bootram' [84]'sysram' Section:intrinfo offset:0x00000480 size:0x00000040 0) vector_base:00000000, #vectors:32, cascade_vector:7fffffff cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000 id => flags:8000, size:002c, rtn:fc4045c0 eoi => flags:9000, size:0028, rtn:fc4045ec mask:fc404614, unmask:fc404638, config:00000000 Section:smp offset:0x00000500 size:0x00000000 Section:pminfo offset:0x00000500 size:0x00000000 Section:mdriver offset:0x00000500 size:0x00000000 Section:boxinfo offset:0x000001c8 size:0x00000028 hw_flags:00000000 Section:cpu offset:0x00000128 size:0x00000020 page_flush:fc404584 page_flush_deferred:fc4045bc upte_ro:00000aae upte_rw:00000ffe kpte_ro:0000000e kpte_rw:0000055e mask_nc:0000000c mmu_cr1:00051078 set:0000317f clr:00000000 -> 0005317f System page at phys:70010000 user:fc404000 kern:fc404000 Starting next program at vfe03e838 cpu_startnext: cpu0 -> fe03e838 Welcome to QNX Neutrino 6.4 on the Atmel AT91SAM9M10 Board Starting DBGU driver... Starting Serial USART 1 driver ... Starting Ethernet driver ... Starting SPI0 driver... Starting Audio driver... Starting Graphics driver... Starting USB driver... starting Input Drivers... Starting i2c1 driver... Starting i2c2 driver... # 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 AT91SAM9M10-EK 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:#Command:startup-at91sam9m10 -r 0x73dd0000,0x200000,1 -vvvvvvv Serial:#Command:devc-serusart -F -S -u2 -b115200 -c133000000 0xfff90000^2,8Required binaries:
devc-serdebug -e -F -S -b115200 -c133000000 0xffffee00,1Required binaries:
SPI:#Command:spi-master -d at91sam9xx base=0xFFFA4000,irq=14,clock=133000000Required binaries:
Network:#Command:io-pkt-v4 -dat91sam9xx mac=662200041615 -ptcpipRequired binaries:
Audio:#Command:io-audio -d at91sam9xx_ac97 ioport=0xfffac000,irq=24Required binaries:
USB:#Command:io-usb -dehci ioport=0x00800000,irq=22 -dohci ioport=0x00700000,irq=22Required binaries and libraries:
I2C#Command:i2c-at91sam9xx -I1 -c133000000 --u0 i2c-at91sam9xx -I2 -c133000000 --u1Required binaries:
Note: 7bit device address and 2 byte internal address supported. When writing to a device two bytes for internal address needs to be specified first
ETFS NAND flash#Command:fs-etfs-at91sam9xx -D addr=0x40000000,board_id=at91sam9m10-ek -m /fs/etfsRequired binaries:
Note: For more information about these commands, see the Neutrino Utilities Reference.
Graphics#Command:Photon & waitfor /dev/photon io-display -dvid=0x0,did=0x0 io-graphics pwm & pterm -x10 -y10 -h250 -w200 -t"QNX 6.4.0" -K 03 & devc-pty & Required binaries:
About graphics#This driver currently supports the AT91SAM9M10 integrated LCD controller . It was developed on the Atmel AT91SAM9M10 Evaluation Board. This is the GF graphics driver is loaded by io-display.LCD Displays#
Reserving Memory / Memory Restrictions#The Atmel AT91SMA9M10 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
startup-at91sam9m10 -r 0x73dd0000,0x200000,1 -vvvvvvv where 0x73dd0000 is the physical base address of memory, and 0x200000 is the size of memory reserved in bytes. For a list of options available to the driver please see the at91sam9xx.conf file.
Known Issues for This BSP#
|
|||||||||||
![]() | Versions | ![]() | Associations | ![]() | Attachments (3) | ![]() | Back Links | ![]() |
||