Symptoms
Consider the following scenario:
-
You enable symmetric multiprocessing (SMP) in a Windows Embedded Compact 7 operating system design.
Note To do this, you set the IMG environment variable IMGMPENABLE=1. Or, on the Build Options page under Configuration Properties, you set the Enable SMP support in the kernel option to Yes in your operating system design. -
You call the CreateThread function to create a new thread.
In this scenario, an exception may occur. Note This problem typically occurs on the SH4 platform.
Cause
This problem may occur because the thread may move from one core processor to another core processor. When this occurs, the cache of the core processor that calls the OEMCacheRangeFlush function may not be flushed.
Resolution
Software update information
A supported software update is now available from Microsoft as Windows Embedded Compact 7 Monthly Update August 2012. In the "File information" section, the package file name contains the processor type.
Note This Windows Embedded Compact 7 monthly update is available for download from the following Microsoft Download Center website:Windows Embedded Compact 7 Updates
Prerequisites
This update is supported only if all previously issued updates for this product have also been installed.
Restart requirement
After you apply this update, you must perform a clean build of the whole platform. To do this, use one of the following methods:
-
On the Build menu, click Clean Solution, and then click Build Solution.
-
On the Build menu, click Rebuild Solution.
You do not have to restart the computer after you apply this software update.
Update replacement information
This update does not replace any other updates.
File information
The English version of this software update package has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Files that are included in this update package
File name |
File size |
Date |
Time |
Path |
---|---|---|---|---|
Nkmain.lib |
3,551,582 |
01-Aug-2012 |
19:34 |
public\common\oak\lib\armv5\checked |
Nkprmain.lib |
3,609,196 |
01-Aug-2012 |
19:34 |
public\common\oak\lib\armv5\checked |
Nkmain.lib |
3,942,268 |
01-Aug-2012 |
19:34 |
public\common\oak\lib\armv5\debug |
Nkprmain.lib |
4,012,876 |
01-Aug-2012 |
19:34 |
public\common\oak\lib\armv5\debug |
Nkmain.lib |
2,428,642 |
01-Aug-2012 |
19:34 |
public\common\oak\lib\armv5\retail |
Nkprmain.lib |
2,486,934 |
01-Aug-2012 |
19:34 |
public\common\oak\lib\armv5\retail |
Nkmain.lib |
3,551,516 |
01-Aug-2012 |
19:36 |
public\common\oak\lib\armv6\checked |
Nkprmain.lib |
3,609,130 |
01-Aug-2012 |
19:36 |
public\common\oak\lib\armv6\checked |
Nkmain.lib |
3,941,496 |
01-Aug-2012 |
19:36 |
public\common\oak\lib\armv6\debug |
Nkprmain.lib |
4,012,104 |
01-Aug-2012 |
19:36 |
public\common\oak\lib\armv6\debug |
Nkmain.lib |
2,428,612 |
01-Aug-2012 |
19:36 |
public\common\oak\lib\armv6\retail |
Nkprmain.lib |
2,486,904 |
01-Aug-2012 |
19:36 |
public\common\oak\lib\armv6\retail |
Nkmain.lib |
3,541,120 |
01-Aug-2012 |
19:38 |
public\common\oak\lib\armv7\checked |
Nkprmain.lib |
3,598,514 |
01-Aug-2012 |
19:38 |
public\common\oak\lib\armv7\checked |
Nkmain.lib |
3,931,138 |
01-Aug-2012 |
19:38 |
public\common\oak\lib\armv7\debug |
Nkprmain.lib |
4,000,910 |
01-Aug-2012 |
19:38 |
public\common\oak\lib\armv7\debug |
Nkmain.lib |
2,422,096 |
01-Aug-2012 |
19:38 |
public\common\oak\lib\armv7\retail |
Nkprmain.lib |
2,480,380 |
01-Aug-2012 |
19:38 |
public\common\oak\lib\armv7\retail |
Nkmain.lib |
3,255,078 |
01-Aug-2012 |
19:40 |
public\common\oak\lib\mipsii\checked |
Nkprmain.lib |
3,301,338 |
01-Aug-2012 |
19:40 |
public\common\oak\lib\mipsii\checked |
Nkmain.lib |
3,688,410 |
01-Aug-2012 |
19:40 |
public\common\oak\lib\mipsii\debug |
Nkprmain.lib |
3,757,224 |
01-Aug-2012 |
19:40 |
public\common\oak\lib\mipsii\debug |
Nkmain.lib |
2,193,710 |
01-Aug-2012 |
19:39 |
public\common\oak\lib\mipsii\retail |
Nkprmain.lib |
2,240,876 |
01-Aug-2012 |
19:39 |
public\common\oak\lib\mipsii\retail |
Nkmain.lib |
3,313,356 |
01-Aug-2012 |
19:42 |
public\common\oak\lib\mipsii_fp\checked |
Nkprmain.lib |
3,359,668 |
01-Aug-2012 |
19:42 |
public\common\oak\lib\mipsii_fp\checked |
Nkmain.lib |
3,765,264 |
01-Aug-2012 |
19:42 |
public\common\oak\lib\mipsii_fp\debug |
Nkprmain.lib |
3,834,118 |
01-Aug-2012 |
19:42 |
public\common\oak\lib\mipsii_fp\debug |
Nkmain.lib |
2,254,494 |
01-Aug-2012 |
19:42 |
public\common\oak\lib\mipsii_fp\retail |
Nkprmain.lib |
2,301,602 |
01-Aug-2012 |
19:42 |
public\common\oak\lib\mipsii_fp\retail |
Nkmain.lib |
3,001,644 |
01-Aug-2012 |
19:44 |
public\common\oak\lib\sh4\checked |
Nkprmain.lib |
3,039,192 |
01-Aug-2012 |
19:44 |
public\common\oak\lib\sh4\checked |
Nkmain.lib |
3,307,642 |
01-Aug-2012 |
19:44 |
public\common\oak\lib\sh4\debug |
Nkprmain.lib |
3,357,684 |
01-Aug-2012 |
19:44 |
public\common\oak\lib\sh4\debug |
Nkmain.lib |
2,066,002 |
01-Aug-2012 |
19:43 |
public\common\oak\lib\sh4\retail |
Nkprmain.lib |
2,107,894 |
01-Aug-2012 |
19:43 |
public\common\oak\lib\sh4\retail |
Nkmain.lib |
3,079,024 |
01-Aug-2012 |
19:46 |
public\common\oak\lib\x86\checked |
Nkprmain.lib |
3,121,150 |
01-Aug-2012 |
19:46 |
public\common\oak\lib\x86\checked |
Nkmain.lib |
3,219,268 |
01-Aug-2012 |
19:45 |
public\common\oak\lib\x86\debug |
Nkprmain.lib |
3,267,132 |
01-Aug-2012 |
19:45 |
public\common\oak\lib\x86\debug |
Nkmain.lib |
2,026,764 |
01-Aug-2012 |
19:45 |
public\common\oak\lib\x86\retail |
Nkprmain.lib |
2,069,210 |
01-Aug-2012 |
19:45 |
public\common\oak\lib\x86\retail |
References
For more information about SMP, go to the following Microsoft Developer Network (MSDN) website:
SMP Reference (Windows Embedded Compact 7)For more information about the CreateThread function, go to the following MSDN website:
CreateThread (Windows Embedded Compact 7)For more information about the OEMCacheRangeFlush function, go to the following MSDN website:
OEMCacheRangeFlush (Windows Embedded Compact 7)For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates