CM-FX6: WEC7: Demo Image

From Compulab Mediawiki
Jump to: navigation, search

Supported Features

The CompuLab WinCE demo image for CM-FX6 is based on Adeneo Embedded WEC7 i.MX6Q BSP v1.7

  • The demo image supports the following OEM Adaptation Layer (OAL) features:
Feature Comments
Bootloader on SD Allows downloading NK.nb0 from SDIO 3 slot (P6)
OS download over ENET Allows downloading NK.bin via Ethernet
Serial Debug Port Debug port is provided via UART4 (P60)
  • The CM-FX6 demo image supports the following Drivers:
Feature Comments
IPU Display Supports HDMI (default mode with 1280x720 resolution),TFT LCD, LVDS
Touch screen Supports resistive (TSC2046) and capacitive (HX8526)
Audio (WM8731)
MMC/SD/SDIO Supports standardSD on SDIO 3 slot (P6) and microSD on SDIO 1 slot (P55 on modules without WiFi)
USB Host Supports mouse/keyboard HID, Mass Storage Function Client.
USB OTG Supports Mass Storage / RNDIS / Serial(ActiveSync). USB Functions on OTG slot are not supported yet.
UART UART4 tied to debug console.
Ethernet 1 Gbit/s
WiFi Supports MRVL 8787
Audio and Video Playback Audio – mp3. Video – wmv, mp4, avi, mpg.

Demo Image Contents

The following standard WEC 7.0 components are included in this demo image:

  • File System Explorer
  • ActiveSync
  • .NET Compact Framework 3.5
  • Music Player
  • Video Player
  • Telnet Server

The full list can be found in CM-FX6: WEC7 Run-Time License Assessment

Get Connected with a Host PC

On the Target (CM-FX6)

  • By default USB OTG port (P48 on SB-FX6) is configured to provide access to SD card that is installed on the SDIO 3 slot (P6 on SB-FX6) as to Mass Storage Device.
  • The USB OTG Device Class can be changed by going to Start->Settings->Control Panel->Freescale usb driver->USB Device Class Select.
  • After choosing the needed USB OTG Device Class, press OK and connect the USB cable to the USB OTG port (connector P48 on SB-FX6).

Get Connected with Windows Mobile Device Center

Windows Mobile Device Center enables data synchronization between a host PC and the CM-FX6 evaluation platform. You must install it on your PC before connecting it to the CM-FX6.

On the Host PC running Windows 7/8

Download and install the latest version of Windows Mobile Device Center (WMDC) from Microsoft website.

On the Host PC Windows XP

  • Download and Install ActiveSync from Microsoft website.
  • Ensure that ActiveSync synchronization via USB is enabled in the Connection Settings dialog box
ActiveSync connection settings window.jpg

Demo Image Components

The demo image is packed into the two raw files:

  • eboot.nb0
  • NK.nb0

These files that are need to be flashed to an SD card as described here.

Display Subsystem

The demo image is configured for the HDMI CM output (J5 on SB-FX6).

The default resolution is 1280x720 with 24-bit color depth and landscape display.

Changing between predefined sets of settings

Display registry settings are located in \\WINCE700\platform\CM_FX6_BSP\FILES\display.reg under BSP_DISPLAY_HDMI variable:

IF BSP_DISPLAY_HDMI
; @CESYSGEN IF DIRECTX_MODULES_DIRECTDRAW
[HKEY_LOCAL_MACHINE\Drivers\Display\DDIPU\DI0]
   "PanelType"=dword:5           ; 1 - HDMI 640X480, 2 - HDMI 1024x768, 3 - HDMI 1280x1024, 4 - HDMI 1600x1200, 
                                 ;  5 - HDMI 1280x720,  6 - HDMI 1920x1080, 7 - HDMI 1920x1280, 8 - DataImage SCF0403
   "EnableOnBoot"=dword:1        ; TRUE
; @CESYSGEN ENDIF DIRECTX_MODULES_DIRECTDRAW
ENDIF BSP_DISPLAY_HDMI

The demo image supports the following predefined display modes:

"PanelType" Value Display Mode
1 HDMI VGA Panel 640X480
2 HDMI XGA Panel 1024x768
3 HDMI SXGA Panel 1280x1024
4 HDMI UXGA Panel 1600x1200
5 HDMI 1080p60 Panel 1280x720 - Default Value
6 HDMI 1080p60 Panel 1920x1080
7 HDMI WUXGA Panel 1920x1280
8 DataImage SCF0403 LCD 480x800 - contained within the CM-FX6 Evaluation Kit (including HX8526 capacitive touch panel).
0 Custom Panel

Setting "PanelType" Value to 0 will cause the CM-FX6 to use the custom values from HKEY_LOCAL_MACHINE\Drivers\Display\DDIPU\Custom key.

Changing from predefined to a custom panel

The default custom settings are located in \\WINCE700\platform\CM_FX6_BSP\FILES\display.reg and represent 1366x768 LVDS screen configuration.

