Windows CE
luixing67
这个作者很懒,什么都没留下…
展开
-
WinCE中,环境变量的添加,删除和查询以及BSP的快速编译
作者:ARM-WinCE 在WinCE中有很多的环境变量,那么如何设置/删除/查询这些环境变量呢:1. 查询环境变量:无论是在WinCE5.0还是WinCE6.0,当我们在PB里打开或者创建一个工程以后,我们可以在菜单中点“build”->“Open Release Directory in Build Window”,然后会弹出命令行对话框。在对话框中输入“set”命令,然后回车,就转载 2010-03-01 15:56:00 · 839 阅读 · 0 评论 -
Cache 的write back和write through
Cache 的write back和write through 收藏 为了保证cache和memory的数据一致性,通常有三种方法:1〉write through:CPU向cache写入数据时,同时向memory也写一份,使cache和memory的数据保持一致。优点是简单,缺点是每次都要访问memory,速度比较慢。2〉post write:CPU更新cache数据时,把更新的数据写入到转载 2010-04-12 14:40:00 · 873 阅读 · 0 评论 -
在ARM的ADS下开cache和MMU
今天晚上弄了一下如何在ADS程序中建立一级页表,并开MMU和cache的方法;其实要改的地方只有三个地方:(1) 建立sdram的虚实映射页表描述符,在这里我的SDRAM的物理地址是0X30000000大小是32M,我想把它映射到0x40000000的位置映射的大小也是32M,也就是建立32个一级映射描述符,我们的页表基地址是0x30004000,所以我们配置页表的内容如下:转载 2010-04-13 17:36:00 · 1791 阅读 · 0 评论 -
关于nand分区的一点笔记
关于nand的分区日志。1:开发简介首先需要理解的是nand的分区操作是一个怎么样的过程。基本上具体的操作都用到了微软所写的规范库,在public下的文件目录下有源码可循。主要是以BP开头的函数。主要在bootpart.cpp这个文件中可以寻找到。对于一下的看发抖是我自己对于程序的理解,难免会有很多错误。希望能在以后能逐步的改正和理解。2:开发的准备知识。其实对于这项开发的知识涉及的范围很广。如果转载 2010-04-20 17:31:00 · 2316 阅读 · 0 评论 -
Windows CE 内存管理(非常详细)
一个Windows CE 应用程序有许多不同的内存分配方式。在内存食物链的底端是Virtualxxx 函数,它们直接保留,提交和释放(free)虚拟内存页。接下来的是堆(heap) API。堆是系统为应用程序保留的内存区域。堆有两种风味:当应用程序启动时自动默认分配的本地堆(local heap),以及能够由程序手动创建的分离堆(separate heap)。在堆API之后是静态数据,数据块是被编转载 2010-04-20 17:33:00 · 2252 阅读 · 0 评论 -
CE SD卡驱动开发(Zylonite)(转)
1、 WINCE 下的SD卡驱动架构Wince 下SD卡驱动协议栈组成 :HOST硬件底层部分 (主控制端驱动) SDHC_XXX.DLLBUS 中间逻辑命令层 (总线驱动) SDBUS.DLLCLIENT上层(客户端驱动) SDMEMORY.DLL主控制端驱动 主控制端驱动控制包含主控制器硬件,遵循主控制端驱动接口,它被用于总转载 2010-04-24 17:58:00 · 125 阅读 · 0 评论 -
2440从sd卡启动wince
经过一周的时间终于在s3c2440上把sdboot给跑起来了。整个任务是在已有的bootloader上(用usb线从pc下载的方式)修改以支持直接从sd卡上拷贝nk.nb0文件到内存并启动。 有关sd卡驱动和fat fs的实现用了3个文件来实现。sdboot.c为sd的驱动(可理解为pdd)层,主要实现一些对sd控制器的配置以及一些基本sd命令的实现和对sd卡的操作。sdmmc.c实转载 2010-04-24 18:01:00 · 1162 阅读 · 2 评论 -
VirtualAlloc和VirtualCopy的蕴含知识点
1.VirtualAlloc用来在进程的虚拟地址空间中保留(reserve)或者提交(commit)页。在保留时以64KB为粒度,即保留空间以64K为单位。而提交虚拟地址时,则以页(典型大小为4KB)为单位。2.VirtualCopy用来绑定一块物理内存到当前进程虚拟地址空间。参数里的lpvSrc既可以是内核段的虚拟地址也可以是物理地址(用page_physical来标记)。同时要注意lpvS转载 2010-05-02 16:41:00 · 532 阅读 · 0 评论 -
PB5.0 features/sysgen参数和ceconfig.h中宏定义的对应关系
<br />使用PB建立一个wince image之前先要建立一个workspace来控制除OEM BSP之外的所有的image的属性,包括的内容等等。这些内容主要是通过PB的catalog来管理的,通过PB的viewàcatalog打开的视窗,我们从全部的window ce的可选组件中选择我们需要的加入到workspace中,这样的话我们sysgen出来的image就具备了相应的功能。从catalog的视窗中,我们可以通过查询任意一个组件的属性来获得它唯一对应的一个sysgen_开头的变量。但是这些变量并转载 2010-06-29 11:24:00 · 559 阅读 · 0 评论 -
wince FAL+FMD 分析(修改)
wince FAL+FMD的简单分析creatorsz111@126.com http://hi.baidu.com/guly699 小改1.首先弄清楚FAL中的设备驱动,物理设备数据类型如下:typedef struct _DEVICE{ DWORD dwID; PVOID hFMD; PVOID hFMDHook;} DE转载 2010-04-11 23:40:00 · 1156 阅读 · 0 评论 -
WinCE内核裁减(中文字体)及字库和内核的分离
每次定制中文系统时,NK总是比英文大10M左右,启动时在bootloader中将内核Copy到内存时也花时间,同时也占用了很多内存,留给系统和应用的内存就少了10M左右,真是浪费呀,看到都心痛!本人研究了一下,同时也参考了网上的资料,现总结如下,如何减少中文字库大小和将字库放到外部存贮器上。核心思想是将默认选择的中文字体SimSun & NSimSun (SYSGEN_FONTS_SIMSUN转载 2010-01-15 15:37:00 · 1041 阅读 · 1 评论 -
WinCE下SD卡驱动开发
WinCE 5.0下面SD卡驱动的开发。这是我做的第一个项目,当时做这个项目花费了相当的时间和精力,搞的我精疲力尽。几乎可以说当时对WinCE一点都不懂。也不知道从何处下手,就东看西看。东改西改,改的是一塌糊涂。幸好老板和老大都比较宽容,给了我充裕的时间和支持,将自己有关SD卡在WinCE 5。0下面的驱动理解的点滴给记录下来,希望能够对别人有所帮助。 目前WinCE下面的驱动主要有两种架构转载 2010-01-08 15:23:00 · 2889 阅读 · 0 评论 -
WINCE 6.0 调大image
通常情况,wince系统默认的image大小是32M,一般这个大小是够了。但如果添加的组件比较多,生成的NK.bin就会超过32M,这时就需要做一些修改了。 1、将项目的配置属性 "Run-time image can be larger than 32MB (IMGRAM64=1)"打上勾。 2、修改Eboot下的loader.h #define ROM_RAMIMAGE_SIZE 0x0230转载 2010-03-04 17:16:00 · 469 阅读 · 0 评论 -
转贴::Wince6 Eboot中加入开机画面
昨天研究了一下wince开机时加入个性化的画面,折腾了一上午,不是花屏就是CE起不来……终于搞定,分享一下经验吧。。。Wince加入开机画面方法一般有以下两种:1、 在文件中下定义一个常量大数组,几百K,如const USHORT ScreenBitmap[],在显示图片的地方利用for循坏把数组都拷贝到相应的buffer中。2、 把图片数据存放到Flash的某位置,启动时使用特定方法转载 2010-03-04 17:18:00 · 543 阅读 · 0 评论 -
(转载)WinCE上BINFS实现详解
原稿 :http://www.armce.com/bbs/thread-1043-1-1.html网上不少介绍三星24x0系列的BINFS启动方式实现,有些内容上描述的不是非常全面下面就WinCE6上的BINFS实现,从基本原理到修改BSP,再到如何烧录启动做一个较全面的讲解一 BINFS到底是什么?其实BINFS就是MS给CE做的一种存放系统镜像的一个文件系统。一说文件系统,大家可能比较头大转载 2009-12-27 00:06:00 · 445 阅读 · 0 评论 -
WindowsCE目录解析
windowsCE的目录结构巨大而庞杂,尽管windowsCE的帮助对这个庞大的目录结构进行了说明仍然有很多目录下对应的代码在windowsCE help没有介绍其具体用途,下面就将windowsCE的目录结构进行简单的介绍。 1.SDK 在windowsCE.net4.2的根目录下存在PLATFORM,PRIVATE,SDK,OTHERS,PUBLIC五个目录。SDK是其中最为简单的一个目录结构转载 2009-12-30 13:46:00 · 691 阅读 · 0 评论 -
S3c2440A平台HIVE注册表+binfs的实现
今天总结一些实现的过程和原理。 我的例子是基于samsung S3C2440A+samsung ONENAND+WinCE5.0的,开发平台是platform builder 5.0,首先我们基于RAM register的image已经可以正常跑起来了,Flash除了放置image外其他的空间为用户提供文件系统,这部分的驱动程序是用三星的PocetStoreII15。 先来回味一下底层的东转载 2010-03-09 16:13:00 · 461 阅读 · 0 评论 -
WinCE下的GPIO中断的处理
原文:blog.csdn.net/frankeagle/archive/2006/02/24/608156.aspx在 我所负责的音频驱动部分代码中,采用了PXA270的GPIO34来检测Headphone的插入与拔出.原驱动部分有个BUG,即当耳机插入以后,耳机 和喇叭同时在响,很明显没有对耳机插入事件做出响应.所以我开始采用了检测GPIO信号拉高或者拉低和检测耳机的插入事件转载 2010-01-06 20:47:00 · 791 阅读 · 0 评论 -
WINCE物理和虚拟地址的问题
WINCE物理和虚拟地址的问题在MAP.A中地址映射表转换物理地址到虚拟地址 EXPORT OEMAddressTable[DATA] ; LTORG AREA OEMAddressTable, DATA, READONLY;OEMAddressTable ;;;--------------------------------------------转载 2010-01-11 14:16:00 · 566 阅读 · 0 评论 -
配置config.bib的注意事项以及错误分析——自己都要顶!
一、编译出NK,但是但是下载NK后不会启动。原因:就是DNW设置地址不对,并不是每个NK下载到0x32000000都能运行的。欲知详情,请看下面。先看这个能在0x32000000运行的NK的内存映射表OEMAddressTable ;;;------------------------------------------------------------- ;;; V转载 2010-01-11 14:18:00 · 686 阅读 · 0 评论 -
PB5.0 features/sysgen参数和ceconfig.h中宏定义的对应关系
<br />使用PB建立一个wince image之前先要建立一个workspace来控制除OEM BSP之外的所有的image的属性,包括的内容等等。这些内容主要是通过PB的catalog来管理的,通过PB的viewàcatalog打开的视窗,我们从全部的window ce的可选组件中选择我们需要的加入到workspace中,这样的话我们sysgen出来的image就具备了相应的功能。从catalog的视窗中,我们可以通过查询任意一个组件的属性来获得它唯一对应的一个sysgen_开头的变量。但是这些变量并转载 2010-06-29 11:24:00 · 863 阅读 · 0 评论 -
对s3c2440 mmu.c的分析
<br />/************************************************<br />NAME : MMU.C<br />DESC :<br />Revision : 1.0<br />************************************************/<br />#include "def.h"<br />#include "option.h"<br />#include "2440addr.h"<br />#include原创 2010-07-01 14:27:00 · 1624 阅读 · 1 评论 -
wince6.0编译环境一二三
<br />在WinCE5.0中,在"Build OS”菜单中,我们会看到不同的编译选项:<br />"Sysgen","Build and Sysgen"和"Build and Sysgen current BSP"<br />Sysgen:不用多说,当你在"Catalog"中添加或删除了新的item的时候,就用这个吧。<br />Build and Sysgen:当你更新了/public目录下的源代码的时候,你就需要用这个了。一般比如在打patch以后,可能就需要进行Build and Sysgen了。转载 2010-06-29 11:32:00 · 743 阅读 · 0 评论 -
CE下的电源管理---mobile
<br />本篇将以Windows Mobile为例介绍Windows CE电源管理的实现,大体上,Windows Mobile分为Pocket PC和Smartphone两种版本。这两者之间的主要区别在于触摸屏和电源模型,Smartphone采用的是“Always On”模型。为了说清楚它们的区别,我们就先从系统电源状态说起吧(这里有些系统电源状态是从WM5开始才有的)。 <br />1. Windows Mobile的系统电源状态<br />On:用户与系统交互时的状态; <br />Backlight原创 2010-07-09 18:05:00 · 824 阅读 · 0 评论 -
如何使用HIVE-based Registry
Mark 2007-12-04 CE的HIVE注册表可以使用户操作的相关设置以注册表的形式保存到DOM等存储设备中.加了HIVE的相关组件后,可以通过手动或自动方式保存信息到存储设备里. l 手动存储方式是执行一个软件后,把用户设置的相关信息回写到HIVE注册表里面 l 自动存储方式是在Platform.reg中把RegistryFlags设置成1,当用户启动系统后,设置相关信息就会自动的保存到H转载 2010-05-17 09:49:00 · 627 阅读 · 0 评论 -
WINCE声音驱动模型概述
1.1 WINCE的声音模型标准的WINDOWS CE下的声音处理模型。1) 声音应用在使用WAVE接口函数的时候被COREDLL模块分了类:如果是简单的PCM数据,则直接进入ADM模块,进行SoftWare Mixer或者连Mixer也省了,直接调用Driver放音;如果是压缩模式的数据则进入ACM模块进行解压处理后(比如:GSM/G7XX等等…)再次进入ADM模块。 此外,如果D转载 2010-05-18 09:59:00 · 1950 阅读 · 0 评论 -
ARM中ADS环境下C语言和汇编语言混合编程及示例
在嵌入式系统开发中,目前使用的主要编程语言是C 和汇编,虽然C++已经有相应的编译器,但是现在使用还是比较少的。 在稍大规模的嵌入式程序设计中,大部分的代码都是用C来编写的,主要是因为C语言具有较强的结构性,便于人的理解,并且具有大量的库支持。但对于一写硬件上的操作,很多地方还是要用到汇编语言,例如硬件系统的初始化中的CPU 状态的设定,中断的使能,主频的设定,RAM控制参数等。另外在一些转载 2010-05-19 13:22:00 · 4097 阅读 · 0 评论 -
WinCE虚拟串口驱动(一)
//======================================================================== //TITLE: // WinCE虚拟串口驱动(一) //AUTHOR: // norains //DATE: // Saturday 28-March-2009 //Environment: // WINDOWS CE 5.0 //===========================================转载 2010-06-10 10:01:00 · 687 阅读 · 0 评论 -
内存地址分配:config.bib的配置
<br />内存地址分配:config.bib的配置<br />--作者:赖玉平(Auly)aulyp@163.com<br /> <br />在嵌入式wince系统里,内存的分配,是通过config.bib文件来设置的,如分配显存地址,RAM地址,ROM地址等等。下面将详细介绍在该文件里面用到的一些关键字和使用NK镜或使用XIP时不同的地址分配。<br /> <br />(1) RAMIMAGE 是放在RAM里面的镜像,这个地址空间不受CE控制,这是启动时,自动拷贝到内存的区域,<br /转载 2010-08-16 11:27:00 · 864 阅读 · 0 评论 -
请教怎样看 'Data Abort' 错误啊?
<br />http://www.armce.com/bbs/thread-194-1-1.html<br />网上说 'Data Abort' 都是内存泄露引起的,后来去微软看CE内存泄露的视频,发现CE5的,回来找不到那个调试软件,发觉我白忙乎一场。 <br /><br />114087 PID:400002 TID:4db0016 Exception 'Data Abort' (4): Thread-Id=04db0016(pth=997cad5c), Proc-Id=00400002(pprc=转载 2010-11-11 16:35:00 · 5127 阅读 · 1 评论 -
Window CE 打印机驱动实现
Windows CE 2.0及其以上版本包括对打印机的支持。Windows CE操作系统使用的打印模型是为基于Windows CE的桌面平台定义的打印模型的子集。只有少量为打印机驱动程序定义的图形驱动程序函数是Windows CE的打印机驱动程序所需要的。Windows CE的图形显示接口(GDI)和显示驱动程序完成与打印有关的大部分工作。在打印处理的开始,GDI生成带属性的设备背景dev转载 2011-06-15 15:19:00 · 1044 阅读 · 0 评论 -
如何在wince控制面板增加一个响应指定程序的图标
<br />这个比想像中的要麻烦有下面详细的8个步文件<br />1.首先在驱动文件夹,建立一个:"newcpl" 文件夹<br />2.建 "sources" 文件,内容如下<br />TARGETNAME=newcpl<br />SOURCES= /<br />connpnl.rc /<br />connpnl.cpp /<br />INCLUDES= /<br />$(_PROJECTROOT)/cesysgen/oak/inc /<br />CDEFINES=$(CDEFINES) -DBKLPNL转载 2010-07-09 13:09:00 · 594 阅读 · 0 评论 -
MapPtrToProcess 用法 WINCE驱动分析3 转
可以使用下面的应用程序代码测试这个driver,使用evc编译。#include #include#include #include "objbase.h"#include "initguid.h" #include "foo.h" //char data1[10];int WinMain(void){ HANDLE hnd;转载 2010-05-12 14:07:00 · 617 阅读 · 0 评论 -
WinCE5.0移植DM9000之DM9000寄存器功能详细介绍878714325
DM9000寄存器功能详细介绍[转] DM9000(A)是一个全集成、功能强大、性价比高的快速以太网MAC控制器,它带有一个通用处理器接口、EEPROM接口、10/100 PHY和16KB的SRAM(13KB作为接收FIFO,3KB作为发送FIFO)。它采用单电源供电,可兼容3.3V、5V的IO接口电平。 DM9000(A)同样支持MII(M转载 2010-05-13 09:46:00 · 702 阅读 · 0 评论 -
wince5.0 中断 详解
原帖地址http://topic.csdn.net/u/20071008/11/D54DF4A6-09EF-4D7F-AADB-2F60FF3824FC.html1 WinCE中第一次对中断的处理是在OAL的OEMInit()中,该函数调用OALIntrInit()完成对中断的初始化.2 OALIntrInit()对中断的初始化做了如下工作:2.1 通过配置IPR0-IPR33设置中断转载 2010-05-07 15:45:00 · 442 阅读 · 0 评论 -
PB5.0 features/sysgen参数和ceconfig.h中宏定义的对应关系
<br />使用PB建立一个wince image之前先要建立一个workspace来控制除OEM BSP之外的所有的image的属性,包括的内容等等。这些内容主要是通过PB的catalog来管理的,通过PB的viewàcatalog打开的视窗,我们从全部的window ce的可选组件中选择我们需要的加入到workspace中,这样的话我们sysgen出来的image就具备了相应的功能。从catalog的视窗中,我们可以通过查询任意一个组件的属性来获得它唯一对应的一个sysgen_开头的变量。但是这些变量并转载 2010-06-29 11:24:00 · 475 阅读 · 0 评论 -
转---------------wince串口线程、中断等相关学习(作者:wogoyixikexie@gliet)
前面发了好几篇wince串口的学习的文章,由于是学习性质的,弄的比较乱,还请网友们原谅。以前只是搞懂了大体框架,对这个中断线程等底层的东西还没有了解,现在来来学习一下。 VOID SerialEventHandler(PHW_INDEP_INFO pSerialHead) { PHW_VTBL pFuncTbl = pSerialHead->pHWOb转载 2010-05-07 14:08:00 · 928 阅读 · 0 评论 -
WINCE6下USB Serial和USB Mass Storage切换的代码
转滴//--------------------------------------------------------------------------------------------------------------------------------------------------最近发现有好多人在问WINCE下USB Serial和USB Mass Storage切换的转载 2010-05-10 14:16:00 · 1413 阅读 · 0 评论 -
WinCE同步(ActiveSync)问题
同步功能是WinCE一个出色功能,可以通过usb,serial等物理连接,与pc端通讯进而实现同步功能.当然,不只是同步些数据那么点功能,它还可以同步outlook等,最关键的,pc端提供很多软件包括pb和evc的remote tools这些工具很多时候要和目标设备连接,借由ActiveSyc功能可以轻松达到目标.这样我们在pc端就可以轻松获得WinCE设备的注册表,进程管理,系统信息等几乎所有数转载 2010-05-10 17:32:00 · 6606 阅读 · 1 评论 -
dm9000在wince6.0上的移植过程
1、将dm9000a文件夹放到/WINCE600/PLATFORM/zylonite_mhlv/SRC/DRIVERS下MzýnÇÃ2zhanwei.seaskyer.net¼Ò»²È2`Ä并做以下修改MzýnÇÃ2zhanwei.seaskyer.net¼Ò»²È2`ÄA、g_szDm9ConfigParams[]修改如下MzýnÇÃ2zhanwei.seaskyer.转载 2010-05-13 09:44:00 · 809 阅读 · 0 评论