AM35xx WinCE-BSP Quick Start Guide

 Note that this article is obsolete and its content consolidated into  WinCE-BSP ARM-A8 Quick Start Guide

= Introduction =

This is the Quick Start Guide for the Windows Embedded CE 6.0 BSP for the Texas Instruments AM3517 processor. The BSP has been designed to run on the AM3517 EVM produced by Logic PD.

For information on the functionality and features provided in the BSP see the AM35x BSP User Guide

= Scope =

This document describes how to install, build and configure the BSP for AM3517 processor. Further information on Windows CE development can be found on the Microsoft website.

Windows Embedded CE Developer Center:

http://msdn.microsoft.com/en-us/windowsembedded/ce/default.aspx

Windows Embedded CE 6.0 Technical Documentation:

http://msdn.microsoft.com/en-us/library/ee504799.aspx

To jump start Windows CE design, use the Windows CE 180-day evaluation tool kit available via web download from our Windows Embedded Partners Adeneo Embedded.

Also, as needed, refer to self paced prerecorded training available at MSDN at:

Module 1 – Operating System Overview

http://www.microsoft.com/winme/0906/1000484/MOD-1_300k/default.html

 Module 2 – Tools for Platform Development

http://www.microsoft.com/winme/0906/1000484/MOD-2_300k/default.html

Module 3 – Operating System Internals

http://www.microsoft.com/winme/0906/1000484/MOD-3_300k/default.html

 Module 4 – Operating System Components

http://www.microsoft.com/winme/0906/1000484/MOD-4_300k/default.html

 Module 5 – The Build System

http://www.microsoft.com/winme/0906/1000484/MOD-5_300k/default.html

 Module 6 – The Board Support Package

http://www.microsoft.com/winme/0906/1000484/MOD-6_300k/default.html

 Module 7 – Device Driver Concepts

http://www.microsoft.com/winme/0906/1000484/MOD-7_300k/default.html

 Module 8 – Customizing the OS Design

http://www.microsoft.com/winme/0906/1000484/MOD-8_300k/default.html

 Module 9 – Application Development

http://www.microsoft.com/winme/0906/1000484/MOD-9_300k/default.html

<font color="#1f497d"> Module 10 – Testing &amp; Verification

<font color="#1f497d">http://www.microsoft.com/winme/0906/1000484/MOD-10_300k/default.html

= References =

1. AM35x BSP User Guide

= Requirements =

Hardware
To use the BSP you will require the following hardware:


 * AM3517 EVM. Available from Logic (www.logicpd.com).
 * Development PC with the following minimum system requirements:
 * 1 GHz processor; 2 GHz recommended
 * 1 GB of RAM
 * Microsoft Windows XP Professional Service Pack 2, Windows Vista, or Windows 7
 * 18 GB of available space required on installation drive
 * 1 GB of available space required on system drive
 * DVD-ROM Drive
 * Display monitor that supports 1024 x 768 high color or better
 * Keyboard and Microsoft mouse or compatible pointing device

Software
The following development tools and versions are recommended for building the BSP:


 * Microsoft Visual Studio 2005 Professional Edition
 * Microsoft Visual Studio 2005 Professional Service Pack 1
 * Microsoft Visual Studio 2005 Professional SP1 Update for Vista (if applicable)
 * Windows Embedded CE 6.0 Platform Builder
 * Windows Embedded CE 6.0 Service Pack 1
 * Windows Embedded CE 6.0 R2
 * Windows Embedded CE 6.0 R3
 * Windows Embedded CE 6.0 Cumulative Product Update Rollup Package (through 12/31/2009)
 * Windows Embedded CE 6.0 Monthly Updates (January 2010 through August 2010)
 * Serial Terminal application (e.g Tera Term Pro Web v3.1.3 or HyperTerminal)
 * Windows Mobile Device Center (for Windows Vista and 7)
 * Windows ActiveSync (for Windows XP)

= Hardware Setup =

Board Setup
Below is the minimum setup required for the AM3517 EVM:


 * Null-modem serial cable connected to the EVM (UART 3) and the development PC
 * Ethernet cross over cable connected to the EVM and the development PC (or both EVM and PC connected to a switch via standard Ethernet cables)
 * 5V power supply connected to the EVM

USB Hardware
USB client devices such a mouse, keyboard or flash drive can be attached directly to the EVM via the Experimenter board USB Host or USB OTG port.

To attach client devices via the USB Host port you will require:


 * USB Powered Hub.

To attach client devices via the USB OTG high speed port you will require:


 * USB type A socket to micro-A plug (the micro-A plug has the ID pin grounded).

To attach the EVM to a PC (for ActiveSync for example) the OTG port can be used with the following cable:


 * USB A plug to micro-B plug

Suitable cables are supplied with the EVM.

