NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
WinCE-BSP ARM-A8 Quick Start Guide
Contents
- 1 Introduction
- 2 Notation Conventions
- 3 Scope
- 4 References
- 5 Requirements
- 6 Hardware Setup
- 7 Running BSP Demo Images
- 8 Building the BSP
- 9 Building the OS Design
- 10 Running OS Designs
- 11 Customizing an OS Design
- 11.1 CE 6.0 Catalog
- 11.2 OS Build Caveats
- 11.3 KITL Configuration
- 11.4 NDIS Ethernet Configuration
- 11.5 Telnet and FTP Support
- 11.6 USB Host Support
- 11.7 USB Function and ActiveSync Support
- 11.8 Keypad Support for AM33x EVM
- 11.9 NAND Support
- 11.10 UART Support
- 11.11 SD/MMC File System Support
- 11.12 Audio Support
- 11.13 Video Support
- 12 Demonstration OS Design
- 13 Standalone Boot
Introduction[edit]
Contents of this guide have been updated to include Release 2.30. Users of earlier releases can still use this guide but support for new platforms (AM387x and AM335x) is only available in Release 2.30.
This is the Quick Start Guide for the BSP for the Texas Instruments ARM_A8 (OMAP35x/DM37x/AM35x) processors for Windows Embedded CE 6.0 and WEC 7. In addition, this guide also covers platforms AM335x and AM387x (WEC 7 ONLY). The BSP has been designed to run on the following platforms:
1. EVM_OMAP3530: OMAP3530 EVM produced by Mistral(with OMAP35x and DM37x processor).
2. AM35x_BSP: AM3517 EVM produced by Logic PD(with AM35x processor).
3. AM387x_EVM Baseboard with PG2.1 processor (DDR3 memory) - produced by Mistral. No daughter card is supported.
4. AM335x_EVM - General Purpose EVM, Beta board, profile 0 only
For information on the functionality and features provided in the BSP see the ARM_A8 BSP User Guide.
Notation Conventions[edit]
The following section describes terms used in this document.
CPU Name[edit]
This document is written to support the OMAP35x EVM, AM35x EVM, AM387x and AM335x family. The term OMAP35x will be used to indicate one of the CPU names (OMAP35x family and AM/DM37x family) supported by the OMAP35x EVM. The term AM35x will be used to indicate one of the CPU names supported by the AM35x EVM. When working with a particular CPU type, the term OMAP3530 should be understood as being the name of the CPU.
CPU Family |
EVM Supported |
CPU Name |
---|---|---|
OMAP35x |
OMAP35x EVM |
OMAP3503/3515/3525/3530 |
AM/DM37x |
OMAP35x EVM |
DM3730/3725, AM3715/3703 |
AM35x |
AM35x EVM |
AM3517/3505 |
AM387x |
AM387x EVM |
AM387x |
AM335x |
AM335x GP EVM |
AM335x |
BSP Folder[edit]
This document is written to support the following EVMs:
- OMAP35x EVM
- OMAP35x EVM
- AM35x EVM
- AM35x EVM
- AM387x EVM
- AM387x EVM
- AM335x EVM
- AM335x EVM
The BSP folders for these EVMs are as follows:
- OMAP35x EVM: platform/EVM_OMAP3530
- AM35x EVM: platform/AM35X_BSP
- AM387x EVM: platform/AM387x_BSP
- AM335x EVM: platform/AM33x_BSP
- OMAP35x EVM: platform/EVM_OMAP3530
In this document, the term BSP Folder will be used to refer to one of the above folders depending upon the context.
TI EVM[edit]
When not explicitly specified, TI EVM refers to any of the above specified EVMs.
WINCE OS
[edit]
When not explicitly specified, this content applies to both WinCE 6.0 R3 and WEC 7. For demonstration purposes, CE6 examples may be used. Unless otherwise specified in that section, similar principles apply for WEC 7 for those examples. Please use ARMV7 for CE7 and ARMV4I for CE6.
BSP Version[edit]
BSP 1.x releases are based on Windows Embedded CE 6.0 whereas BSP 2.x releases are based on Windows Embedded Compact 7.0.
Other Terms[edit]
Knowledge of Visual Studio, Platform Builder and Windows Embedded CE terms is assumed. The user should consult Platform Builder documentation for a definition of any unfamiliar terms.
Scope[edit]
This document describes how to install, build and configure the BSP for TI ARM_A8 processor. Further information on Windows CE development can be found on the Microsoft website.
Windows Embedded CE Developer Centre:
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
Windows Embedded Compact 7 Technical Documentation
http://msdn.microsoft.com/en-us/library/gg154201.aspx
To jumpstart 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
Module 10 – Testing & Verification
http://www.microsoft.com/winme/0906/1000484/MOD-10_300k/default.html
References[edit]
- 1. TI ARM_A8 BSP User Guide
- 2. TI ARM_A8 Release Notes
Requirements[edit]
Hardware[edit]
To use the BSP you will require the following hardware:
- OMAP3530 EVM. Available from Mistral (www.mistralsolutions.com).
- AM3517 EVM. Available from Logic (www.logicpd.com).
- AM387x EVM. Available from Mistral (www.mistralsolutions.com).
- AM335x EVM. Please see your TI representative.
- 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[edit]
The following development tools and versions are recommended for building the BSP versions 1.x:
- 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)
The following development tools and versions are recommended for building the BSP versions 2.x:
- Microsoft Visual Studio 2008 Professional Edition
- Microsoft Visual Studio 2008 Professional Service Pack 1
- Windows Embedded Compact 7.0
- Windows Embedded Compact 7 Updates - update 1 to update 4 (Oct 2011)
- Serial Terminal application (e.g. Tera Term Pro Web v3.1.3 or HyperTerminal)
- Windows ActiveSync (for Windows XP)
Hardware Setup[edit]
Board Setup[edit]
Below is the minimum setup required for connecting EVMs to development PC:
- Null-modem serial cable connected to the EVM 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)
- Power supply (that came with the board) connected to the EVM
USB Hardware[edit]
USB client devices such a mouse, keyboard or flash drive can be attached directly to the EVM via 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[edit]
OMAP3530 EVM
To use the audio features in the BSP you will require the following hardware connected to the 3.5mm audio jacks:
• Line in source – AUD_IN
• Headphones / speakers – AUD_OUT
Input and output volume can be changed using the wavmixer.exe tool.
AM3517 EVM
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.
AM387X EVM
To use the audio features in the BSP you will require the following hardware connected to the 3.5mm audio jacks:
• Microphone in source – Mic (J8)
• Headphones / speakers – HP_OUT (J6)
Input and output volume can be changed using the wavvol.exe or wavtest.exe tool.
AM335X EVM
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 (J27)
• Headphones / speakers – Headphone_OUT (J26)
Input and output volume can be changed using the wavvol.exe or wavtest.exe tool.
SD/MMC Cards[edit]
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 on AM3517 EVM the data lines required for full 8-bit transmissions are not connected. Cards that support 8-bit will be mounted and used as 4-bit.
Display Hardware[edit]
The display driver supports the LCD panel on the OMAP3530 board and AM35x eXperimenter board. It also supports LCD panel on AM335x GP EVM. LCD is not supported on AM387x baseboard and you will have to connect a display monitor using HDMI or S-Video interface.
The display driver supports the following features:
- Windows GDI
- DirectDraw
- Hardware accelerated rotation using VRFB (only on OMAP35x, DM37x and AM35x platforms. Disabled by default but can be enabled with a catalog option)
Each platform supports a different set of panels and resolutions as given in the following section.
OMAP35x EVM Display Modes (for OMAP35xx/DM37xx)
The display driver supports the following panels and resolutions:
- Onboard LCD display - 480x640@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".
AM35x eXperimenter board Display Modes
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".
AM335x GP EVM Display modes
The display driver supports the following panels and resolutions:
- Onboard LCD display - 800x480@60 Hz
AM387x EVM Display modes
The display driver supports the following panels and resolutions:
- External HDMI display – 1280x720@60 Hz (default)
- External HDMI display – 1920x1080@30 Hz
- External S-Video NTSC – 704x480@60 Hz
- External S-Video PAL – 704x576@50 Hz
The display mode is compile time configured using catalog entries under Third Party->BSP->AM387X_BSP:ARMV7->Drivers->Display.
Video Input Hardware[edit]
OMAP35x EVM
The video input driver supports composite, s-video, or component video.
In your OSDesign, make sure VRFB driver is not selected.
Connect the video player to the composite, s-video, or component video input on the EVM.
AM35x EVM
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).
Running BSP Demo Images
[edit]
1. Refer to the BSP_WINCE_ARM_A8_TI_Default_Demo_ReadMe.txt on the download page to understand the contents of BSP demo packages.
2. Depending on the NAND ECC Type you have, select the appropriate EBOOT and XLDR from the EBOOT_XLDR folder. If you are uncertain, then select the Hamming 1 bit images (OMAP35x and AM35x only). For AM335x and AM387x, only BCH8bit is available.
3. For basic demo, use the NK_demo.bin image and rename to NK.bin. This step is needed because by default EBOOT looks for a filename called NK.bin as the kernel image.
4. For SD boot, follow the steps mentioned here.
5. For NAND boot, follow the steps mentioned here.
6. To test fast boot images (BSP 1.x release only), please use the EBOOT and XLDR from the fastboot folder and not the EBOOT_XLDR folders. For instructions on how to test fast boot images, follow the steps mentioned here.
7. To test other variants of kernel images provided in demo package, please rename the NK_xxx.bin file to NK.bin and use this file in steps 4 or 5 above.
Building the BSP[edit]
Tools Setup[edit]
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/VS2008. For example, check if MAKEFLAGS or INCLUDES have been defined and un-define them before starting VS2005/VS2008.
BSP Source Code Installation[edit]
To obtain BSP source code, download and install the source installable package - BSP_WINCE_ARM_A8_<version>_Source.exe. The installation package will prompt for 2 directories:
- 1. Directory where you want to install the docs, tools and demos (Default: C:\TI)
- 2. WINCEROOT directory for installing the BSP source (Default: C:\WINCE600 or C:\WINCE700)
If step 2 is done, then you can directly open the OS-design in Platform Builder and start compiling the new BSP. No additional step is required. However, note that you will need to backup and delete the previous installations of this BSP from WINCEROOT.
Note: You can skip the step for installing the source under WINCEROOT directory. In that case the Sources folder is also installed under directory specified in step 1 (Ex: C:\TI). However before compiling the BSP you will need to move the OS designs and BSP platform files into the relevant locations for Windows Embedded CE 6.0 or Windows Embedded Compact 7.0:
- Move extracted folder: Sources\PLATFORM\EVM_OMAP3530 to <WINCEROOT>\PLATFORM\EVM_OMAP3530
- Move extracted folder: Sources\PLATFORM\AM35x_BSP to <WINCEROOT>\PLATFORM\AM35x_BSP
- Move extracted folder: Sources\PLATFORM\AM33x_BSP to <WINCEROOT>\PLATFORM\AM33x_BSP
- Move extracted folder: Sources\PLATFORM\AM387x_BSP to <WINCEROOT>\PLATFORM\AM387x_BSP
- Move extracted folder: Sources\COMMON\SRC\SOC\COMMON_TI_V1 to <WINCEROOT>\PLATFORM\COMMON\SRC\SOC\COMMON_TI_V1
- Move extracted folder: Sources\OSDesigns\EVM_3530 to <WINCEROOT>\OSDesigns\
- Move extracted folder: Sources\OSDesigns\AM35x_OSDesign to <WINCEROOT>\OSDesigns\
- Move extracted folder: Sources\OSDesigns\AM335X_OS to <WINCEROOT>\OSDesigns\
- Move extracted folder: Sources\OSDesigns\AM387X_OS to <WINCEROOT>\OSDesigns\
- Move extracted folder: Sources\PUBLIC\PowerVR to <WINCEROOT>\PUBLIC\PowerVR
- Move extracted folder: Sources\3rdParty\dvsdk_1_10_00_00 to <WINCEROOT>\3rdParty\dvsdk_1_10_00_001
- Set DVSDK_INSTALL_DIR=<WINCEROOT>\3rdParty\dvsdk_1_10_00_00 1 in your PC's environment variables. (Needed for OMAP35x and OMAP37x OS-designs only)
1Please use the correct version of DVSDK directory based on the BSP version that you have downloaded.
BSP Build Notes[edit]
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.
- Error if locale is not English - Sometime users may see the following error while building BSP when their locale in Platform Builder is not English.
BUILD: [01:0000000648:ERRORE] C:\WINCE600\platform\COMMON\src\soc\COMMON_TI_V1\OMAP3530\inc\HwcodecAPI.h: error C2220: warning treated as error - no 'object' file generated BUILD: [01:0000000649:WARNN ] C:\WINCE600\platform\COMMON\src\soc\COMMON_TI_V1\OMAP3530\inc\HwcodecAPI.h: warning C4819: The file contains a character that cannot be represented in the current code page (950). Save the file in Unicode format to prevent data loss
To fix this error, open <WINCEROOT>\platform\COMMON\src\soc\COMMON_TI_V1\OMAP3530\inc\HwcodecAPI.h, go to line 249 and get change the "Alg. no" to "Alg no" in following lines:
**************************ERROR VERSION **************************** /* Reference ACDN 0 contains 3 algorithms Alg. nº O: AEC-NS on the DL and UL paths Alg. nº 1: EQ Left channel on the DL path Alg. nº 2: EQ Right channel on the DL path The ACDN1 contains 2 algorithms: Alg. nº O: Compressor on the DL path Alg. nº 1: Equalizer on the UL path */
**************************CORRECT VERSION ****************************/* Reference ACDN 0 contains 3 algorithms Alg. no O: AEC-NS on the DL and UL paths Alg. no 1: EQ Left channel on the DL path Alg. no 2: EQ Right channel on the DL path The ACDN1 contains 2 algorithms: Alg. no O: Compressor on the DL path Alg. no 1: Equalizer on the UL path*/
Building the OS Design[edit]
The BSP comes with the following OS Designs:
- EVM_3530 – Fully featured design for OMA3530 EVM including the Silverlight demos (CE6 only), Windows Media Player (CE6), Silverlight based Video player (CE7) and Internet Explorer (see the Demo OS Design section below for more details).
- AM35x_OSDesign – Fully featured design for AM3517 EVM including the Silverlight demos (CE6 only), Windows Media Player (CE6), Silverlight based Video player (CE7) and Internet Explorer (see the Demo OS Design section below for more details).
- AM387X_OS – Fully featured design for AM387X EVM including Silverlight based Video player (CE7) and Internet Explorer (see the Demo OS Design section below for more details).
- AM335X_OS – Fully featured design for AM335X EVM including Silverlight based Video player (CE7) and Internet Explorer (see the Demo OS Design section below for more details).
Note: For AM387X_OS and AM335X_OS, ony CE7 is supported.
In Visual Studio 2005/2008, open the solution file for the OS Design you wish to build. For example: <WINCEROOT>\OSDesigns\AM35x_OSDesign\AM35x_OSDesign.sln
Select a release build by selecting menu option Build -> Configuration Managerand selecting AM35x_BSP_ARMV4I Release (CE6) or AM35x_BSP_ARMV7 Release (CE7) 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 OS image (NK.bin).
Selecting the right version of PowerVR in OS-design
[edit]
This section applies only if you are including PowerVR in your NK.bin. The default OS Designs represent the correct PowerVR settings as explained in the section below. Please make sure that the corresponding changes are available in your custom OS Design based on the BSP release and the processor in use.
BSP 1.x releases[edit]
For BSP 1.x releases, both the version of PowerVR binaries (SYSGEN_PVR_SGXCOREREV_121 and SYSGEN_PVR_SGXCOREREV_125) can be selected in the Catalog and at run-time, the software decides which SGX Core is present on the device and accordingly loads the right version of PowerVR binaries. Thus, exact same NK.bin can be run on OMAP3530 device and AM/DM3730 device.
BSP 2.x releases[edit]
For BSP 2.x releases, only one version of PowerVR binaries can be selected at a time.
EVM_3530 OSDesign (for OMAP35xx and AM/DM 37xx processors)
By default, the EVM_3530 OS-design has SYSGEN_PVR_SGXCOREREV_125 selected. So when this OS-design is built as is, resulting NK.bin can run only on AM/DM3730 device. If attempted to run on OMAP3530 device, you may see exceptions while loading PowerVR binaries. To build NK.bin for OMAP3530, open the default OS-design in Visual Studio (EVM_3530) and then select the SYSGEN_PVR_SGXCOREREV_121 catalog item. Now perform a build solution.
AM35x_OSDesign
By default, AM35x_OSdesign selects SYSGEN_PVR_SGXCOREREV_121 and no further change is required as far as PowerVR is concerned.
AM335X_OS & AM387X_OS OSDesign
By default, AM335X_OS and AM387X_OS OSdesigns select SYSGEN_PVR_SGXCOREREV_125 and no further change is required as far as PowerVR is concerned.
If this feature is not desired then simply disable SYSGEN_POWERVR in the Catalog of your OS-design.
Running OS Designs[edit]
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 OMAP3530 from SD Card.[edit]
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:
SW 4 Switch Position | |||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
ON | ON | ON | OFF | OFF | ON | OFF | OFF |
Booting AM3517 from SD Card.[edit]
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:
SW 7 Switch Position | |||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
ON | OFF | OFF | ON | OFF | OFF | OFF | OFF |
Booting AM387X from SD Card.[edit]
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:
SW 1 Switch Position | |||||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
ON | ON | ON | OFF | ON | OFF | OFF | OFF | OFF | OFF | OFF | OFF |
Booting AM335X from SD Card.[edit]
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:
NOTE: As of 4Jan2012, "ON" label on switch on EVM is actually "OFF". Following setting refers to corrected ON/OFF label.
SW 3 Switch Position | |||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
ON | OFF | OFF | OFF | OFF | OFF | OFF | OFF |
SW 4 Switch Position | |||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
OFF | OFF | OFF | OFF | OFF | OFF | ON | OFF |
Configuring EBOOT[edit]
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 needs to be configured to load NK.bin from the SD Card. To do this, in the main EBOOT menu, press [2] then select ’SD Card’. More information on loading NK from another source can be found in the User Guide.
Booting the Kernel[edit]
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[edit]
For demonstration, CE 6.0 has been used as an example in this section, but the same principles apply for WEC 7 as well. For WEC 7, replace ARMV4I with ARMV7.
CE 6.0 Catalog[edit]
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 OMAP35x BSP, AM35x BSP.
The sections below describe which catalog components need selecting to support particular features or functionality of the OMAP35x EVM and AM35x EVM.
OS Build Caveats[edit]
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 third party BSP catalog selections (example:Third Party \ BSP \ EVM_OMAP3530) 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.
KITL Configuration[edit]
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.
NDIS Ethernet Configuration[edit]
The TCP/IP settings for the driver are configured in the EBOOT menu.
Optionally you may edit the following registry files for the Ethernet driver:
For OMAP35x EVM SMSC9118 driver:
- <WINCEROOT>\PLATFORM\EVM_OMAP3530\SRC\DRIVERS\SMSC9118\smsc9118.reg
- [HKEY_LOCAL_MACHINE\Comm\SMSC91181\Parms\TcpIp]
For AM3517 EVM EMAC driver on the Experimenter board:
- <WINCEROOT>\PLATFORM\AM35x_BSP\SRC\DRIVERS\EMAC\omap_emac.reg
- [HKEY_LOCAL_MACHINE\Comm\EMAC1\Parms\TcpIp]
For AM3517 EVM SMSC9118 on the Application board:
- <WINCEROOT>\PLATFORM\AM35x_BSP\SRC\DRIVERS\SMSC9118\smsc9118.reg
- [HKEY_LOCAL_MACHINE\Comm\SMSC91181\Parms\TcpIp]
For AM387X EVM CPSW3G driver:
- <WINCEROOT>\PLATFORM\AM387X_BSP\SRC\DRIVERS\EMAC\cpgmacMiniport.reg
- [HKEY_LOCAL_MACHINE\Comm\CPSW3G2\Parms\TcpIp]
For AM335X EVM CPSW3G driver:
- <WINCEROOT>\PLATFORM\AM33X_BSP\SRC\DRIVERS\EMAC\cpgmacMiniport.reg
- [HKEY_LOCAL_MACHINE\Comm\CPSW3G1\Parms\TcpIp]
Change the IP settings appropriately for your LAN.
Telnet and FTP Support[edit]
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[edit]
To add support for a USB mouse and keyboard select these items in the catalog:
BSP Specific:
- AM35x EVM:
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ USB \ USB Host 1
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ USB \ USB Host 2
- OAMP35x EVM:
- Third Party \ BSP \ EVM_OMAP3530:ARMV4I \ Drivers \ USB Host \ Host Port
- Third Party \ BSP \ EVM_OMAP3530:ARMV4I \ Drivers \ USB Host \ Host Port
- AM335x EVM:
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ MUSB
NOTE: selecting MUSB component includes OTG driver with host and function support for the port 1 and OTG driver with host only support for the port 2.
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ MUSB
- AM387x EVM:
- Third Party \ BSP \ AM387X_BSP:ARMV7 \ Drivers \ MUSB
NOTE: selecting MUSB component includes OTG driver with function only support for the port 1 and OTG driver with host only support for the port 2.
- Third Party \ BSP \ AM387X_BSP:ARMV7 \ Drivers \ MUSB
Common Components:
- 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
Build the OS design after changing catalog selections.
USB Function and ActiveSync Support[edit]
To add support for ActiveSync over USB select these items in the catalog:
BSP Specific:
- AM35x EVM:
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ USB \ OTG Device (Experimenter board)
- OAMP35x EVM:
- Third Party \ BSP \ EVM_OMAP3530:ARMV4I \ Drivers \ USB OTG \ OTG Driver (ISP5107)
Common Components:
- 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
- Networking - WAN \ Telephony API (TAPI 2.0)
- Core OS \ CEBASE \ Shell and User Interface \
- Shell \ Graphical Shell \ Standard Shell
- User Interface \ Network User Interface
Build the OS design after changing catalog selections.
The desktop Windows version of ActiveSync can be downloaded from the Microsoft website.
Keypad Support for AM33x EVM[edit]
To add support for the keypad select this item in the catalog:
BSP Specific:
- AM335x EVM:
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ Keypad driver
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ Keypad driver
NOTE: The keypad driver maps eight following EVM switches:
- SW1 - VK_DOWN
- SW2 - VK_UP
- SW3 - VK_LEFT
- SW4 - VK_RIGHT
- SW5 - '1'
- SW6 - '2'
- SW9 - '3'
- SW10 - VK_RETURN
to modify mapping edit the g_keypadVK and repeatItemts arrays in the \platform\AM33X_BSP\SRC\DRIVERS\KEYPAD\vk_map.c
NAND Support[edit]
To add support for the NAND flash file system, select these items in the catalog:
BSP Specific:
- AM35x EVM:
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ NAND driver
- OAMP35x EVM:
- Third Party \ BSP \ EVM_OMAP3530:ARMV4I \ Drivers \ NAND driver
- AM387x EVM:
- Third Party \ BSP \ AM387X_BSP:ARMV7 \ Drivers \ NAND \ BCH 8 bit ECC with hardware error locator (ELM) driver
- AM335x EVM:
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ NAND \ BCH 8 bit ECC with hardware error locator (ELM) driver
Common Components:
- 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 NAND driver registry file:
- <BSP folder>\SRC\DRIVERS\BLOCK\nand\omap_nand.reg (for AM35X)
- <BSP folder>\SRC\DRIVERS\BLOCK\nand\nand.reg (for AM387X, AM33X and OMAP35X)
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk] "Folder"="Mounted_Volume"
This will tell the Storage Manager to mount the NAND in the ’\Mounted Volume’ folder.
UART Support[edit]
Support for each of the three serial UART modules can be added by selecting the following items in the catalog:
- AM35x EVM:
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ UART \ UARTx driver
- OAMP35x EVM:
- Third Party \ BSP \ EVM_OMAP3530: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.
- AM335x EVM:
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ UART \ UARTx driver
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ UART \ UARTx driver
- AM387x EVM:
- Third Party \ BSP \ AM387X_BSP:ARMV7 \ Drivers \ UART \ UARTx driver
- Third Party \ BSP \ AM387X_BSP:ARMV7 \ Drivers \ UART \ UARTx driver
NOTE: When a serial driver for UART 1 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[edit]
To add support for the SD/MMC slot, select these items in the catalog:
BSP Specific:
- AM35x EVM:
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ SD \ SDHC Slot 1
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ SD \ SDHC Slot 2
- OAMP35x EVM:
- Third Party \ BSP \ EVM_OMAP3530:ARMV4I \ Drivers \ SD/MMC
- AM387x EVM:
- Third Party \ BSP \ AM387X_BSP:ARMV7 \ Drivers \ Storage Drivers \ SD/MMC
- AM335x EVM:
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ Storage Drivers \ SD Host Controller
Common Components:
- 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.
note: For AM35x EVM, SDHC slot 2 may conflict with installed wireless module on AM3517 SOM-M2 card.
Audio Support[edit]
To add support for the audio codec, select these items in the catalog:
BSP Specific:
- AM35x EVM:
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ Audio \ Codec 1 (AIC23)
- OAMP35x EVM:
- Third Party \ BSP \ EVM_OMAP3530:ARMV4I \ Drivers \ TPS659X \ Audio
- AM387X EVM:
- Third Party \ BSP \ AM387X_BSP:ARMV7 \ Drivers \ Audio \ AIC3106 Audio Codec
- AM33X EVM:
- Third Party \ BSP \ AM33X_BSP:ARMV7 \ Drivers \ Audio \ AIC3106 Audio Codec
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 catalog:
- 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 (CE6 only)
- WIndows Media Player\ WIndows Media Player Applications\ Windows Music Player (WEC7 only)
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[edit]
For CE6, to add support for the video input codec, select these items in the catalog:
- AM35x EVM:
- Third Party \ BSP \ AM35x_BSP:ARMV4I \ Drivers \ VideoInputDrv \ Video input driver
- OAMP35x EVM:
- Third Party \ BSP \ EVM_OMAP3530:ARMV4I \ Drivers \ Camera
For CE7, to add support for the video input codec, select these items in the catalog:
- Third Party \ BSP \ <BSP>:ARMV7 \ Drivers \ Camera \ TVP5146 Driver
Demonstration OS Design[edit]
Overview[edit]
A demonstration OS Design for both EVMs is included with the BSP.
The 1.x BSP has the OS design which 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:
- 1. Internet Explorer 6.0 is a heavyweight application so expect it to run quite slowly.
- 2. 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.
The 2.x BSP has the OS design which includes the following WEC7 components:
- Silverlight based player (video, photo, music)
- Software audio codecs for WMA and MP3
- Software video codecs for WMV/MPEG-4 and MPEG-1
- Streaming media support
- Internet Explorer 7.0 Sample Browser
- Silverlight based player (video, photo, music)
Standalone Boot[edit]
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 platform specific flat release folder:
For example:
On CE6:
- <WINCEROOT>\OSDesigns\EVM_3530\EVM_3530\RelDir\EVM_3530_ARMV4I_Release
On CE7:
<WINCEROOT>\OSDesigns\EVM_3530\EVM_3530\RelDir\EVM_3530_ARMV7_Release
<WINCEROOT>\OSDesigns\AM387X_OS\AM387X_OS\RelDir\AM387X_OS_ARMV7_Release
<WINCEROOT>\OSDesigns\AM335X_OS\AM335X_OS\RelDir\AM33X_OS_ARMV7_Release
Write the OS image to an SD/MMC card using a PC card reader:
- Format the SD/MMC card with a FAT32 file system using the TI SDCard boot utility provided in the release.
- Copy MLO, ebootsd.nb0, and NK.bin to the SD/MMC card.
Configure EBOOT to boot the image from SD card:
- Insert the SD/MMC card into the SD slot on the EVM.
- Use the switch settings for SD boot
- Power on or reset the EVM. Use your serial terminal application to access the EBOOT menus by pressing SPACE when EBOOT is booting.
- Set Boot Device to SD Card by selecting [2], and then ’SD Card’.
- Exit the menus to boot the CE image from the SD/MMC card using option [0]
- Wait while image is read and booted.