Subscribe to our RSS Feeds
The postings and links in this blog are provided "AS IS" with no warranties, and confer no rights. The opinions expressed here are solely those of the authors.

WinCE - Share a data segment in a DLL

0 Comments »
Introduction
A DLL can be loaded by more than one process. For every process the DLL's code segment is shared but each process gets its own data segment by default. Therefore if one process changes the value of the DLL's global variable, the other process can not get the modified value. For sharing some global variables of the DLL among several processes, we can use the shared data segment.

Example Code
// Global and static member variables that are not shared defined here.
...
// Begin the shared data segment
#pragma data_seg("SHARED")
// Define simple variables, the variable must be initialized here, otherwise it will not be shared.
int gSharedTest = 0;
// Do not define classes that require 'deep' copy constructors.
#pragma data_seg()
// End the shared data segment and default back to the normal data segment behavior.
// Tells the linker to generate the shared data segment.
#pragma comment(linker, "/section:SHARED,RWS")

Remarks
1) The upper "SHARED" is the name of the segment, you can use another name. It should be appeared both in the data_seg and comment part.
2) The address of the shared variable must lie in this data segment, so variables allocated from heap can not be shared.
3) The variable must be initialized otherwise it won't be shared.
    
, 6:03 PM

WinCE Training eBook - Now Available

0 Comments »
Embedded Systems Using WinCE (eBook)

by Asang Dani, Yashavant Kanetkar

Windows CE (Compact Edition) is Microsoft's time-tested real-time OS for Mobile and Embedded devices. WinCE has proven itself as a robust platform for product development. Biggest challenge, however, is diversity of topics that one needs to master to harness the true power of WinCE. This training material we hope will address that need. It captures more than 3 years of experience that we have gathered while doing WinCE training and product consulting in the Asia Pacific region.

Table Of Contents

  • Designing OS
  • Platform Builder
  • Using Kernel Debugger
  • Understanding SDK
  • Creating SDK
  • Build Process
  • Configuring OS
  • OS Internals
  • Process Memory Architecture
  • Kernel Memory Architecture
  • Memory Access
  • Stream Device Drivers
  • Native Device Drivers
  • UM Drivers And Pointers
  • Interrupts Driver Loading
  • Managing Device Drivers
  • Virtual Disk Driver
  • Using Debug Zones
  • Working With CETK
  • Creating tests using CETK DLLs
  • Synchronization Objects
  • Boot Loader
  • Writing Drivers in C++
  • Power Management
  • BSP Driver Libraries
  • Networking And Communications
  • Windows Media Player Architecture
  • Emulator Skin
  • Filesystem Architecture
  • USB
  • Customizing Shell
  • eBook contains
    • 26 Coloured PDF Files containing detailed slides for each topic mentioned above.
    • Working Windows CE 5.0/6.0 Stream Interface and Virtual Disk Device Drivers with source code.



    Source :
    http://quest.ksetindia.com/product_info.php/Product/eBook_Embedded_Systems_Using_WinCE
    , 9:32 AM

    Steps to Install MS VisualStudio 2005 with Platform builder

    0 Comments »
    The following must be installed in order to create a supported Windows Embedded CE 6.0 development environment:

    1. Visual Studio 2005
    2. Visual Studio 2005 SP1
    3. Visual Studio 2005 SP1 Update for Vista (if applicable)
    4. Windows Embedded CE 6.0 Platform Builder
    5. Windows Embedded CE 6.0 SP1 (required if PB 6.0 Tools have been installed)
    6. Windows Embedded CE 6.0 R2
    7. Windows Embedded CE 6.0 Cumulative Product Update Rollup 12/31/2007 R2
    8. Other 2008 updates Links
    9:55 AM