Audio Hardware
To use the audio features in the BSP you will require the following hardware connected to the 3.5mm audio jacks:

• Line in source – LINE IN CODEC 1 (J12)

• Microphone in source – MIC IN CODEC 1 (J13)

• Headphones / speakers – LINE OUT CODEC 1 (J9)

• Headphones / speakers – LINE OUT CODEC 2 (J10)

By default the audio driver will use LINE IN Codec 1 and LINE OUT Codec 1. This can be changed using the wavmixer.exe tool.

Note that Codec 2 does not have a "Line In" connector wired up.

SD/MMC Cards
The SD card driver in the BSP supports use of SD cards (including high capacity cards) and MMC cards (including MMCplus 8bit cards).

Note that the data lines required for full 8-bit transmissions are not connect. Cards that support 8-bit will be mounted and used as 4-bit.

Display Hardware
The display driver supports the LCD panel on the AM35x eXperimenter board. The display driver supports the following features:


 * Windows GDI
 * DirectDraw
 * Hardware accelerated rotation using VRFB

The display driver supports the following panels and resolutions:


 * Onboard LCD display - 480x272@60 Hz
 * External DVI display – 640x480@60 Hz
 * External DVI display – 640x480@72 Hz
 * External DVI display – 800x480@60 Hz
 * External DVI display – 800x600@60 Hz
 * External DVI display – 800x600@56 Hz
 * External DVI display – 1024x768@60 Hz
 * External DVI display – 1280x720@60 Hz

The panel/resolution to use is configurable through EBOOT ’ s menu item named "Select Display Resolution".

Video Input Hardware
The video input driver supports right now only composite video (via TVP5146). Here are the steps needed in order to enable and use video input.

Before booting the board, make sure "user switches" on the application board are configured as this: 1,2: ON ; 3,4: Don ’ t care.

In your OSDesign, make sure VRFB driver is not selected.

Connect the video player to the composite video input on the application board (currently, this is the only one supported).

= Building the BSP =

Tools Setup
Connect the development PC to the EVM using the serial cable and configure your chosen serial terminal application for 115200 baud, 8 data bits, 1 stop bit, no parity:



IMPORTANT: If you have other development tools installed on your PC check that they have not defined environment variables that may conflict with VS2005. For example, check if MAKEFLAGS or INCLUDES have been defined and un-define them before starting VS2005.

BSP Source Code Installation (ToDo: Update after install jammer is done)
Extract the BSP source code from the release installation file. Move the OS designs and BSP platform files into the relevant locations for Windows Embedded CE 6.0:

Move extracted folder: BSP\AM35x_BSP

To: C:\WINCE600\PLATFORM\

Move extracted folder: BSP\COMMON\SRC\SOC\COMMON_TI_V1

To: C:\WINCE600\PLATFORM\COMMON\SRC\SOC\

Move extracted folder: OSDesigns\AM35x_OSDesign

To: C:\WINCE600\OSDesigns\

Move extracted folder: PowerVR\PowerVR

To: C:\WINCE600\PUBLIC\

Move extracted folder: PowerVR\PowerVR-Demos

To: C:\WINCE600\PUBLIC\

Move extracted folder: 3rdParty\dvsdk_1_10_00_00

To: C:\WINCE600\3rdParty\

BSP Build Notes
Before building and running an OS design the following is a configuration change you may wish to make:


 * Console access – Windows CE does not provide a shell on the UART but you can telnet to the target to get a text console. See the Telnet and FTP section below for details on enabling telnet support.

= Building the OS Design =

The BSP comes with the following OS Design:


 * AM35x_OSDesign – Fully featured design including the Silverlight demos, Windows Media Player and Internet Explorer (see the Demo OS Design section below for more details).

In Visual Studio 2005, open the solution file for the OS Design you wish to build. For example: C:\WINCE600\OSDesigns\AM35x_OSDesign\AM35x_OSDesign.sln



Select a release build by selecting menu option Build - > Configuration Manager and selecting AM35x_ARMV4I Release as the Active solution configuration:

To build the OS design select menu option Build - > Rebuild Solution.

This will build an EBOOT boot-loader image and a CE 6.0 OS image.

= Running OS Designs =

This section describes how to boot using the SD Card on the EVM. For details of booting from NAND, or flashing the EBOOT over Ethernet, or Serial see the User Guide.

Booting AM3517 from SD Card.
The EVM is capable of booting the BSP from a correctly formatted, programmed and inserted SD memory card. Use the TI SDCard boot utility provided in this release to do so. Select MLO and then EBOOTSD.nb0 to obtain a bootable SD Card.

Use the following switch settings on the EVM to boot from SD Card:

