上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 17 下一页
摘要: 对于实时系统,如何调试是一个很难解决的问题,包括对系统内核的调试,对驱动程序的调试,对应用程序的调试等。对于应用程序,通常各集成开发环境都提供了常规的单步跟踪等调试手段。而对于另两个的调试,Platform Builder除了为我们提供了常规的断点跟踪等手段以外,还和系统的源程序配合使用了一种新的调试手段——Debug Zones调试区。通常,我们都是利用OutputDeb... 阅读全文
posted @ 2010-08-25 14:13 温子祺 阅读(493) 评论(0) 推荐(1) 编辑
摘要: 在WinCE中支持两种类型的注册表:RAM-Based和HIVE-Based,默认情况下使用的是RAM-Based注册表。 1.RAM-Based注册表   RAM-Based的注册表是将所有的注册表数据存储在对象存储(object store)中,也就是存放在RAM里面。一般用在有电池备份RAM的系统上面,也就是说,当系统掉电以后,会自动切换成电池供电,此时RAM还有供电,所以上面的数据不会丢失... 阅读全文
posted @ 2010-08-24 18:32 温子祺 阅读(2048) 评论(0) 推荐(0) 编辑
摘要: 嵌入式设备与桌面PC的一个显著不同是它的应用程序中通常需要直接访问某一段物理内存,这在驱动程序中对物理内存的访问尤为重要,尤其是像ARM体系结构下,I/O端口也被映射成某一个物理内存地址。因此,与桌面版本Windows相比,Windows CE提供了相对简单的物理内存访问方式。无论是驱动程序还是应用程序都可以通过API访问某一段物理内存。Windows CE的有些函数中需要用到物理内存结构体PHY... 阅读全文
posted @ 2010-08-24 18:27 温子祺 阅读(1102) 评论(0) 推荐(0) 编辑
摘要: Windows CE 6.0有4个基本的注册表键值, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS。其它的都是这4个注册表的子键。我 们以一个内建的串口驱动为例,它在注册表文件Platform.reg中的描述如下: 其中Prefix 和 Dll项是必不可少的,Prefix代表设备文件名前缀, 与Index合... 阅读全文
posted @ 2010-08-24 18:25 温子祺 阅读(4286) 评论(0) 推荐(1) 编辑
摘要: 在config.bib(boot.bib?)文件中,有如下三个设置:ROMSTART=xxxxROMWIDTH=xxxxROMSIZE=xxxxxx这3个变量必须被赋值.nk.bin 和nk.nb0都是CE的镜像。然而,我们在下载的过程中常常会遇到,有时候下载nk.bin,有时确是下载nk.nb0,这两者到底有什么区别呢? 首先,NK.BIN中的内容是被压缩过的,NK.NB0中的内容是没有压缩的。... 阅读全文
posted @ 2010-08-24 18:21 温子祺 阅读(818) 评论(0) 推荐(1) 编辑
摘要: 很多人对CRITICAL_SECTION的理解是错误的,认为CRITICAL_SECTION是锁定了资源,其实,CRITICAL_SECTION是不能够“锁定”资源的,它能够完成的功能,是同步不同线程的代码段。简单说,当一个线程执行了EnterCritialSection之后,cs里面的信息便被修改了,以指明哪一个线程占用了它。而此时,并没有任何资源被“锁定&r... 阅读全文
posted @ 2010-08-24 17:26 温子祺 阅读(766) 评论(0) 推荐(0) 编辑
摘要: 如何解决Error: failed PB timebomb check 编译windowsCE6.0的EBOOT的时候,都最后跳出来一个错误:Error: failed PB timebomb check定时炸弹?于是网上搜索,找到了解决方法1.更改系统时间,将系统时间前推几个月再makeimage就好了。我试了这种方法可行的,就是麻烦些。2.下载某强大MVP大牛crack后的romimag.ex... 阅读全文
posted @ 2010-08-24 13:46 温子祺 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 映射硬件寄存器当然PAGE_NOCACHE是必须加的。TransBusAddrToStatic函数负责将物理地址映射到ISR能够访问的静态虚拟地址空间中,当出现中断共享时,ISR要负责访问硬件设备的某一个寄存器来判断中断源,所以将寄存器的物理地址映射到静态虚拟地址空间中是必要的(ISR只能访问静态的虚拟地址空间)。所谓静态虚拟地址空间是指在OEMAddressTable中定义的虚拟地址空间(当然是... 阅读全文
posted @ 2010-08-23 17:49 温子祺 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 函数SerInit接着调用函数Ser_InternalMapRegisterAddresses转换IO地址并且映射地址,Ser_InternalMapRegisterAddresses在内部调用系统提供的HalTranslateBusAddress(Isa, 0, ioPhysicalBase, &inIoSpace, &ioPhysicalBase)函数将与总线相关的地址转换为系... 阅读全文
posted @ 2010-08-23 17:48 温子祺 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 在这里顺便提一下可安装ISR,读者在我以前发表的关于OAL的文章中可以了解到OEM在OEMInit函数中关联IRQ和SysIntr,当硬件设备发生中断时,ISR会禁止同级和低级中断,然后根据IRQ返回关联的SysIntr,内核根据ISR返回的SysIntr唤醒相应的IST(SysIntr与IST创建的Event关联),IST处理中断之后调用InterruptDone解除中断禁止。在OEMInit中... 阅读全文
posted @ 2010-08-23 17:47 温子祺 阅读(337) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 17 下一页