wiki3006: Nto640TiDm355Evm1.0.0Releasenotes (Version 1) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Release Notes for the QNX Neutrino 6.4.0 BSP for Texas Instruments DM355 EVM 1.0.0#System requirements#Target system#
Host development system#
System Layout#The tables below depict the memory layout for the image and for the flash.
The interrupt vector table can be found in the buildfile located at src/hardware/startup/boards/dm355/build
Getting Started#Step 1: Connect your hardware#
Note: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 #1. On your host machine, start your favorite terminal program with these settings:
2. Start your target. You should see output similar to the following: this is MT29F16G08FAA device UBL: detected valid U-Boot magic number UBL: booting to U-Boot U-Boot 1.2.0 (Oct 17 2007 - 15:38:02) DRAM: 128 MB NAND: NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit) Bad block table found at page 524224, version 0x01 Bad block table found at page 524160, version 0x01 nand_read_bbt: Bad block at 0x1f6e0000 nand_read_bbt: Bad block at 0x3ad00000 nand_read_bbt: Bad block at 0x3fa80000 NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit) Bad block table found at page 524224, version 0x01 Bad block table found at page 524160, version 0x01 nand_read_bbt: Bad block at 0x27ea0000 nand_read_bbt: Bad block at 0x2ce40000 nand_read_bbt: Bad block at 0x35340000 2048 MiB In: serial Out: serial Err: serial ARM Clock :- 216MHz DDR Clock :- 171MHz Hit any key to stop autoboot: 3 Step 4: Setting up the environment#This method requires a raw image, which the buildfile creates by default. On your target, type the following, filling in the appropriate IP addresses and ifs file: DM355 EVM # setenv netmask 255.255.240.0 DM355 EVM # setenv ipaddr 10.42.104.17 DM355 EVM # setenv gatewayip 10.42.96.1 DM355 EVM # setenv serverip 10.42.104.16 DM355 EVM # setenv bootfile ifs-dm355.raw DM355 EVM # setenv 'bootcmd tftpboot 80010000;go 80010000' DM355 EVM # saveenv Restart your target, You should see output similar to the following: Hit any key to stop autoboot: 0 TFTP from server 10.42.104.16; our IP address is 10.42.104.17 Filename 'ifs-dm355.raw'. Load address: 0x80010000 Loading: T T T T T T T ################################################################# ############################################################ done Bytes transferred = 637324 (9b98c hex) ## Starting application at 0x80010000 ... Welcome to QNX Neutrino trunk on a TI DM355 Platform Step 5: Start working with Neutrino OS#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. For sample command lines, please see the "Summary of driver commands" section.
Driver Command Summary#The following table summarizes the commands to launch the various drivers.
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. Graphic and USB have additional details: Graphics#The driver supports the following analog outputs:
The VPSS controller supports the following 4 layers or "OSD windows" on the DM355, (bottom to top),
The user can control the following features for all layers:
Note: There is no hardware accelerated 2D or 3D rendering. Blending and chroma keying can only occur between OSD layers and YUV layers - not between OSD layers or between VID layers. This means you can do blending or chromakey between:
USB peripheral#The following offers in depth detail regarding support of the USB peripheral. 1. Quick Start Here is a quick overview on how to get the USB mass storage and CDC serial composite device up and running:
/sbin/devb-ram ram capacity=16384,nodinit,cache=0m waitfor /dev/hd0 /usr/bin/mkdosfs -F 16 /dev/hd0 /sbin/io-usb-dcd -vvvv -d/lib/dll/devu-usbumass- davinci.so ioport=0x1c64000,irq=12,verbose=2 /sbin/devu-umass_client-block -vv -l lun=0,devno=1,iface=0,fname=/dev/hd0 /sbin/devc-serusb_dcd -d iface_list=1 -vv
stty +edit < /dev/serusb1 on -t serusb1 ksh
2. Components The followingi components are used by the USB stack
Note that the serial number string descriptor can be overridden on the io-usb-dcd command line via the 'ser' option to *-davinci e.g. ser=19/07/2000. 3. DM355 EVM Configuration The following jumpers need to be removed in order to run as a peripheral:
4. Serial Support Required Windows XP Hotfixes The released version of the serial driver (usbser.sys) on Windows XP sp2 does not support devices with interface association descriptors. Microsoft has released hotfix 918365 to address this issue. See http://support.microsoft.com/kb/918365 This hotfix includes version 5.1.2600.2930 of usbser.sys that is required during hardware installation. An update to the USB common class generic parent driver (usbccgp.sys) may also be required. Microsoft hotfix 935892 includes verion 5.1.2600.3116. See http://support.microsoft.com/kb/935892 Both these hotfixes should be installed before attaching the peripheral for the first time. inf file Windows XP and Windows CE .Net include support for serial over USB. However, a suitable inf file needs to be provided to the hardware detection wizard upon the first insertion of the device. The inf file needs to be crafted specifically for the device. The vid, pid and mi in the inf file must match the vendor and product ids provided by the standard descriptor in order for the driver to be installed. To determine the vid, pid and mi that the Hardware Wizard is advertising, one can do the following. Once the peripheral is attached to windows,
Then, in Device Manager
The value will be shown the text box. Unless the descriptors have been altered, the serial interface should be MI_0 for the standalone serial device, and MI_1 for the composite device. Note: An example inf file is included below: ; Copyright (C) 2008 [Version] Signature="$Windows NT$" Class=Ports ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} Provider=%ACME% DriverVer=08/17/2004,0.0.2.0 [Manufacturer] %ACME%=ACMESerialDeviceList [ACMESerialDeviceList] ;; uncomment for devu-usbser-davinci.so: ;%ASERIAL%=ACMESerialInstall, USB\VID_19E9&PID_0014&MI_00 ;; uncommont for devu-usbumass_ser-davinci.so: %ASERIAL%=ACMESerialInstall, USB\VID_19E9&PID_0018&MI_01 [DestinationDirs] DefaultDestDir=10,System32\Drivers [ACMESerialInstall] CopyFiles=ACMESerialCopyFiles AddReg=ACMESerialAddReg [ACMESerialCopyFiles] usbser.sys [ACMESerialAddReg] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,usbser.sys HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" [ACMESerialInstall.Services] AddService = usbser,0x0002,ACMESerialService [ACMESerialService] DisplayName = %ASERIAL_DISPLAY_NAME% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %10%\System32\Drivers\usbser.sys LoadOrderGroup = Base [Strings] ACME = "Acme" ASERIAL = "Serial" ASERIAL_DISPLAY_NAME = "USB Serial Driver" Then, launch io-usb-dcd with either the usbser, or usbumass_ser variant, /sbin/io-usb-dcd -vvvv -d/lib/dll/devu-usbser-davinci.so ioport=0x1c64000,irq=12,verbose=2 and start the serial driver: /sbin/devc-serusb_dcd -d iface_list=0 -vv for usbser, or /sbin/devc-serusb_dcd -d iface_list=1 -vv for the usbumass_ser variant. Setting up windows Once the drivers are running on the target platform, the usb cable can be attached to the windows host. An appropriate inf file needs to be provided to the hardware wizard upon the first connection. On the first insertion Windows should detect the new hardware, and launch the "Found New Hardware Wizard".
Using the serial connection After the device is inserted in to the host, and the port is opened on the host, /dev/serusb1 will be created. At this point the serial connection can be used as a normal serial device. For example. ksh can be attached to this device as follows: stty +edit < /dev/serusb1 on -t serusb1 ksh 5. Mass Storage Support inf file No special configuration is needed on the Windows XP host to connect to and use a mass storage device. Running the Driver First the raw storage space required to host the mass storage disk needs to be configured. For this example we will use a small ram disk: /sbin/devb-ram ram capacity=16384,nodinit,cache=0m waitfor /dev/hd0 /usr/bin/mkdosfs -F 16 /dev/hd0 Then, launch io-usb-dcd with either the usbumass, or usbumass_ser variant, and start the mass storage client: /sbin/io-usb-dcd -vvvv -d/lib/dll/devu-usbumass-davinci.so ioport=0x1c64000,irq=12,verbose=2 /sbin/devu-umass_client-block -vv -l lun=0,devno=1,iface=0,fname=/dev/hd0 If usbumass_ser is being used, also start the serial client: /sbin/devc-serusb_dcd -d iface_list=1 -vvNote: The driver does not support the ability to have both Windows and target board access the filesytem at the same time. While the device is being accessed through Windows, it can not be expected that files on the target board can be accessed. There will be a conflict as both filesystems believe they have exclusive access to the raw media for filesytem updates. Doing so will likely corrupt the filesystem as both filesytems will update the media without the other filesystems knowledge. Once the board is disconnected or ejected from Windows, then it is safe to mount and access the filesystem on the target board. The example umass_ctrl is provided to facilitate this process. Setting up windows Once the drivers are running on the target platform, the usb cable can be attached to the windows host. The host should detect the mass storage device and create a new drive letter. Windows uses the serial string to differentiate between new and previously seen devices. 6. Uninstalling the driver from Windows Windows XP ties drivers to USB devices based on the vid and pid. If the device implementation has changed and a new inf file is required, or the install procedure needs to be tested, the peripheral can be un-installed from Windows XP as follows. First, copy the following into a new text file, and rename the file to devmgmt.bat. set devmgr_show_nonpresent_devices=1 start devmgmt.mscThen after disconnecting the peripheral, run devmgmt.bat to launch the device manager. From the view menu, select Show hidden devices. Then find the old device instances and delete them. Depending on the device type they may be under,
Known Issues for this BSP#Windows Connection Issue Problem Description If the target board is disconnected while the COM port is open and re- connected, the serial connection won't become active until the open session is closed. After closing the COM port, serial becomes active but the COM port will fail to appear in the available list even though the port is listed in the device manager. Workaround After removing the peripheral close or disconnect the terminal emulator before re-inserting the target. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Versions | Associations | Attachments | Back Links | |||||||