Configuring EBOOT
Once EBOOT is flashed and running you can configure the bootloader settings. Use your serial terminal application (115200 baud, 8bit, no parity, 1stop) to access the EBOOT menus by pressing SPACE when EBOOT is booting. SD Eboot is preconfigured to load NK.bin from the SD Card, so no configuration changes are needed. More information on loading NK from another source can be found in the User Guide.

Booting the Kernel
To boot from SD Card, make sure NK.bin exists on the SD Card.

In the EBOOT menu press [ 0 ] to load WinCE.

= Customizing an OS Design =

CE 6.0 Catalog
OS designs are customized by selecting components from the CE 6.0 catalog. The catalog can be seen by selecting the Catalog Items View tab in VS2005, or selecting View - > Other Windows - > Catalog Items View:



The catalog is divided into the following sections:


 * BSP – Contains reference BSPs shipped with CE 6.0. You do not generally need to select anything in this section.


 * Core OS – Contains the standard CE 6.0 components. The CE 6.0 features you wish to use in your OS design are selected from this section.


 * Device Drivers – Contains drivers for some commonly used hardware components.


 * Third Party – Contains BSPs not shipped with CE 6.0, such as the AM35x BSP.

The sections below describe which catalog components need selecting to support particular features or functionality of the AM3517 EVM.

OS Build Caveats
When Core OS or Device Drivers catalog selections are changed in an OS design you need to perform a clean and full rebuild. This can be done using the build menu in VS2005 by select Clean Solution followed by Rebuild Solution. This should ensure that the correct image is built.

If you change just AM35x BSP catalog selections (under Third Party \ BSP \ AM35x_BSP) it is usually possible to rebuild just the BSP (menu option Build - > Advanced Build Commands - > Rebuild Current BSP and Subprojects). Be warned though that this does not always rebuild every part of the BSP that is affected by the catalog change. If you see unexpected build or run time issues then perform a clean and full rebuild as described above.

BSP Component Conflicts
Due to the extensive SOC pin multiplexing and the EVM design there are some BSP component combinations that are not supported. When customizing an OS design the following component conflicts should be observed:

• The USB Host Port 2 (App board)requires that the Display driverbe disabled and NULL (Stub)display driver be enabled (NULL (Stub)can be found under Device Drivers \ Display).

KITL Configuration
KITL over Ethernet is supported by the BSP. Enabling KITL in an OS design enables development tools such as the

Target Control and the Kernel Debugger to be used. KITL and the kernel debugger are enabled via the project properties:

Project - > Properties - > Configuration Properties - > Build Options

KITL and the Kernel Debugger can be enabled or disabled for both Debug and Release builds.

Rebuild the BSP after changing build options.

 * Note: to use KITL image, you must download image over Ethernet, see User Guide for detailed instructions.

NDIS Ethernet Configuration
The TCP/IP settings for the driver are configured in the EBOOT menu. Optionally you may edit the following registry files for the EMAC on the Experimenter board, or the SMSC9118 on the Application board:


 * C:\WINCE600\PLATFORM\AM35x_BSP\SRC\DRIVERS\EMAC\omap_emac.reg

or


 * C:\WINCE600\PLATFORM\AM35x_BSP\SRC\DRIVERS\SMSC9118\smsc9118.reg

Find the TcpIp section:


 * [ HKEY_LOCAL_MACHINE\Comm\EMAC1\Parms\TcpIp ]

or


 * [ HKEY_LOCAL_MACHINE\Comm\SMSC91181\Parms\TcpIp ]

Change the IP settings appropriately for your LAN.

Telnet and FTP Support
Telnet and FTP servers can be added to an OS design by selecting the following items in the catalog:


 * Core OS \ CEBASE \ Communication Services and Networking \ Servers \


 * Telnet Server


 * FTP Server

USB Host Support
To add support for a USB mouse and keyboard select these items in the catalog:


 * Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ USB \ USB Host 1


 * Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ USB \ USB Host 2


 * * note: must disable Display driver as mentioned in BSP Component Conflicts


 * Core OS \ CEBASE \ Core OS Services \ USB Host Support \


 * USB Host Support


 * USB Human Input Device (HID) Class Driver


 * USB Human Input Device (HID) Class Driver \ USB HID Keyboard and Mouse

If you want to add USB flash drive support add:


 * Core OS \ CEBASE \ Core OS Services \ USB Host Support \ USB Storage Class Driver


 * Core OS \ CEBASE \ File Systems and Data Store \ Storage Manager \ FAT File System

Rebuild the OS design after changing catalog selections.

