Geeks With Blogs
Kate Moss' Open Space
I have introduced a method to detect the stack size and other stack info during runtime in this article http://geekswithblogs.net/K... But what if we want to determine the stack size on arbitrary thread or for whatever reason, writing a code is not an option but wish to peek the stack size via ......

Usually, you need a permanently change to your ROM (recreate a NK.BIN or use BINFS/MultiBIN/IMGFS for partial region update) in order to change the content of the ROM..What if for whatever reason, recreate a OS image is not an option but still need to patch the OS?A possible hack is to patch the ROMHDR in early booting phase (says OEMInit or bootloader) ......

To prepare a bootable CE disk for PC based system, you need to create the partition, format it and transfer the booting files. CE provides a tool CESYS.EXE to transfer boot sector and copy bootloader to target volume for BIOSLOADER. The tool is created since CE 4 and unfortunately, it is out dated and only support FAT12 or FAT16. Modern storage devices ......

Consider the following code piece, it may look fine at the first glance but could pop out access violation under stress test In the user mode applicatio BYTE buffer[ 256 ]; // On stack DWORD read; while (<condition>) { if (ReadFile(hDriver, buffer, sizeof(buffer), &read, NULL) && (read > 0)){ // Do something } } And inside the kernel ......

ARM supports unaligned access and CE provides a kernel IOCTL_KLIB_UNALIGNENABLE (refer to http://msdn.microsoft.com/e... for details). Application can use this IOCTL or its helper function, KLibUnalignedAccessEnable, to enable/disable unaligned access. But for some reason, this IOCTL does not work in CE7 under ......

CE 7 introduces a new boot loader framework, BLDR (platform\common\src\common... Some people like its powerful and flexbility, others may feel its too complicate as a boot loader framework. Despite to the favor, it is already there; so let's take a look at its features. Unlike the previous BL framwork (CE7 still provides it in platform\common\src\common\... ......

Just a side note for people who may be interested in creating high performance code to take advantage on NEON instruction set but wish to use NEON intrinsic instaed of coding assembly. Compiler won't generate NEON opcode unless application use the NEON intrinsic explicitly. Basically, you need ARMv7 build enviroment, so compiler can emit NEON opcode. ......

The default root bus driver, BusEnum, enumerate and active drivers one by one in synchronized manner. It is not only slowing the boot time but in the even if any of driver's init function (XXX_init) get hanged, the whole system won't boot at all. There is a sample of enhanced root bus driver, BusEnum2, on the http://msdn.microsoft.com/e... ......

The CE 7 (aka. Windows Embedded Compact) provides many new features, a new VirtualPC is one of them and as a replacement of Device Emulator in CE 6. The bootloader of VPC BSP utilize a new introduced framework in CE7, the BLDR (not the BIOSLOADER!) It provides many rich and advanced feature, I will introduce more detail in my future posts. Today, I ......

Windows CE is a 32 bits OS since day one, so it makes sense tools shipped with PB, compiler, linker, assembler and etc, are for targeting to 32 bits system. But occasionally, if you are developing x86 based system and especially working on some boot code, such as boot sector of BIOSLOADER, that will be a problem. Normally, as PB provides the prebuilt ......

Copyright © Kate Moss' Open Space | Powered by: GeeksWithBlogs.net