Upload
ashleigh-clower
View
222
Download
3
Tags:
Embed Size (px)
Citation preview
Developing Apps With Developing Apps With eMbedded Visual C++eMbedded Visual C++®®
Mike ShappellMike ShappellWindows CE ToolsWindows CE ToolsMicrosoft CorporationMicrosoft Corporation
8-3068-306
AgendaAgenda
Embedded Visual C++ 3.0Embedded Visual C++ 3.0 Goals for the 3.0 releaseGoals for the 3.0 release New features in 3.0 releaseNew features in 3.0 release Supported WindowsSupported Windows®® CE platforms CE platforms
Porting Code to Windows CEPorting Code to Windows CE Pocket PC EnhancementsPocket PC Enhancements
OverviewOverview MFC/ATL enhancementsMFC/ATL enhancements ROM runtime matrixROM runtime matrix
Porting Code to Pocket PCPorting Code to Pocket PC
Goals For The 3.0 ReleaseGoals For The 3.0 Release
EVC will be a world class development EVC will be a world class development tool for embedded developers targeting tool for embedded developers targeting Windows CE 3.0Windows CE 3.0
EVC will be everything an embedded EVC will be everything an embedded developer needs to start writing developer needs to start writing C++ codeC++ code
EVC will be a quality experience for EVC will be a quality experience for the developerthe developer
New Features In 3.0 ReleaseNew Features In 3.0 Release
A Complete Suite of Development ToolsA Complete Suite of Development Tools Includes Visual BasicIncludes Visual Basic®® and Visual C++ and Visual C++ Tools are stand-alone, no dependenciesTools are stand-alone, no dependencies
Embedded Visual C++ includes SP3 fixesEmbedded Visual C++ includes SP3 fixes Works side-by-side with Visual Studio 6.0Works side-by-side with Visual Studio 6.0
Includes HPCPRO, PSPC and PPC SDKsIncludes HPCPRO, PSPC and PPC SDKs Documentation improved and stand-aloneDocumentation improved and stand-alone
Documentation ChangesDocumentation Changes
New Features In 3.0 IDENew Features In 3.0 IDE
Stand-alone FeaturesStand-alone Features Removed Win32Removed Win32®® “clutter” from the IDE “clutter” from the IDE Promoted embedded elements to top levelPromoted embedded elements to top level Improved remote Ethernet connectivityImproved remote Ethernet connectivity
No longer requires WINS, DHCP, DNS, etc.No longer requires WINS, DHCP, DNS, etc.
WIN32_PLATFORM_XXX MacrosWIN32_PLATFORM_XXX Macros HPC, HPCPRO, PSPC and UNKNOWNHPC, HPCPRO, PSPC and UNKNOWN
Common Executable Format SupportCommon Executable Format Support
New Features In 3.0 IDENew Features In 3.0 IDE
Supported CE PlatformsSupported CE Platforms
Windows CE 2.0Windows CE 2.0 Hand-held PC 2.0Hand-held PC 2.0 Palm-size PC 1.0Palm-size PC 1.0
Windows CE 2.11Windows CE 2.11 Hand-held PC 3.0Hand-held PC 3.0 Palm-size PC 1.2Palm-size PC 1.2 Platform Builder 2.11Platform Builder 2.11
Windows CE 2.12Windows CE 2.12 Platform Builder 2.12Platform Builder 2.12
Windows CE 3.0Windows CE 3.0 Pocket PC 2.0Pocket PC 2.0 Platform Builder 3.0Platform Builder 3.0
Porting Code To Porting Code To Windows CEWindows CE Create MFC Application for DesktopCreate MFC Application for Desktop Take a Look at Application on DesktopTake a Look at Application on Desktop Convert Application to Windows CEConvert Application to Windows CE
Create new empty project using wizardCreate new empty project using wizard Add all desktop files to empty projectAdd all desktop files to empty project Add support for pre-compiled headersAdd support for pre-compiled headers Add support for the CE command barAdd support for the CE command bar
Take a Look at Converted ApplicationTake a Look at Converted Application
Convert Desktop CodeConvert Desktop Code
Changes required to mainfrm.cppChanges required to mainfrm.cpp Add Windows CE command bar supportAdd Windows CE command bar support Disable dockable toolbar supportDisable dockable toolbar support
Changes required to mainfrm.hChanges required to mainfrm.h Add CCeCommandBar definitionAdd CCeCommandBar definition
Changes required to sample.cppChanges required to sample.cpp Disable 3D control calls for Windows CEDisable 3D control calls for Windows CE
mainfrm.cppmainfrm.cpp
Convert Desktop CodeConvert Desktop Code
mainfrm.hmainfrm.h
sample.cppsample.cpp
Convert Desktop CodeConvert Desktop Code
Pocket PC OverviewPocket PC Overview
Next Generation Palm Size DeviceNext Generation Palm Size Device New, Simplified User InterfaceNew, Simplified User Interface
Requires changes to existing codeRequires changes to existing code New user interface elements addedNew user interface elements added
Many Performance ImprovementsMany Performance Improvements Professional and Standard VersionsProfessional and Standard Versions Tools Support Available at LaunchTools Support Available at Launch
Pocket PC User InterfacePocket PC User Interface
IDE Changes For Pocket PCIDE Changes For Pocket PC
MFC and Win32 Wizard for Pocket PCMFC and Win32 Wizard for Pocket PC Generate code for Pocket PC featuresGenerate code for Pocket PC features New resource formats for menu barsNew resource formats for menu bars
New Menu Bar Editor for Pocket PCNew Menu Bar Editor for Pocket PC Supports new SHMENU resource formatSupports new SHMENU resource format
More Robust Emulation EnvironmentMore Robust Emulation Environment
MFC EnhancementsMFC Enhancements
All Windows/Dialogs are Full-ScreenAll Windows/Dialogs are Full-Screen All UI Elements are Drawn Flat (no 3D)All UI Elements are Drawn Flat (no 3D) Window Borders Have Been RemovedWindow Borders Have Been Removed Single Application Instance SupportSingle Application Instance Support Transparent Support for New Menu BarTransparent Support for New Menu Bar Support for Pocket PC Document ListSupport for Pocket PC Document List Tap and Hold Context Menu SupportTap and Hold Context Menu Support
ROM Runtime MatrixROM Runtime Matrix
Standard ROMStandard ROM CEF TranslatorCEF Translator
Professional ROMProfessional ROM CEF TranslatorCEF Translator MFC/ATLMFC/ATL Visual BasicVisual Basic ADOCEADOCE
Porting Code tTo Pocket PCPorting Code tTo Pocket PC
Start with Our Converted ApplicationStart with Our Converted Application Look at Application After Re-compilingLook at Application After Re-compiling Convert Application to the Pocket PCConvert Application to the Pocket PC
Add document list supportAdd document list support Add support for the OK buttonAdd support for the OK button
Take a Look at Pocket PC ApplicationTake a Look at Pocket PC Application
Re-Compiled For Pocket PCRe-Compiled For Pocket PC
Convert Application CodeConvert Application Code
Changes required to sample.cppChanges required to sample.cpp Add document list supportAdd document list support Disable automatic file newDisable automatic file new
Changes required to sampleview.cppChanges required to sampleview.cpp Add OK button to new viewsAdd OK button to new views
Changes required to sample.rcChanges required to sample.rc Add support for extension filteringAdd support for extension filtering
sample.cppsample.cpp
Convert Application CodeConvert Application Code
sample.rcsample.rc
sampleview.cppsampleview.cpp
Convert Application CodeConvert Application Code
NotePad+ ApplicationNotePad+ Application
Common Executable FormatCommon Executable Format
Common Executable Format (CEF)Common Executable Format (CEF) CPU Transparency Within a PlatformCPU Transparency Within a Platform
Existing executables work on new CPUsExisting executables work on new CPUs Executables are translated to native onceExecutables are translated to native once Translation can occur on host or deviceTranslation can occur on host or device
Performance and Size are ImportantPerformance and Size are Important Both are with-in 20% of native executableBoth are with-in 20% of native executable
CEF Translation ProcessCEF Translation ProcessDesktop (Host) TranslationDesktop (Host) Translation Device Side TranslationDevice Side Translation
DeviceDevice
CEF PECEF PE PDBPDB
TranslatorsTranslators CPU-Specific CPU-Specific TranslatorsTranslators
NativeNative PEPE
NativeNativePDBPDB
DeviceDevice
CEF PECEF PE
TranslatorTranslatorSingle Single Translator Translator on deviceon device
CABCAB
Native Native PEPE
NativeNativePEPE
FeedbackFeedback
Suggestions (Suggestions ([email protected]@microsoft.com))
Bug Report (Bug Report ([email protected]@microsoft.com)) Submit Problem Report on Help MenuSubmit Problem Report on Help Menu