- 博客(5)
- 收藏
- 关注
原创 Wince读核1-启动流程4
;下面这一段有点特殊。ce5.0最多支持512M的物理RAM,也就是说虚拟地址空间0x80000000-0x9fffffff用来映射最多512M的物理RAM; ;所以r2和0x1FF00000求与后满足上述要求(1M对齐); ;而被映射的物理地址可以是任何4g空间内的地址,所以r3和0xFFF00000求与后满足要求(1M对齐)。 ;注意,这里和ce支持4g虚拟内存是不矛盾
2008-01-01 21:33:00
407
原创 Wince读核1-启动流程5
4. PSL和API调用 接下来这部分资料有些翻译自网络上的文章,大部分是我自己的理解。我们知道ce的api是由几个server进程实现的,包括filesys.exe,gwes.exe,device.exe和services.exe,当然,还有内核nk.exe。当一个进程调用某个api时,调用者的线程通常会"跳进" server进程中执行。这是怎么做到的呢?大部分ce的api
2008-01-01 21:33:00
456
原创 Wince读核1-启动流程3
; Zero out page tables & kernel data page ;初始化上面分配的物理内存KDataArea mov r0, #0 ; (r0-r3) = 0s to store mov r1, #0 mov
2008-01-01 21:31:00
334
原创 Wince读核1-启动流程2
3. 从KernelStart开始2KernelStart()函数代码如下。 LEAF_ENTRY KernelStart ;我们现在跑在物理地址下; ;如前所述,r0在之前已经保存了MemoryMap的物理地址。 mov r11, r0 ; (r11) = &MemoryMap (save poin
2008-01-01 21:30:00
412
原创 Wince读核1-启动流程1
写在前面将近一年前,做过一段时间windows mobile,当时忙于项目,精力放在bsp的调试上,对widnows ce系统了解不深刻,后来忙别的项目就把ce放下了。时隔将近一年,这几天难得有点清闲,看了一点ce的源代码,发现自己记性大不如前,正好这个blog很久没有更新了,因此写点东西吧。以下内容基于ce5.0,arm体系结构。参考1. ce5.0源代码和帮助文档2. 《ARM Arch
2008-01-01 21:29:00
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人