
Windows CE
文章平均质量分 75
lokicui
个人正从事于嵌入式方面的工作.欢迎交流....
展开
-
wince 5.0 内存管理
内存管理X86: physical address, linear address, logical address.地址形式: XXXX XXXX XXXX XXXX CS:XXXX XXXX GDT,LDT. ARM: PA. VA4G的虚拟空间:关于MMU: 在mmu还没有被enable原创 2008-10-17 11:14:00 · 506 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--第2章 屏幕绘图--概述
第2章 屏幕绘图概述在第1章,示例程序HelloCE完成一项工作:在屏幕上显示一行文字。显示这行文字只需要调用一次DrawText即可,因为Windows CE代为处理了很多细节,例如字体、字体颜色、文本行在屏幕上的位置等等。借助图形用户接口的力量,应用程序不只能在屏幕上输出本文行,还能做更多的事情。应用程序可以绘制出非常精细的显示外观。纵观微软Windows操作系统,用于绘制屏幕的函数原创 2008-10-17 12:56:00 · 391 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--1.4 Hello2
Hello2既然已经有了基础,那么是时候把Hello1升级一下,至少应该让人可以看见它。因为很多Windows CE系统没有控制台驱动程序,Hello2创建一个消息框而不是用printf来显示“Hello CE”文字。Hello2的程序如下表1-2所示:列表1-2: Hello2, 使用MessageBox函数的简单应用程序Hello2.cpp//====================原创 2008-10-17 12:57:00 · 437 阅读 · 0 评论 -
Windows CE 进程、线程和内存管理(二)
[ 本文属于第32期, 适合中级读者 ] Windows CE 进程、线程和内存管理(二)作者:付林林二、同步 在多数情况下,线程之间难免要相互通信、相互协调才能完成任务。比如,当有多个线程共同访问同一个资源时,就必须保证一个线程正读取这个资源数据的时候,其它线程不能够修改它。这就需要线程之间相互通信,了解对方的行为。再有当一个线程要准备执行下一个任原创 2008-10-17 12:58:00 · 531 阅读 · 0 评论 -
Windows CE 进程、线程和内存管理(一)
[ 本文属于第32期, 适合中级读者 ] Windows CE 进程、线程和内存管理(一)作者:付林林 进程、线程、内存管理是一个内核最基本的服务,也是一个内核最主要的组成部分。这几方面的知识是一个软件开发人员必须掌握的基础知识。虽然一个人不懂这些知识也能编写简单的程序,但这样的程序只能算是皮毛。掌握了进程、线程和内存管理方面的知识,就能够充分利用操作系统原创 2008-10-17 13:00:00 · 480 阅读 · 0 评论 -
模拟器和远程调试工具(一)
本文属于第32期, 适合中级读者 ] 模拟器和远程调试工具(一)作者:付林林本篇文章主要讲解远程调试工具的使用方法,并采用PB下的模拟器来试验。 一、模拟器 模拟器(emulator)是PB的一部分。专用于调试在PB下创建的内核及应用程序。模拟器能够在PC下模拟Windows CE的物理平台。但实际上它只不过是一个运行在CPU Ring 3级别的用户程序。所以它的运原创 2008-10-17 13:02:00 · 868 阅读 · 0 评论 -
WinCE(s3c2410)的LCD驱动程序编写指南(续)
红色部分为修改后的内容:WORD TempBuffer[1025][768];S3C2410DISP::S3C2410DISP (void){ ******** m_nScreenWidth = 1024; m_nScreenHeight = 768; *********} 到此修改工作基本完成,但还要一个问题:1024*76原创 2008-10-17 10:53:00 · 535 阅读 · 0 评论 -
(转)vivi eboot wince 烧写 (续)
/*Linux command line 不是bootloader的参数,而是kernel启动的时候,kernel不能自动检测到的必要的参数些参数需要 bootloader 传递给 linux kernel Linux command line就是设置 linux kernel启动时,需要手工传给 kernel的参数 */part命令 part命令用于对 MTD分区进行操作原创 2008-10-17 10:57:00 · 533 阅读 · 0 评论 -
GPS定位信息的接收
通常GPS定位信息接收系统主要由GPS接收天线、变频器、信号通道、微处理器、存储器以及电源等部分组成。由于GPS定位信息内容较少,因此多用RS-232串口将定位信息(NEMA0183语句)从GPS接收机传送到计算机中进行信息提取处理。从串口读取数据有多种方法,在此直接使用 Win32 API函数对其进行编程处理。在Windows下不允许直接对硬件端口进行控制操作,所有的端原创 2008-10-17 11:00:00 · 1337 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--2.2 输出文本(续)
FontList示例程序FontList程序用两种方式使用EnumFontFamilies函数来枚举系统里所有字体清单2-2FontList.h//================================================================// Header file//// Written for the book Programming W原创 2008-10-17 12:53:00 · 755 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--2.4 线条和形状
线条和形状同Windows其它版本相比,Windows CE提供相当少的功能的领域之一就是基本线条绘制和形状绘制功能。用来创建复杂环形的Chord, Arc, 和Pie函数被去掉了。大部分使用"当前点[current point]"概念的函数也被去掉了。除了MoveToEx, LineTo和GetCurrentPositionEx外,处理当前点的其它GDI函数都不被Windows CE支持。原创 2008-10-17 12:52:00 · 1126 阅读 · 1 评论 -
WinCE下驱动开发入门记录
转自 http://www.diybl.com/ 这两天时间完全泡在CE的驱动开发中,学习学习,感觉就是资料不好找,难入门难上手,象我这样仅仅只有eVc4的更是没法调试没法跟踪,困难还是挺多的。学习了两天,现在感觉有那么点意思了,记录一下与大家分享。 首先说明一下,我可能仍然是个门外汉,因为以前基本没做过和硬件相关的东西,这方面知识缺乏的要命,现在公司要求做个原创 2008-10-17 11:26:00 · 562 阅读 · 0 评论 -
[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(十)
菜单条 翻译:tellmenow 菜单条控件是在Pocket PC 2000中开始引入的。从外观上看,菜单条同命令条的不同之处在于它是位于窗口底部而不是顶部。但是,对程序员来说,菜单条有许多不同的编程接口。因为Pocket PC的流行以及OEM厂商希望能够创建同Pocket PC软件兼容的嵌入式系统,所以从W原创 2008-10-17 11:28:00 · 474 阅读 · 0 评论 -
[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(九) (续)
//LRESULT DoPaintMain (HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HWND hwndCB; RECT rect; HDC hdc; POINT ptArray[2]; // Adjust the s原创 2008-10-17 12:34:00 · 399 阅读 · 0 评论 -
[翻译]-Windows CE 程序设计 (3rd 版)--5.1 公共控件编程
因为公共控件同操作系统核心是分离的,所以在使用任何一个公共控件前必须要初始化包含公共控件的DLL。在所有Windows版本里,也包括Windows CE,您可以调用void InitCommonControls(void)来装载动态库并注册许多公共控件类。该调用并不初始化日历控件、时间选择控件up/down控件、IP地址控件以及其它更新一些的公共控件。要初始化这些控件,使用函数BOOL In原创 2008-10-17 12:39:00 · 344 阅读 · 0 评论 -
[翻译]-Windows CE 程序设计 (3rd 版)--第5章 公共控件和Windows CE --概述
概述随着微软Windows作为一个操作系统日渐成熟,Windows提供的基本控件也是愈发不足以满足用户对复杂界面的需要。微软开发了一系列称为公共控件的附加控件,用于其内部应用。随后又将这些公共控件包容到DLL中提供给开发者使用。从Windows 95和NT3.5开始,公共控件库都是和操作系统捆绑到一起的。(即使如此,当公共控件库增强的时候,也不能阻止微软发布过渡版本的DLL。)伴随公共控件DL原创 2008-10-17 12:41:00 · 418 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--4.3 Windows控件(续三)
BtnWnd.cpp//======================================================================// BtnWnd - Button window code//// Written for the book Programming Windows CE// Copyright (C) 2003 Douglas Boling/原创 2008-10-17 12:45:00 · 427 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--4.3 Windows控件(续二)
清单4-1:CtlView 程序CtlView.h//======================================================================// Header file//// Written for the book Programming Windows CE// Copyright (C) 2003 Douglas Boling//原创 2008-10-17 12:46:00 · 495 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--4.1 子窗口
子窗口每个窗口是通过父子关系体系连接到一起的。应用程序创建一个没有父亲的主窗口,称为顶层窗口。该窗口可能包含(也可能没有包含)有窗口,称为子窗口。子窗口会被父窗口裁减。也就是说,子窗口超出父窗口边沿的部分是不可见的。当父窗口被销毁时,子窗口自动被销毁。当父窗口移动的时候,子窗口随父窗口一起移动。从程序角度看子窗口同顶层窗口是一样的。您可以使用CreateWindow或CreateWind原创 2008-10-17 12:48:00 · 452 阅读 · 0 评论 -
(转)GPS定位数据压缩算法的设计与实现
摘要:为了解决嵌入式GPS车载系统存储空间小、GPS定位数据量大的矛盾,根据GPS定位数据的特点,提出了专用于GPS定全数据压缩的改进型半字节压缩算法。该算法是一种在原半字节压缩算法的基础上改进的算法,经过实际测试,压缩比可达50%。若将压缩预处理也折算法在内,总压缩比可达80%以上,为车载系统节省了大量的存储资源。除此之外,也缩短了GSM信道的占用时间,大大地缓解了向控制调度中心上传数据的原创 2008-10-17 11:01:00 · 943 阅读 · 0 评论 -
wince串口通信(续2)
BOOL CSerial::InitDCB(){ DCB PortDCB; DWORD dwError; PortDCB.DCBlength = sizeof (DCB); //得到端口的默认设置信息 GetCommState (hPort, &PortDCB); //改原创 2008-10-17 11:01:00 · 454 阅读 · 0 评论 -
wince串口通信(续)
DWORD CSerial::WritePort(TCHAR *buf,DWORD dwCharToWrite){ BOOL fWriteState; DWORD dwBytesWritten; //写入数据 fWriteState=WriteFile(hPort,buf,dwCharToWrite*sizeof(TCH原创 2008-10-17 11:02:00 · 558 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--4.3 Windows控件
如果没有Windows控件库的话,编写Windows程序将会是一件缓慢而又艰苦的事情。并且,每个程序将会有自己的外观和反应。这会迫使用户对每种新的应用程序都要学习一套新的操作方式。幸运的是,通过操作系统提供的一系列控件,避免了上述情况的发生。简单的说,控件只不过是预先定义好的窗口类。每个类有一个Windows提供的特定的窗口过程,给这些控件提供预定义的用户和编程接口。因为控件只是又一个窗原创 2008-10-17 12:46:00 · 658 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--2.3 位图
位图位图是一种图形化对象,用于在设备环境里创建、绘制、操纵和接收图片。从[开始按钮]上的小Winodws标志到标题栏上的[关闭]按钮,位图在Windows里无处不在。位图可以看作是一种由像素数组构成的图片,这些像素可以在屏幕上进行绘制。和所有图片一样,位图有自己的高度和宽度。也提供方法来判断位图使用什么颜色。最后,位图也是一个描述位图中每个像素的位(bits)数组。习惯上,Windo原创 2008-10-17 12:53:00 · 361 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--2.2 输出文本
输出文本在第一章里,例子程序HelloCE调用DrawText函数显示了一行文本。代码如下:DrawText (hdc, TEXT ("Hello Windows CE!"), -1, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);DrawText是一个相当高级的函数,允许由程序显示文本,而由Windows处理大部分细节原创 2008-10-17 12:54:00 · 509 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--1.7 HelloCE
Hello3回顾的够多了,是时候做一个完整的Windows 应用程序--Hello3了。虽然Hello3的整个程序文件以及书中全部例子都可以在附书光盘里找到,但我还是建议,对于初期的例子,您应当避免简单的从CD上装载工程文件,而是应该手工输入整个例子。通过这种略微有些枯燥的工作,你会体会到标准Win32程序与Windows CE程序之间在开发过程的不同以及在程序上的细微差别。清单1-3给出了原创 2008-10-17 12:56:00 · 515 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--1.6 Hello3
Windows应用程序剖析基于Windows的编程远不同于基于MS-DOS或Unix的编程。只要是程序需要,任何时候基于MS-DOS或Unix的程序都可以使用getc-或putc风格的函数从键盘读取字符并写到屏幕上。这是MS-DOS或Unix程序所使用的典型的"Pull"(拉)风格,这种风格是面向过程的,而一个Windows程序,则使用"Push"(推)模式。在这种模式下,必须编写程序来响应原创 2008-10-17 12:57:00 · 378 阅读 · 0 评论 -
Windows CE 进程、线程和内存管理(三)
[ 本文属于第32期, 适合中级读者 ] Windows CE 进程、线程和内存管理(三)作者:付林林三、内存管理 同其它Windows操作系统一样,Windows CE.NET也支持32位虚拟内存机制、按需分配内存和内存映射文件等。但是与其它Windows操作系统又有明显的不同。毕竟Windows CE是一种嵌入式实时性的操作系统,在内存管理方面必须原创 2008-10-17 12:59:00 · 472 阅读 · 0 评论 -
模拟器和远程调试工具(二)
本文属于第32期, 适合中级读者 ] 模拟器和远程调试工具(二)作者:付林林模拟器和远程调试工具(一)3、远程堆查看程序(Remote Heap Walker) 显然“Walker”不能翻译成“查看”。你愿意怎么翻译就怎么翻译吧。在这里我就叫查看了,这样容易理解。从名字就可以看出它是用来查看操作系统中每个进程使用的堆的情况。什么是堆就不用我说了吧!堆大家都了解,但是C原创 2008-10-17 13:01:00 · 471 阅读 · 0 评论 -
EVC开发实例三:浏览器窗口
本文属于第32期, 适合中级读者 ] EVC开发实例三:浏览器窗口作者:付林林 曾有人问过我关于显示GIF图片的问题。我的回答是要么使用国外做的专用于显示GIF图片的类,要么利用IWebBrowser COM组件。我还说过我用它做过自定义的IE。其实微软提供了CE下IE的源程序,就是利用这个组件来实现IE的各个功能的。我做IE是因为Windows CE自带的IE在各原创 2008-10-17 13:03:00 · 445 阅读 · 0 评论 -
[翻译]-WinCE 程序设计 (3rd 版)--4.3 Windows控件(续五)
//----------------------------------------------------------------------// DoCommandStatWnd - Process WM_COMMAND message for window.//LRESULT DoCommandStatWnd (HWND hWnd, UINT wMsg, WPARAM wParam,原创 2008-10-17 12:43:00 · 335 阅读 · 0 评论 -
[翻译]-Windows CE 程序设计 (3rd 版)--4.6 DOIView示例程序
在下面的DOIView示例程序中,演示了资源、键盘加速键和弹出式菜单的用法。DOIView是Declaration of Independence View的缩写,显示了美国独立宣言。程序中的文本被存储为一系列字符串资源。DOIView将文本格式化来适应程序窗口,并使用滚动条来滚动文本。图4-3显示了DOIView窗口。按Ctr-H和Ctr-E可以将文档滚动到开头和结尾。您也可以在窗口上原创 2008-10-17 12:41:00 · 439 阅读 · 0 评论 -
嵌入开发(WinCE)的一些经验2
我们都知道windows操作系统有支持ANSI和支持Unicode的版本,也有都支持的.其中,windows98只能支持ANSI系统环境.windows2000可以支持Unicode和NSI.windowsCE只支持 Unicode.WindowsXP好象也是两个都支持.所以我们在开发多国语言的时候一般都选用windows2000.因为我们可以构件 Unicode工程来支持多国语言的显示.(如果原创 2008-10-17 11:05:00 · 680 阅读 · 0 评论 -
嵌入开发(WinCE)的一些经验1
嵌入开发(WinCE)的一些经验[摘录][sunny12]WindowsCE下Unicode和Ansi字符间互相转换的例子纵所周知,WindowsCE下编程99%的问题都和Unicode有关.比如文件编辑,一般都保存为Ansi格式;无线通讯中控制Modem需要发送的AT指令,必须是Ansi格式;网络通讯中,PC端一般都是Ansi的,为了和PC上协议兼容,在WindowsCE中必须把要发送原创 2008-10-17 11:06:00 · 603 阅读 · 0 评论 -
Eboot启动代码分析
启动代码通常都是用处理器相应的汇编代码写成,比较晦涩,但是却包含了很多与平台相关的信息,对初始化代码进行分析有利于对平台的理解。本文将对Eboot的初始化代码进行分析,主要包含从Reset到进入C的main开始。mov r0, #0x48000000 ; Memory controller base physical addr. add r0,原创 2008-10-17 11:12:00 · 480 阅读 · 0 评论 -
SD Card Driver on wince3
初始化1. 调用HCD’s XXX_Init2. 调用 SDHCDAllocateContext() 来分配一段HC的上下文a) Context 是总线驱动和HCD共享的3. HCD 使用SDHCDSetXxx宏来填充这个上下文结构a) 这个步骤是把HC向总线驱动描述一下b)原创 2008-10-17 11:18:00 · 521 阅读 · 0 评论 -
SD Card Driver on wince2
WinCE 5.0下SD Stack 一共可以分为3个部分:a bus driver, host controller driver 和 client drivers,现分别介绍:1 Bus Driver 顾名思义,总线,连接client driver和host controller driver之间的一个管理层。这部分代码微软已经写好了,也就是说定义好了原创 2008-10-17 11:19:00 · 457 阅读 · 0 评论 -
何编写Windows CE.net的usb驱动程序(1)
随着USB设备的普及,摆在开发人员面前的驱动开发任务也是越来越繁重了,特别是对于一些嵌入式开发厂商来讲,由于设备所采用的操作系统不同,相应的硬件接口也是不一样的,开发相关的USB驱动程序更是难上加难。Windows CE.NET 是微软推出的功能强大的嵌入式操作系统,国内采用此操作系统的厂商已经很多了,本文就以windows ce.net为例,简单介绍一下如何开发windows ce.net原创 2008-10-17 11:27:00 · 531 阅读 · 0 评论 -
基于Windows CE的USB设备驱动程序设计
作者:董宇新 张东来 来源:微计算机信息 1. 引言硬件驱动开发是嵌入式开发的基础,而随着USB设备的普及,USB设备驱动开发在嵌入式开发中变的越来越重要。为了支持不同类型的可以连接到基于Windows CE的平台外围设备,微软提供了具有定制接口的流接口驱动程序模型。而大部分USB外围设备由于功能性更适合流接口驱动的结构,都可以采用原创 2008-10-17 11:28:00 · 604 阅读 · 0 评论 -
[翻译]-Windows CE 程序设计 (3rd 版)--5.2 公共控件(五)
翻译:tellmenow命令带(Command Bands)命令带控件是一种rebar控件,默认会在控件的每个带区中包含一个命令条。rebar控件是一种控件容器,用户可以在应用程序的窗口上拖动它。命令带只不过是在rebar中的命令条,所以在原创 2008-10-17 12:36:00 · 456 阅读 · 0 评论