USB Function and ActiveSync Support
To add support for ActiveSync over USB select these items in the catalog:


 * Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ USB \ OTG Device (Experimenter board)


 * Device Drivers \ USB Function \ USB Function Clients \ Serial


 * Core OS \ CEBASE \ Applications - End User \ ActiveSync


 * Core OS \ CEBASE \ Communication Services and Networking \


 * Networking - WAN \ Dial Up Networking \ Autodial


 * Core OS \ CEBASE \ Communication Services and Networking \


 * Networking - WAN \ Telephony API (TAPI 2.0)


 * Core OS \ CEBASE \ Shell and User Interface \ Shell \ Graphical Shell \ Standard Shell


 * Core OS \ CEBASE \ Shell and User Interface \ User Interface \

Network User Interface

Rebuild the OS design after changing catalog selections.

The desktop Windows version of ActiveSync can be downloaded from the Microsoft website.

NAND Support
To add support for the NAND flash file system, select these items in the catalog:


 * Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ NAND driver


 * Core OS \ CEBASE \ File Systems and Data Store \ Storage Manager \ FAT File System


 * Core OS \ CEBASE \ File Systems and Data Store \ Storage Manager \ Storage Manager Control Panel Applet

The NAND flash can be partitioned and formatted using the storage manager control panel applet.

The mount point for the NAND flash can be changed by editing the following registry entry in the \AM35x_BSP\SRC\DRIVERS\BLOCK\nand\omap_nand.reg file: [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash] "Folder"="Mounted Volume" This will tell the Storage Manager to mount the NAND in the ’ \Mounted Volume ’ folder.

UART Support
Support for each of the three serial UART modules can be added by selecting the following items in the catalog:


 * Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ UART \ UARTx driver

NOTE: When a serial driver for UART 3 is included in an OS design the OAL debug output is disabled. And "Retail Messages" must be disabled in the EBOOT menu.

SD/MMC File System Support
To add support for the SD/MMC slot, select these items in the catalog:

Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ SD \ SDHC Slot 1


 * Device Drivers \ SD \ SD Bus Driver


 * Core OS \ CEBASE \ File Systems and Data Store \ Storage Manager \


 * exFAT File System


 * FAT File System


 * Core OS \ CEBASE \ File Systems and Data Store \ Storage Manager \ Storage Manager Control Panel Applet

SD/MMC cards can be partitioned and formatted using the storage manager control panel applet.

Audio Support
To add support for the audio codec, select these items in the catalog:


 * Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ Audio \ Codec 1 (AIC23)


 * Support for encoded media file playback (e.g. MP3, WMA) and the CE Media Player can be added to an OS design by selecting these items in the catalogue:


 * Core OS \ CEBASE \ Graphics and Multimedia Technologies \ Media \


 * DirectShow \ DirectShow Core


 * Media Formats \ MPEG-1 Parser/Splitter


 * Audio Codecs and Renderers \ Waveform Audio Renderer


 * WMA and MP3 Local Playback


 * Windows Media Player \ Windows Media Player


 * The graphical shell also needs to be included in order to use the CE Media Player application:


 * Core OS \ CEBASE \ Shell and User Interface \ Shell \ Graphical Shell \ Standard Shell

Video Support
To add support for the video input codec, select these items in the catalog:


 * Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ VideoInputDrv \ Video input driver

= Demonstration OS Design =

Overview
A demonstration OS Design (AM35x_OSDesign) is included with the BSP. This OS design includes the following CE 6.0 components:


 * Silverlight sample application
 * Windows Media Player
 * Software audio codecs for WMA and MP3
 * Software video codecs for WMV/MPEG-4 and MPEG-1
 * Streaming media support
 * Internet Explorer 6.0 Sample Browser

Notes:


 * Internet Explorer 6.0 is a heavyweight application so expect it to run quite slowly.
 * The software video codecs used by Windows Media Player max out the CPU when running so expect playback to be slow and frames to be skipped.

= Standalone Boot =

The EVM can be configured to boot the OS design standalone from an SD/MMC card. Perform a Release build of the OS design, as described in the sections above. The OS image can then be found in the following location:


 * C:\WINCE600\OSDesigns\AM35x_OSDesign\AM35x_OSDesign\RelDir\AM35x_BSP_ARMV4I_Release

Write the OS image to an SD/MMC card using a PC card reader:


 * 1) Format the SD/MMC card with a FAT32 file system using the TI SDCard boot utility provided in the release.
 * 2) Copy MLO, ebootsd.nb0, and NK.bin to the SD/MMC card.

Configure EBOOT to boot the image from SD card:


 * 1. Insert the SD/MMC card into the SD slot on the EVM.


 * 2. Use the following switch settings on the EVM to boot from SD Card


 * 3. Power on or reset the EVM. Use your serial terminal application to access the EBOOT menus by pressing SPACE when EBOOT is booting.
 * 4. Boot Device is set to SD Card by default.
 * 5. Exit the menus to boot the CE image from the SD/MMC card using option 0
 * 6. Wait while image is read and booted.