Windows CE Base Team Blog

Windows CE kernel and storage technologies and system tools.

Browse by Tags

Tagged Content List
  • Blog Post: MARSHAL_FORCE_ALIAS

    Posted by: Sue Loh Hello out there, it's been a long time since I posted anything real, and I feel sorry about that. As I began writing this article, I had just come from the first day of TechEd where I saw my colleagues present about CE6 and drivers, and was reminded of a subject I was suddenly inspired...
  • Blog Post: Good posts about Windows CE/Mobile Virtual Memory

    I didn't learn about Reed & Steve's blog until today, but got there by learning about these posts: http://blogs.msdn.com/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx http://blogs.msdn.com/hegenderfer/archive/2007/10/01/slaying-the-virtual-memory-monster-part-ii...
  • Blog Post: Paging and the Windows CE Paging Pool

    Posted by: Sue Loh I’d like to explain a little more about memory management in Windows CE. I already explained a bit about paging in Windows CE when I discussed virtual memory . In short, the OS will delay committing memory as long as possible by only allocating pages on first access (known as demand...
  • Blog Post: How does Windows Embedded CE 6.0 Start?

    Posted by Kurt Kennett, Senior Development Lead, Windows CE OS Core Operating system code, as one of my colleague developers recently realized, is “just code”. It’s not voodoo and it does not exist on a higher plane of knowledge. In fact, an operating system kernel is usually remarkably well structured...
  • Blog Post: Understanding VirtualSetAttributes

    Posted by Kurt Kennett Virtual Memory is fantastic. It allows you to create this personalized ‘view’ of the memory space of a computer, and rearrange where things are physically to suit your desires. This is especially good for the organization of registers of memory-mapped peripherals. By allocating...
  • Blog Post: Windows Mobile 6 and the CE OS

    Posted by: Sue Loh Now that WM6 is publicly announced, I want to start taking steps to prevent confusion about one detail that is pretty major to most people who read this blog. Windows Mobile 6 does NOT run the CE 6 OS. Technically the OS version # in WM6 is 5.02; it's an advancement of the OS (5...
  • Blog Post: What is kernel mode?

    Posted by: Sue Loh I've talked about this before but I want to really highlight it because I still see people wrestling with it. In Windows CE 5.0 and earlier, "kernel mode" is an access level attached to a thread. If a thread is "in kernel mode" it can access kernel address space. You could call...
  • Blog Post: Measuring TLB misses

    Posted by: Sue Loh Question: How can I measure TLB misses on Windows CE? Answer: If you are running a MIPS or SH processor then CeLog will capture counts of TLB misses. On each thread switch it'll record a "TLB miss" event which has the count of TLB misses that happened during the time...
  • Blog Post: CE6 Module Security

    Posted by Upender Sandadi Happy New Year to everyone!!! I hope you all had a wonderful start to the new year. This was one of those articles I had written before the year end but never got it posted. So here we go. One more aritcle on CE 6.0. This time the topic is: Module security. In Windows...
  • Blog Post: Marshalling Helper APIs

    I am told that our APIs are not part of our documentation. :-( I know for sure we documented these, but I'm told there is a documentation update coming soon, so they must only have made it into the update. My apologies on behalf of Microsoft. Keep an eye out for update notifications inside Platform Builder...
  • Blog Post: Other CE6 blog posts

    Posted by: Sue Loh It seems that Jason Browne, a BSQUARE employee who used to be a co-worker of mine on the CE Kernel team (Hi Jason!), has been blogging about CE6 too. He has beaten me to posting on a lot of these topics, in fact. If you don't want to take my word for these things, you might take...
  • Blog Post: Application Compatibility in Windows CE 6.0

    Posted by: Upender Sandadi One of the goals for Windows CE 6.0 design was full backward compatibility at the binary level for ISV applications. We have gone to great lengths to maintain binary level compatibility by: a) Maintaining the same exports from the standard core libraries (for ex: in coredll...
  • Blog Post: CE6 Drivers: What you need to know

    Posted by: Sue Loh One of the biggest concerns people have about the new CE6 release is backward compatibility. Every release we try very hard to make existing applications, drivers and OALs as compatible as possible. With CE6 we expect very high compatibility for applications and even OAL code, but...
  • Blog Post: Memory marshalling in Windows CE

    Posted by: Sue Loh This article explains how memory access and memory passing is implemented in Windows CE 6 as well as previous versions of the OS. My intention is to explain the significant differences in CE6 by contrasting it against earlier OS versions. I structured this explanation to talk mostly...
  • Blog Post: The CE6 OS differences in a nutshell

    Posted by: Sue Loh Ha! Some nutshell. This post is rather long -- though for me, that's nothing new. I’ve tried to at least provide a starting point for you (OEMs and ISVs ) to begin understanding the details of the CE6 OS that will mean most to you. I and the rest of the CE base team plan to follow...
  • Blog Post: What is Virtual Memory?

    Posted by: Sue Loh This is really a generic topic, not something specific to Windows CE, but I’ve had to explain it to a few people so I thought it would be worth writing up. If you had asked me what virtual memory was several years ago, I’d have given you some hand-wave explanation about making it...
  • Blog Post: KITL Troubleshooting Tips

    Posted by: Upender Sandadi (reposting since text formatting got messed up first time) This is the second entry in the KITL series. In the first entry we learnt aboust basic KITL packet layout . In this we will look at some of the common things we have run across in debugging KITL issues on devices...
  • Blog Post: Windows CE 6 kernel and driver videos online

    Posted by: Sue Loh Hello all, sorry it has been so long since I've posted any real info. Thank goodness my teammates are picking up some of the slack. Have a few posts I hope to get to Real Soon Now. In the meantime, a quick link. As Mike Hall just posted, there are a couple of new CE6 videos online...
  • Blog Post: KITL Overview: Packet layout

    Posted by: Upender Sandadi Overview of KITL KITL, which stands for Kernel Independent Transport Layer, is the basic debugging protocol used for debugging Windows CE devices. The KITL layer on the desktop and device manage both the transport and stream abstraction from applications. As part of...
  • Blog Post: Inside Windows CE API Calls

    Posted by: Sue Loh Windows CE APIs are implemented by a set of server processes. Besides the kernel (nk.exe) we have other server processes: filesys.exe, gwes.exe, device.exe, services.exe. When an application calls an API in one of these servers, the app thread actually jumps into the server process...
  • Blog Post: Shared Heap Pitfalls

    Posted by: Sue Loh I just saw someone on our newsgroups make a recommendation that to get past the Windows CE 32MB per-process VM limitation, you can use shared heaps to make your allocations. I would like to explain some of the pitfalls of choosing that route. First off, by "shared heap" we are...
  • Blog Post: Practical use of RAM beyond 512MB

    Posted By: Sue Loh I actually got a fourth question from Gursharan, but it is a separate topic so I'm breaking it out into a different post. This is in reference to one of my previous blog posts . Q4. So winCE cannot address RAM larger than 512 MB. But we can make our application use that space...
  • Blog Post: Real-Time and Threads

    Posted by: Sue Loh I got some great questions from one of our former Windows Embedded Student Challenge finalists, Gursharan. I thought it would make a good blog post, so with his permission I'm answering his questions here. Q1. The windows CE kernel has a scheduler working that is scheduling...
  • Blog Post: How to use GetTickCount

    Posted by: Sue Loh No, no, no, before you even say it, I'm not writing this in response to any of Jack Crenshaw's columns . Actually this time it's more to augment them. You see his columns do make one very true point (more than one, but only one I'm commenting on here): People who call GetTickCount...
Page 1 of 1 (24 items)