Thursday, 29 November 2012
Update to Removing Process & Thread IDs from WEC 7.0 Serial Debug Output
g_pOemGlobal->pfnWriteDebugString = NULL;
has an unfortunate side-effect during suspend & resume in that any debug prints during OEMPowerOff will use the NULL function pointer and cause the system to crash.
The solution is to restore the kernel to use the default serial debug during OEMPowerOff()...
VOID BSPPowerOff()
{
// If OEMInit() cleared g_pOemGlobal->pfnWriteDebugString to remove VID/PID
// from debug output, g_pNKGlobal->pfnWriteDebugString will now be NULL (see
// NKPowerOffSystem() in WINCE700\private\winceos\COREOS\nk\kernel\kwin32.c)
if (NULL == g_pNKGlobal->pfnWriteDebugString)
{
// Set kernel pfnWriteDebugString so that debug prints in OEMPowerOff()
// do not crash the system.
// NKPowerOffSystem() will restore the orginal value following return
// from OEMPowerOff()
g_pNKGlobal->pfnWriteDebugString = (PFN_WriteDebugString)OEMWriteDebugString;
}
}
Thursday, 14 June 2012
Choosing the right ARM based System on Module (SOM)
Friday, 20 April 2012
Removing Process & Thread IDs from WEC 7.0 Serial Debug Output
Res2Res Errors During CE 6.0 Makeimg
Wednesday, 28 March 2012
Debugging CE7 apps using VS2005
If you want to build apps for a CE7 system using visual studio 2005 you can (normally you’d use 2008) if you have an SDK for the Windows Embedded Compact 7 (WinCE7) platform and you follow these steps!
I was getting the following error on linking:
corelibc.lib(armsecgs.obj) : fatal error LNK1103: debugging information corrupt; recompile module
- Install the hot fix for VS2005 from http://support.microsoft.com/kb/949009
- Fix any build issues in the project arising from defines not available in VS2005, i.e.:
#define __INLINEISEQUALGUID__