[HKEY_LOCAL_MACHINE\Drivers\Display\DDIPU\Custom]
   "PanelSyncType"=dword:1           
   ; 1- IPU_PANEL_SYNC_TYPE_SYNCHRONOUS,  // Dumb (Memoryless) Display Panel
   ; 2 - IPU_PANEL_SYNC_TYPE_ASYNCHRONOUS, // Smart Display Panel
   "DisplayInterfaceNumber"=dword:0        
   ; 0 - DI_SELECT_DI0  
   ; 1 - DI_SELECT_DI0
   "PortType"=dword:2    
   ;1 - DISPLAY_PORT_VGA
   ;2 - DISPLAY_PORT_LVDS1
   ;3 - DISPLAY_PORT_LVDS2
   ;4 - DISPLAY_PORT_DLVDS
   ;5 - DISPLAY_PORT_TV
   ;6 - DISPLAY_PORT_CHUNGHWA
   ;7 - DISPLAY_PORT_DVI
   ;8 - DISPLAY_PORT_HDMI
   "DiClkSource"=dword:1
   ;0 - DISPLAY_CLOCK_INTERNAL
   ;1 - DISPLAY_CLOCK_EXTERNAL
   "OutputPixelFormat"=dword:2
   ;0 - IPU_PIX_FMT_RGB666
   ;1 - IPU_PIX_FMT_RGB565
   ;2 - IPU_PIX_FMT_RGB24
   ;3 - IPU_PIX_FMT_YUV422
   "Width"=dword:556     ;1366      ;Screen width in pixels
   "Height"=dword:300    ;768       ;Screen height in pixels
   "Frequency"=dword:3E  ;62        ;Refresh rate frequency
   "TransferCycles"=dword:1         ;Number of cycles required to refresh pixel data to display panel
   
;PBusMappingData:       Values of bus mappings.  
;There must be one bus mapping for each Transfer cycle specified in TransferCycles.
;This determines how the RGB888 data internal the IPU is mapped and transmitted to the display panel
    "PBusMappingROffset"=dword:15  ; 21      R component Offset (component 2)
    "PBusMappingRMask"=dword:FC    ;         R component Mask
    "PBusMappingGOffset"=dword:D   ; 13      G component Offset (component 1)
    "PBusMappingGMask"=dword:FC    ;         G component Mask
    "PBusMappingBOffset"=dword:5   ;         B component Offset (component 0)
    "PBusMappingBMask"=dword:FC    ;         B component Mask
    
;Synchronous Panel Info:
    "VerticalSyncWidth"=dword:9			;VSync width in lines
    "VerticalStartWidth"=dword:18   ;24		;VStart width in lines
    "VerticalEndWidth"=dword:5			;VEnd width in lines
    "HorizontalSyncWidth"=dword:3A  ;58		;HSync width in pixel clock cycles
    "HorizontalStartWidth"=dword:AE ;174	;HStart width in pixel clock cycles
    "HorizontalEndWidth"=dword:58   ;88		;HEnd width in pixel clock cycles
    "PixelClockCycleFrequency"=dword:46CF710    ;74250000      ;Pixel clock frequency, in Hz
    "PixelDataOffsetPosition"=dword:0		;Pixel data position, in ns
    "PixelClockUp"=dword:0                      ;Pixel clock up position, in ns
    "PixelClockDown"=dword:8                    ;Pixel clock down position, in ns
     
;Display Interface signal polarities (Binary Values):
    "DataMaskEnable"=dword:1
    "ClockIdleEnable"=dword:0
    "ClockSelectEnable"=dword:0
    "VerticalSyncPolarity"=dword:0
    "OutputEnablePolarity"=dword:1              ;straight polarity for sharp signals
    "DataPol"=dword:0                           ;1 = inverted
    "ClockPol"=dword:0                          ;1 = rising edge
    "HSyncPol"=dword:0				;1 = active high
    
;TV only sync panel info:
    "VStartWidth_Field0"=dword:0		;Field0 VStart width in lines
    "VEndWidth_Field0"=dword:0		        ;Field0 VEnd width in lines
    "VStartWidth_Field1"=dword:0		;Field1 VStart width in lines
    "VEndWidth_Field1"=dword:0		        ;Field1 VEnd width in lines
    "IsInterlace"=dword:0			;1 if TV output data is interlaced; 0 if progressive
    
;Asynchronous Panel Info:
    "ReadCyclePeriod"=dword:0
    "ReadUpPosition"=dword:0
    "ReadDownPosition"=dword:0
    "WriteCyclePeriod"=dword:0
    "WriteUpPosition"=dword:0
    "WriteDownPosition"=dword:0
    
;ADC Display Interface signal polarities:
    "DispNum"=dword:0
    "ASDataPol"=dword:0 			;1 = inverted
    "CS0Pol"=dword:0  				;1 = active high
    "CS1Pol"=dword:0  				;1 = active high
    
;Serial Mapping Data:
    "UseSerialPort"=dword:0			;1 = panel uses IPU serial to communicate with panel
    "SerialTransferCycles"=dword:0		;Number of cycles required to write serial data to display panel
    "UseSerialPBusMappings"=dword:0      
    
;SerialTimingData:Info for configuring serial communication timing:
    "SerClkPeriod"=dword:0
    "CSUp"=dword:0
    "CSDown"=dword:0
    "ClkUp"=dword:0
    "ClkDown"=dword:0
    "RSUp"=dword:0
    "RSDown"=dword:0

Touch Screen

The demo image is calibrated for the HX8526 touch panel of DataImage SCF0403 LCD. To fine-tune the calibration, run the touch screen calibrator by tapping Start >> Settings >> Control Panel >> Stylus >> Calibration. For further details about touch screen calibrator registry settings refer to the Touch Screen (Stylus) Registry Settings MSDN article.

WiFi

A demo driver for the WiFi Mrvl8787 module is supplied with the image. This driver is the proprietary property of Marvell Semiconductor Inc., and under license to embWiSe and is protected by United States copyright laws and international treaty provisions.
This module shuts down within 30 minutes after activation and should be used for evaluation purposes only.
The full driver can be licensed directly from embWise.