2010年12月27日

摘要: CE的HIVE注册表可以使用户操作的相关设置以注册表的形式保存到DOM等存储设备中.加了HIVE的相关组件后,可以通过手动或自动方式保存信息到存储设备里.l手动存储方式是执行一个软件后,把用户设置的相关信息回写到HIVE注册表里面l自动存储方式是在Platform.reg中把RegistryFlags设置成1,当用户启动系统后,设置相关信息就会自动的保存到HIVE Registry里面.在CE5.0 CE6.0下的具体操作如下所示一.在CE6.0下实现方法1.添加组件: lCatalog-Core OS-CEBASE-FileSystem and Data Store-File Sys 阅读全文
posted @ 2010-12-27 17:34 vicxx 阅读(498) 评论(0) 推荐(0) 编辑

2010年12月22日

摘要: WinCE启动失败的原因与解决办法分析http://developer.51cto.com 2009-07-31 09:14 潘少红 IT168 我要评论(0) 本文通过对一次真实嵌入式项目的分析,总结了WinCE启动失败的几大原因及解决方案。本文通过一个真实的嵌入式项目进行说明。文中的嵌入式系统用的是ARM处理器+WinCE平台,项目的目的是要把WinCE平台从旧版本移植到WinCE6.0平台上。但结果是这个WinCE系统在启动的时候经常会出现失败,而且每次失败的原因都莫明其妙和不尽相同。这使到我们开发团队每个人在启动WinCE系统时都心惊肉跳,非常担心系统又再一次出现让人意想不到的失败。这 阅读全文
posted @ 2010-12-22 17:38 vicxx 阅读(386) 评论(0) 推荐(0) 编辑

2010年12月21日

摘要: 1、设备管理器: 设备管理器是Windows CE.Net设备管理的核心机构,它主要负责跟踪、维护系统的设备信息并对设备资源进行调配。(在%WINCEROOT%\PRIVATE\WINCEOS\COREOS \DEVICE\LIB里可以看到Windows CE设备管理器的代码) 设备管理器在Windows CE中主要表现为Device.exe的文件,Device.exe在系统启动的时候通过注册表里面的HKEY_LOCAL_MACHINE\Init\"Launch20"=“Device.exe"加载(Windows CE启动时分别执行[HKEY_LOCAL_MACHINE\init]键下所有子键 阅读全文
posted @ 2010-12-21 14:25 vicxx 阅读(631) 评论(0) 推荐(0) 编辑

2010年12月20日

摘要: 移植或者创建一个BSP,也许需要先熟悉Windows CE的内核启动过程. 目录 基于ARM的Windows CE内核启动分析1 1.startup.s2 2.KernelStart2 2.1 ARMInit()3 2.1.1 OALIntrInit3 2.1.2 OALTimerInit4 2.1.2.1 Variable Tick Scheduler4 2.2 KernelInit()4 2.3 FirstSchedule5 1.startup.s 内核入口点startup.S,内核从这里启动.因为内核经过bootloader加载,内核运行时候,已经由bootloader完成了硬件的基本初 阅读全文
posted @ 2010-12-20 11:04 vicxx 阅读(268) 评论(0) 推荐(0) 编辑

2010年12月17日

摘要: 不管在WinCE5.0还是在WinCE6.0中,我们在调试驱动或者应用的时候都会用到打印函数。在驱动里面,我们可能会用DEBUGMSG(..),RETAILMSG(..),还有NKDbgPrintfW(..)。在我们使用这些打印函数调试我们的程序之前,我们需要实现串口打印功能。在WinCE的BSP中,如果想调用DEBUGMSG(..)或者RETAILMSG(..)来从串口打印信息,必须在我们的BSP中的OAL层找到debug.c,在这个文件里面实现下面的4个函数:void OEMInitDebugSerial(void) : 初始化用于打印信息的串口int OEMReadDebugByte ( 阅读全文
posted @ 2010-12-17 13:42 vicxx 阅读(633) 评论(0) 推荐(0) 编辑
 
摘要: 在WinCE中使用的一个重要的文件就是BIB文件,全称Binary Image Builder File。在WinCE的编译过程中会用到BIB文件,应该是在最后的Makeimg阶段。所有的BIB文件会被合并成CE.bib文件,然后Romimage.exe会根据BIB文件中的描述来决定哪些文件最终被包含到WinCE image中。当然,BIB文件还决定了WinCE设备内存的分配,其中定义了WinCE image占用哪块内存,Framebuffer占用哪块内存等。在BIB文件中分为4大项:MEMORY项,CONFIG项,MODULES项和FILES项。下面分别作个解释:MEMORY:定义了内存分配 阅读全文
posted @ 2010-12-17 09:26 vicxx 阅读(1123) 评论(0) 推荐(0) 编辑

2010年12月16日

摘要: WinCE系统内核的源代码中默认使用28M的内存。如果在Build Option中选中Run-Time Image Can be Larger than 32 MB (IMGRAM64=1)项,那么定制WinCE的时候Platform Builder会使用64M的内存来编译。对于大于64M内存系统的定制需要做些修改。对于x86架构的GEODE处理器(注意此处是对于Geode处理,如果是CEPC则不需要改源代码,CEPC的内存修改方法),要支持大于64M的内存必须修改源码。首先在WinCE安装目录找到%_WINCEROOT%\Public\Common\Oak\Csp\x86\Inc\Pc.h文 阅读全文
posted @ 2010-12-16 23:24 vicxx 阅读(653) 评论(0) 推荐(0) 编辑
 
摘要: 注:以下分析是基于S3C2450的DRAMC控制器.1、CPU的BANK0到BANK5可以用于SROM(包括Norflash)、SRAM或其它外设的片选(片选信号nRCS),BANK6用于SDRAM、DDR内存(片选信号nSCS)。如果访问到不同BANK的地址范围DRAMC控制器则会激活对应的片选信号。关于此bank的最大访问是64MBytes目前不是很明白。找到一篇说明:http://blog.csdn.net/gooogleman/archive/2009/05/18/4197170.aspx2、DRAMC控制器支持32位的SDRAM和16位的DDR,地址空间达到128MByte,这是由D 阅读全文
posted @ 2010-12-16 22:17 vicxx 阅读(1174) 评论(0) 推荐(0) 编辑
 
摘要: wince内存配置WINCE的内存(包括SDRAM及FLASH)的配置包含两个方面:源代码(包括C和汇编)中的定义,及系统配置文件CONFIG.BIB中的定义。源代码中需要定义内存的物理及虚拟地址,大小,并初始化名为OEMAddressTable的结构数组,以告知系统物理地址与虚拟地址的对应关系,系统根据其设置生成MMU页表。而CONFIG.BIB中一般会将内存定义成不同的段,各段用作不同的用途。CONFIG.BIB文件CONFIG.BIB文件分两个部分,我们且称之为段,MEMORY段和CONFIG段。MEMORY段定义内存的分片方法,CONFIG段定义系统其它的一些属性。以下是一个CONFI 阅读全文
posted @ 2010-12-16 22:01 vicxx 阅读(258) 评论(0) 推荐(0) 编辑
 
摘要: 一个菜鸟问题,关于CONFIG.BIB的IF IMGFLASH !IF BSP_EP931X_COPY_FLASH_TO_RAM !;**********************************************************************;; Boot from RAM;;**********************************************************************MEMORYRESERVED 80000000 00008000 RESERVEDDRV_GLB 80008000 00001000 RESERVED 阅读全文
posted @ 2010-12-16 21:50 vicxx 阅读(267) 评论(0) 推荐(0) 编辑