如何让WINCE系统启动直接运行自己的程序

如何让WINCE系统启动直接运行自己的程序
如何让WINCE系统启动直接运行自己的程序

WINCE系统启动直接运行自己的程序

1. 假定Windows https://www.360docs.net/doc/b311589258.html,目标工程目录为

D:\WINCE420\PUBLIC\MyWinCE,并且工程已经Build成功,假定Windows https://www.360docs.net/doc/b311589258.html, 的应用程序为MyApp.exe;

2. 将MyApp.exe复制到

D:\WINCE420\PUBLIC\MyWinCE\SAMSUNG_SMDK2410_ARMV4Release目录下;

3. 修改MyWinCE工程的project.bib文件,在FILES Section添加如下内容:

MyApp.exe $(_FLATRELEASEDIR)\MyApp.exe NK H

4. 创建快捷方式文件MyApp.lnk,文件内容如下:

10#\Windows\MyApp.exe

MyApp.lnk文件也放入

D:\WINCE420\PUBLIC\MyWinCE\SAMSUNG_SMDK2410_ARMV4Release目录下;

5. 修改MyWinCE工程的project.bib文件,在FILES Section添加如下内容:

MyApp.lnk $(_FLATRELEASEDIR)\MyApp.lnk NK H

6. 修改MyWinCE工程的project.dat文件,添加如下内容:

Directory("\Windows\Startup"):-File("MyApp.lnk","\Windows\MyApp.lnk")

7. 修改MyWinCE工程的platform.bib文件,在FILES Section添加如下内容:

MyApp.exe $(_FLATRELEASEDIR)\MyApp.exe NK H

MyApp.lnk $(_FLATRELEASEDIR)\MyApp.lnk NK H

8. Platform Builder IDE:【Build】->【Make Image】(记得千万不要Build或者Rebuild)

9. 成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe 和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。

虽然MyApp可以自己启动了,但每次启动的时候,总是微软的桌面先出来,再启动我们的程序,感觉还是不伦不类。对此,我们可以使用startup的快捷方式再加上隐藏任务栏的方法,效果非常的好,具体操作是:

1) 首先新建工程,把你的应用程序放到内核里面去(前面介绍了如何做);

2) 编译平台;

3) 修改shell.reg的文件:在文件中有这样一行:

[HKEY_LOCAL_MACHINE\init]

"Launch50"="explorer.exe"

"Depend50"=hex:14,00, 1e,00

把这个explorer.exe改成你的应用程序(比如:MyApp.exe)就可以了;

4) Platform Builder IDE:【Build】->【Make Image】(记得千万不要Build或者Rebuild)

5) 成功后,得到的NK.bin(或NK.nb0)就包含了应用程序MyApp.exe 和MyApp.lnk,当把相应的内核烧入开发板MyApp程序就会在系统启动时自动运行。

WinCE 应用程序开机自动运行的又一种方法

发布日期:2007-5-24 9:29:21 作者:未知出处:不详

近日在开发过程中遇到WinCE应用程序开机自动运行的问题,在网上找了找,发现大概有以下三种方法:

1、将应用程序和应用程序快捷方式添加到映像里,再将快捷方式添加到StartUp目录下,这样当系统运行后应用程序就能自动运行;

2、直接替换Wince的SHELL,即修改注册表:

[HKEY_LOCAL_MACHINE\init]

"Launch50"="explorer.exe"

"Depend50"=hex:14,00, 1e,00

把这个explorer.exe改成你的应用程序(比如:MyApp.exe);

3、把应用程序加入到映像,修改注册表:

[HKEY_LOCAL_MACHINE\init]

"Launch80"="MyApp.exe"

"Depend80"=hex:1E,00

可以设置启动顺序和依赖程序;

以上方法都可行,但是都存在一个问题,就是应用程序是集成到NK里面的,也就是说每次升级应用程序都要重新编译下载内核,很麻烦,尤其在程序调试阶段,大家都希望把应用程序放在SD卡上,这样更新起来比较容易;据说通过第三种方法可以实现,即修改"Launch80"="MyApp.exe"为

"Launch80"="\STDCard\MyApp.exe"( STDCard为SD卡目录),但是我试了一下没有成功,因为Launch80运行时SD卡的文件驱动还没有加载,找不到MyApp.exe

文件。同样,采用快捷方式加载SD卡里的应用程序也不可行。

所以我采用了另一种方法,自己编了一个小程序,比如叫ShellExe.exe,将此程序加入到映像里,通过StartUp快捷方式调用ShellExe,ShellExe再去调用SD卡里的应用程序,具体实现步骤如下:

1、在eVC下编译如下代码:

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LP TSTR lpCmdLine, int nCmdShow){ WIN32_FIND_DATA fd; HANDLE h d=INVALID_HANDLE_VALUE; int iCount = 20; while(iCount--) { hd=::Find FirstFile(lpCmdLine,&fd); Sleep(500); if(INVALID_HANDLE_VALUE!=hd) break; } if(0==iCount) return 0; FindClose(hd); SHELLEXECUTEINFO ShEx eInfo={0}; ShExeInfo.cbSize=sizeof(SHELLEXECUTEINFO); ShExeInfo.fMask =SEE_MASK_NOCLOSEPROCESS; ShExeInfo.hwnd=NULL; ShExeInfo.lpVerb=NULL; ShExeInfo.lpFile=lpCmdLine; ShExeInfo.lpParameters=L""; ShExeInfo.lp Directory=NULL; ShExeInfo.nShow=SW_SHOW; ShExeInfo.hInstApp=NULL; She llExecuteEx(&ShExeInfo); return 0;}

生成ShellExe.exe的可执行文件,此段代码主要功能是查找指定的应用程序,然后执行;下面这段代码可以保证在SD卡文件系统正确加载后才去执行应用程序;

while(iCount--){ hd=::FindFirstFile(lpCmdLine,&fd); Sleep(500); if(IN VALID_HANDLE_VALUE!=hd) break;}

文件的名称和路径由命令行参数指定:

ShExeInfo.lpFile=lpCmdLine;

2、新建一个快捷方式,如Autorun.lnk,按如下方式编辑其内容:

21#\windows\shellexe.exe \stdcard\MyApp.exe

其中\stdcard\MyApp.exe应用程序的绝对路径;

3、将MyApp.exe和Autorun.lnk添加到NK里,方法是在project.bib文件内加入如下内容:

ShellExe.exe f:\WINCE420\PBWORKSPACES\LioetEnTer\RelDir\ShellExe.exe NK SAutorun.lnk f:\WINCE420\PBWORKSPACES\LioetEnTer\RelDir\Autorun.ln k NK S

注意:ShellExe.exe的属性不能带H(隐藏).

4、在project.dat里加入如下内容:

Directory("\Windows\Startup"):-File("Autorun.lnk","\Windows\Autorun.l nk")

5、选择Make Image生成映像(当然Build也可以,就是慢点儿),烧到FLASH 里,开机运行,可以看到SD卡里的MyApp.exe被正确执行。

总结

这种方法用起来比较方便,ShellExe.exe不用每次都重新编译,只要根据应用程序路径修改Autorun.lnk即可,可以加载Flash、U盘、SD卡里的应用程序。调试及升级应用程序就不用重新烧写内核了

wince6.0_开发环境搭建

Window CE6.0开发平台搭建详解 2011年08月29日 Windows CE6.0的开发无非两大方面:操作系统开发和应用程序开发,操作系统开发包括系统的定制,驱动开发和其他需要完成的底层工作。应用程序开发主要是与实际应用结合紧密的程序开发。 要搭建这样的开发环境,至少要包括两部分,一个是硬件平台,一个是软件平台,在Windows CE6.0的开发中,微软公司把这些开发软件集成到了vs2005中。 Windows CE6.0开发环境需要安装的软件比较多、比较大,至少要10GB的空间,而且有着严格的安装顺序要求,一旦其中某一个环节出错,都会导致软件运行出现故障,为确保安装顺利,请仔细阅读本文,按照步骤一步一步进行安装。 一、所需安装软件 1、Visual Studio 2005 2、Visual Studio 2005 Service Pack 1 3、MSDN 4、platform builder for Windows Embedded CE6.0 5、Windows Embedded CE 6.0 Platform Builder Service Pack 1 6、Windows mobile 6的sdk 二、所用磁盘空间 在安装之前,请检查电脑的磁盘空间,VS2005和Windows Embedded CE6.0均是比较大 的软件,要占硬盘好10G多的空间,建议不要装在C盘,但是我装Windows Embedded CE6.0的时候,发现不能更改安装路径,没办法,只能把Windows Embedded CE6.0装在 C盘。 三、安装顺序 1.安装Visual Studio 2005 最好选择自定义安装方式,把不用的一些组件都删掉,这样会节省不少的磁盘空间。WINCE6.0的Platform Builder不像WINCE5.0是独立的,而是作为VS2005的插件,以后建立和定制OS、编译调试全部在VS2005里完成。 2.安装Visual Studio 2005 Service Pack 1

WINCE系统

Wince操作系统 开放分类:操作系统 Microsoft Windows CE 快速反应的嵌入式应用常常管理严格的时间反应。例如,制造过程控制,高速的数据采集设备,电讯交换设备,医用设备,空中“有线”控制,武器发射装备,空间航行和导航,实验室,实验控制,汽车发动机控制,机器人系统。 为保证这种功能,就意味着不仅需要计算精确性,还有结果的时间性,此种应用必须在指定的时间参数内做出反应。 实时系统的广义定义是“对任何外部刺激,计算机做出及时反应是至关重要的系统”,标准定义在Internet newsgroup corp realtime group中。实时定义为:一个实时系统它的计算正确性,不仅依靠于计算逻辑上的正确,还包括及时的产生结果。如果没有达到系统时间限制条件,系统也是失效的。 搞清楚实时系统和实时操作系统(RTOS)的区别至关重要,实时系统代表所有系统组成设备——硬件,操作系统和应用——它需要达到系统的要求,实时操作系统(RTOS)只是整个实时系统的一个组成部分,它必须提供足够的功能以确保整个实时系统达到要求。 同样,搞清快速操作系统和实时操作系统之间区别,也很重要,对于一个RTOS虽然达到全面要求十分有用,但并不是它自己达到这种要求。Internet neusgronp cornp.realtime列举了作为一个实时操作系统,必须达到的要求: * OS(操作系统)必须是多线程和优先级之分。 * OS必须支持线程优先级。 * 一个优先级继承的系统必须存在。 * OS必须支持可预测的线程,同步发送机理。 另外,OS的行为必须是可预测的,这意味实时系统的开发者必须对系统中断级,系统调用和分时了如指掌: * 必须知道OS和设备驱动器的中数据匹配最大时间。 * 设备驱动器用来处理一个中断最大时间和关于这些驱动器的中断申请信息必须清楚。 * 中断响应(从中断到运行时间),必须可预测并满足功能要求。 每次系统调用时间必须可以预测,并且独立于系统的对象数目。本篇论文论述了微软Windows CE 操作系统是如何达到一个实时系统的要求,更有意义的是,Windows CE 保证一个时间的上限,它在收到中断后开始一个实时的优先级线程。本论文论述了对特定参考平台的中数据响应时间,参考为有Hinathi SH3 的微处理器的“Odo”平台。

WinCE操作系统

WinCE操作系统 WinCE操作系统是通用型的嵌入式操作系统,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,Windows CE的图形用户界面相当出色。它1996年开始发布Windows CE 1.0版本,2004年7月发布了Windows CE .NET 5.0版本,目前用得最多的是Windows CE .NET 4.2版本,其发展速度也是很快的,功能上自不必描述,它的主要应用领域有PDA市场、Pcket PC、Smartphone、工业控制、医疗等。 就WinCE来讲,你无法买到WinCE这个操作系统,你买到的是Platform Builder for https://www.360docs.net/doc/b311589258.html, 4.2的集成开发环境,我们也简称为PB,利用它你可以剪裁和定制出一个符合你自己需要的https://www.360docs.net/doc/b311589258.html, 4.2的操作系统,因此,我们说的操作系统实际上完全是由自己定制出来的,这就是嵌入式操作系统最大的特点。 Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows 95/98上的编程工具(如Visual Basic、Visual C++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。Windows CE并非是专为单一装置设计的,所以微软为旗下采用Windows CE作业系统的产品大致分为三条产品线,Pocket PC(掌上电脑)、Handheld PC(手持设备)及Auto PC。 WindowsCE版本主要有1.0、2.0、3.0、4.0、4.2、5.0 和6.0 WINCE1.0是一种基于Windows95的操作系统,其实就是单色的Windows95简化版本。技术支持、直接资助等手段聚集了大量合作厂商,使WinCE类的PDA 阵容越来越强大。 WinCE2.0不仅比CE1.0快的多,而且的彩色显示,又众多新型PDA采用新的WinCE2.0系统,大有取代Pilot的趋势,成为PDA操作系统新的标准。尽管CE2.0仍然要比Pilot的操作系统需要的空间要大的多,但它具有Windows的界面,会用PC的人小编估计没有多少人不会使用微软的操作系统。 WinCE3.0是微软的Windows Compact Edition,是一个通用版本,并不针对掌上产品,标准PC、家电和工控设备上也可以安装运行,但要做许多客户化工作,当然也可以做掌上电脑。WinCE3.0把Pocket Word和Pocket Excel等一些日常所需的办公软件的袖珍版装了进去Pocket PC,同时在娱乐方面的性能做很大的加强。 https://www.360docs.net/doc/b311589258.html,(即WinCE 4.0)是微软于2002年1月份推出的首个以.Net为名的操作系统,从名字上我们就可以知道它是微软的.net的一部分。https://www.360docs.net/doc/b311589258.html,是WinCE3.0的升级,同时还加入.Net Framework精简版,支持蓝牙和.Net应用程序开发。 https://www.360docs.net/doc/b311589258.html, 4.2是https://www.360docs.net/doc/b311589258.html, 4.0/4.1的升级版,对Windows CE先前版本的强大功能进行了进一步的扩充和丰富,基于其开发的设备将从这些微小但重要的变化中获得更好的性能和更强的Windows集成功能。微软在WinCE4.2版时曾提供开放源代码,不过只针对研究单位,而程序代码较少,为200万行。WinCE5.0在2004年5月份推出,微软宣布WinCE5.0扩大开放程序源代码。在这个开放源代码计划授权下,微软开放250万行源代码程序作为评估套件(evaluationkit)。凡是个人、厂商都可以下载这些源代码加以修改使用,未来厂商OEM时,则再依执行时期(Run-time)授权,支付Win CE5.0核心每台机器3美元的授权费用,这也是微软第一个提供商业用途衍生授权的操作系统。

WinCE实验指导书

嵌入式系统实验 一、实验目的:了解WIN CE安装与调试过程,初步学习WIN CE下编程方法,加深对嵌入式学习的认识,对嵌入式软件和嵌入式设备的连接进行了解。 二、实验内容:作为一种操作系统,WIN CE并不同与一般Windows 系统,他不能只靠几张系统光盘就可以安装到设备上,我们这里安装的WIN CE只是一个生成设备上操作系统的工具,通过我们的定制,生成可在相关设备上运行的系统镜像,然后将镜像通过一定方法映射到需要系统的设备上然后运行,同时可以生成与该系统相对应的SDK,安装此SDK可以规定相应的可利用函数。而这里作为编程工具的EVC也是在PC上进行编程,然后在设备上进行调试或在模拟器上进行调试。 三、实验方法:下载安装相关文件系统,利用WIN CE 平台工具Platform Builder 进行系统定制、生成和调试,生成安装SDK。利用平台工具EVC进行编程,然后用模拟器进行调试。可以把定制的系统移植到仿真平台设备,在上面调试运行在EVC下编写的应用程序等。 四、实验准备:此次实验用的WIN CE 系统是微软提供的120天WIN CE5.0试用版本,需要每人到微软网站申请一组product key,地址为: https://www.360docs.net/doc/b311589258.html,/windows/embedded/evalreg 也可以几个人共用一个KEY,其中将包括WIN CE的和EVC的两个KEY。 五、实验步骤: 实验一,WINCE 系统的下载与安装 实验二,Platform Builder 下系统的定制生成与调试,SDK的生成 实验三,EVC下的编程与调试 实验四,VS2005和WINCE6.0安装

高级操作系统-WinCE6.0

高级操作系统论文--嵌入式系统WindowsCE 6.0介绍

目录 1.WINDOWS CE是什么 (1) 2.产生背景 (1) 3.发展历史 (2) 4.架构 (4) 4.1.硬件层 (5) 4.2.OEM硬件适配层 (5) 4.3.W INDOWS CE操作系统服务层 (5) 4.4.应用层 (8) 5.开发 (8) 6.特点 (9) 7.缺点 (10)

1.Windows CE是什么 微软在操作系统领域共有3大分支,其中之一是已经成为历史的DOS/Win9X。而另一分支则是正在桌面环境上发光发热的NT架构,如XP,Vista等等。而CE这一分支算是微软针对个人计算机以外的产品所开发的操作系统家族统称,Windows CE设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作。专门设计给掌上电脑以及嵌入式设备所使用的电脑环境。这样的操作系统可使完整的可移动技术与现有的Windows桌面技术整合工作。系统使用在PDA或智能型手机上的就称为Windows Mobile,要使用这个名称必需要通过微软认证。而应用在其它用途,如机顶盒、VoIP电话、收银机等则维持Windows CE 的名称,不需通过认证,但是在授权费用方面则是有所不同。Windows CE 6.0 使用了基于数量的特许许可证模式,设备制造商可以在设备开始供货时再购买运行许可证。微软将提供知识产权保护(根据许可协议条款)和为期10 年的产品支持生命周期,确保产品的完整性并保证厂商得到必要的支持和保护以获得成功。所以使用Windows嵌入式系统基本上不同名称只是在于启用元件的不同而已,核心都基本一样。 不象其它的微软Windows 操作系统,Windows CE并不是一个标准的相同的对所有平台适用的软件。为了足够灵活达到适应广泛产品需求,Windows CE采用标准模式,这就意味着,它能够由一系列软件模式做出选择,从而使产品定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式,通过选择,能够达到系统要求的最小模式,OEM 能够减少存储脚本和操作系统的运行。 Windows CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivity)和伴侣(Companion);E代表电子产品(Electronics)。与Windows 95/98、Windows NT不同的是,Windows CE是所有源代码全部由微软自行开发的嵌入式新型操作系统,并已开源了大部分代码。其操作界面虽来源于Windows 95/98,但Windows CE是基于WIN32 API重新开发、新型的信息设备的平台。Windows CE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。Windows CE不仅继承了传统的Windows图形界面,并且在Windows CE平台上可以使用Windows桌面系统的编程工具(如Visual Basic、Visual C++、C#等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在Windows CE平台上继续使用。Windows CE并非是专为单一装臵设计的,所以微软为旗下采用Windows CE系统的产品大致分为三个:Pocket PC(掌上电脑)如Windows Mobile的智能手机、Handheld PC(手持设备)如使用在工业领域的终端、Auto PC 如车载应急报警或导航设备。 2.产生背景 对于大部分制造业企业,测量仪器的自动数据采集一直是个令人烦恼的事情,即使仪器已经具有RS232/485等接口,但仍然在使用一边测量,一边手工记录到纸张,最后再输入到PC中的

WinCE下重启系统的方法

WinCE下重启系统的方法 KernelIoControl函数是未公开的函数,所以要声明一下,下面的例子里用到了很多未公开的方法,所以使用前都要声明一下: #define CTL_CODE( DeviceType, Function, Method, Access ) ( ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) ) #define FILE_DEVICE_HAL 0x00000101 #define METHOD_BUFFERED 0 #define FILE_ANY_ACCESS 0 #define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 1 5, METHOD_BUFFERED, FILE_ANY_ACCESS) extern "C" __declspec(dllimport) BOOL KernelIoCo ntrol( DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned); 调用: KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL); //补充下 关闭(suspend) 方法1: //虚拟关机键 ::keybd_event(VK_OFF, 0, 0, 0); ::keybd_event(VK_OFF, 0, KEYEVENTF_KEYUP, 0);

WinCE快速启动方案

基于S3C2440A的Windows CE系统快速启动方案 0 引言 微软的Windows CE系统是被广泛使用的嵌入式系统之一。在产品的研究开发中,一些嵌入式操作系统的启动速度所花时间比较长,Wind-ows CE也不例外。由于各种因素的影响,有些情况下启动甚至超过1 min。而在实际的嵌入式电子产品中客户需要体验一个极速爽快而又稳定的系统,避免长时间等待。因此,如何快速启动Windows CE系统是一个很重要的内容。本文将基于三星公司的S3C2440A处理器和Windows CE 系统,分析Windows CE的启动原理和影响其启动速度的原因,给出加快启动的方案。 1 Windows CE的启动过程 一般嵌入式系统的引导过程如图1所示。其中引导加载程序(BootLoader)是系统加电后运行的第一段代码,主要是通过设置寄存器初始化硬件的工作方式,如设置时钟、中断控制寄存器等,完成内存映射、初始化MMU等。其次是系统执行环境的初始化,将系统内核(Kernel)和应用程序的映像从只读存储器加载或拷贝到系统的RAM中执行,完成系统内核的加载以及应用程序的启动等。 1.1 BootLoader的启动 BootLoader是在操作系统内核运行之前运行的一段小程序,它可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,为调用操作系统内核准备好环境。引导程序完成自己的任务后,就将控制权移交给内核。通常引导程序是放置在不易丢失的快闲存储器的开始地址或者是系统冷启动时PC寄存器的初始值。 1.2 内核启动时加载过程 BootLoader按照Windows CE启动方式的不同可分为2大类:下载模式和启动加载模式。当BootLoader把nk.bin解压到RAM后就把CPU控制权交给Windows CE内核。 启动加载模式是BootLoader的正常加载模式,BootLoader从存储介质将操作系统加载到RAM中,并从RAM中启动运行操作系统。该过程并没有用户的介入。 下载模式则是BootLoader从开发工作站下载操作系统映像文件到目标设备的RAM,然后再将它写到目标设备的FLASH等存储介质中。该过程要通过串口线或网络连接等通信手段从主机(Host)下载文件。因此,不同的加载模式会直接影响内核启动加载时间。 2 影响Windows CE启动速度的主要因素 影响系统启动时间的因素可以从系统本身和硬件2个方面考虑。

WINCE系统定制与安装

基于SamArmDvk 9 II开发板的WINCE系统定制与安装 2010-08-11 15:40 基于SamArmDvk 9 II开发板的WINCE系统定制与安装 一、前言 嵌入式系统是一种嵌入其他设备和装置内部的系统,不以独立的形式出现。 嵌入式系统根据被嵌入的主体设备和装置的具体需要对本身的软硬件系统 进行合理有机的裁剪,是适应主体设备和装置应用的专业计算机系统。 嵌入式系统包括软件和硬件两部分,硬件包括微处理器、存储器、 外围设备、I/O接口和图形控制器等,其中微处理器是核心部分;软件包 括嵌入式操作系统和应用程序,其中嵌入式操作系统是重要组成部分。 嵌入式系统和一般PC系统的最大不同在于它是面向特定主体设备和装置应 用的计算机系统。它的设计和应用一般需要实时,快速地满足某一个特定 的应用要求,功能单一、简单,兼容性不高;具有实时响应、多任务处理、 小体积、低功耗和高集成度的特点.同时,嵌入式与主体系统紧密结合应 用在不同行业中,是一种技术密集、资金密集、发散性高、与应用行业一 起发展的系统,生命周期比一般Pc系统要长.在具体的使用和开发方面, 嵌入式系统的软件一般都固化在存储器或单片机中,而不是存储在磁盘等 载体中;同时嵌入式系统不具备自举开发能力,必须具备专门的开发软件 和工具才可以对嵌入式系统进行修改和开发. 二、WINCE.net操作系统的开发与内核定制工具 嵌入式操作系统是嵌入式系统的重要组成部分,具有可定制性、可移植性、 实时性和低资源占有的特点.WINCE.net就是由微软公司推向市场的一款 32位、多线程和多任务的嵌入式操作系统,具有良好的网络通信,图形管 理,多媒体管理功能,非常适合小型智能移动设备,即典型的有限内存的 无磁盘系统的开发和应用.WINCE.net的设计采用硬件抽象层 HAL(Hardware Abstraction Layer)和主板软件支持包 BSP(Board Support Package)的方法.其中HAL是一层位于内核和嵌入式系 统硬件的代码,用来设定硬件平台,保证了系统的可移植性.而BSP是定制 嵌入式操作系统的必要部分,通过定制RSP可以根据具体的硬件系统配置制 定操作系统,完成系统的可迁移性。在选定WINCE系统的硬件配置之后, 系统的开发过程一般包括4个步骤: 1、定制内核 2、开发驱动程序 3、生成SDK 4、应用程序开发; 其中定制内核是最基本的一步,对WINCE系统是非常重要的。 WINCE.net的内核定制可以通过Platform Builder(PB)工具来完成. PB具有成熟的集成开发环境,包括一系列开发工具、上下文菜单、 工具栏和快捷键.通过PB可以根据不同的硬件配置,不同的应用场合来定制、剪裁WINCE.net操作系统,最终生成操作系统内核镜像文件.

WINCE5.0和WINCE6.0的主要差别

WINCE5.0和WINCE6.0的内存与系统架构 ********************************LoongEmbedded************************ 作者:LoongEmbedded(kandi) 时间:2010.07.21 类别:WINCE嵌入式操作系统 ********************************LoongEmbedded************************ 1.WINCE5.0 1.1 WINCE5.0的内存架构 因为WINCE是32位的嵌入式操作系统,所以WINCE的虚拟寻址能力可达 4GB(为什呢,2^32=4GB),但是WINCE5.0和XP操作系统的每个进程独享4GB

虚拟地址空间不同,WINCE5.0中所有的进程共享一个4GB的虚拟地址空间。这4GB的虚拟地址空间被分为两个2GB的区域,其中低地址的那2GB区域 (0x00000000 ~ 0x7FFFFFFF)是用户虚拟空间,这块虚拟空间由应用程序的共用,也就是说应用程序申请的内存都会从低2GB虚拟内存空间分配的;而高2GB区域 (0x80000000 ~ 0xFFFFFFFF)是操作系统的内核虚拟空间,供WINCE操作系统本身使用。 我们知道WINCE5.0的进程数量最多只能达到32个,而且每个进程只能独享 32MB的虚拟空间(这个32MB的空间也叫一个slot),这33个进程(32+1,这个1就是指slot0,因为slot0用于映射当前在处理器上执行的线程所在的进程)占用的虚拟空间0x00000000~0x41FFFFFF(slot0~slot32),slot33~slot63对应的虚拟地址空间是0x42000000~0x7FFFFFFF,这块虚拟地址空间是由所有的进程共享的,如果每个进程独享的32MB虚拟地址空间不够用,那么进程可以在这个范围申请虚拟地址空间,这个范围包括对象存储和内存映射文件(.map文件,每个进程都有自己的map文件)。此范围的最后一个slot(slot63)从0x7E000000~0x7FFFFFFF用来存放纯资源DLL。如果某个DLL里面只有资源信息(比如图标、位图、对话框及字符串表灯),这个DLL就会被加载到这个空间内。 从0x80000000开始是WINCE内核使用的虚拟内存空间,其中 0x80000000~0x9FFFFFFF(512MB)这段用来静态所有的物理地址,也就是说

wince系统使用手持-s740w为例

南方GPS 产品系列 WinCE手持数据采集系统 使 用 手 册 广州南方卫星导航仪器有限公司 二○一一年七月

WinCE系统使用手册 目录 第一章产品简介 (1) 1.1产品指标 (1) 第二章基本校验 (3) 2.1准备工作 (3) 2.1.1主电池 (3) 2.2开机和关机 (3) 2.2.1开机 (3) 2.2.2挂起 (4) 2.3与PC连接 (4) 2.3.1安装Microsoft ActiveSync (4) 2.3.2连接手簿与PC (5) 2.4校正触摸屏 (8) 2.5冷热重新启动 (9) 2.6关机 (10) 第三章初步了解S740 W手持机 (11) 3.1S740W外部特征 (11) 3.2键盘和按键功能 (12) 3.3电池 (12) 2.3.3充电 (13) 第四章操作WINDOWS CE6.0 (14) 4.1桌面 (14) 4.2任务栏 (15)

WinCE系统使用手册 4.3系统托盘 (17) 4.4任务管理器 (17) 4.5控制面板 (18) 4.6蓝牙设备管理器 (21) 4.7存储管理器 (24) 4.8GPRS拨号连接 (25) 4.9WIFI上网设置 (26) 4.10摄像头软件 (28)

WinCE 系统使用手册 1 第一章 产品简介 Windows CE 操作系统是南方卫星导航仪器有限公司与微软合作的 手持数据采集系统。适用于所有南方手持机,包括S730、S740、S740W 、 S750、S750-G2、S760。为了让用户系统的了解、熟悉WinCE 操作系统, 下面以S740W 为例,全面介绍WinCE 操作系统。 S740 W 是广州南方测绘仪器有限公司新一代GPS 手持数据采集系 统,其采用专业的测量型GPS 定位模块及主板,性能卓越的掌上型电脑 (PDA ),将其融合为具有人体工程学设计的一体化三防主机,能满足移 动数据采集在恶劣环境中所需的高性能,坚固和耐久的综合要求。 S740 W 主机使用Windows CE 6.0操作系统,包含了易于用户掌握 使用的,人性化的软件组件。同时该产品还可以扩展为其他用途,为第 三方软件提供良好的数据输出工作。 1.1 产品指标 系统: ● 256M 闪存,256M 内存 ● CPU :624MHZ Marvell PXA310 ● 操作系统:Microsoft Windows CE 6.0 程序环境: ● HTML ,XML ● .NET Compact Framework 3.5 无线通信: ● Bluetooth Ⅱ,标准1.1

wince 6.0 启动过程

以S3C6410为例子,S3C6410的内部SRAM地址为0x0C00 0000 ~ 0x0C00 1FFF,DRAM的Base地址为0x50000000 ,S3C6410支持NAND,SD启动,S3C6410里面有固化的ROM, 当系统上电的时候,将执行固化ROM中的代码,然后检查硬件的GPIO配置,如果配置成NAND 启动,则把NAND的前8K读入内部的SRAM(stepping Stone)中,然后跳转到Stepping Stone的开头,执行Bootloader1 (也就是下文的stepldr), stepldr负责把eboot从NAND 中搬到DRAM中,然后执行eboot( boot loader 2),eboot通过网络下载 NK.bin或者从NAND中把内核搬到DRAM中,然后执行WINCE内核.所以整个启动过程分为三阶段,stepldr -->eboot --> wince kernel . 下面详细地分析各个阶段. 一bootloader 1 stepldr 从stepldr的startup.s开始.startup.s主要是初始化硬件,中断,配置好C运行的环境,然后跳转到main函数中,执行C代码. startuo.s 的流程是: startup --> Enable I cache -->关闭watchdog ,Interrupt dosable -> 时钟初始化--> 初始化DRAM控制器--> 初始化IRQ,SVC stack --> 判断是否睡眠---N--> Clear DRAM -->main --Y-> 跳到NK的开头(也就是DRAM + 0x100000的地方) main.c : UART初始化--> nand 初始化-> 从NAND中把eboot搬到DRAM中-->跳转到eboot 的开头 我们看代码有2个全局变量。 ROMHDR * volatile const pTOC = (ROMHDR *)-1; 这个在ROMImage里面会赋值。static BOOL g_bLargeBlock = FALSE; // For Large Block Check 这两个全局变量的位置为:500F0000 根据stepldr.bib 二bootloader 2 eboot startup.s startup --> Enable I cache -->关闭watchdog ,Interrupt dosable -> 时钟初始化--> Disable VIC --> enable 中断-->CLEAR DRAM(从1M到128M地址的DRAM,因为低1M地址 空间目前放的是eboot ) --> 初始化MMU Table (根据g_oalAddressTable,把DRAM的Base 地址0x50000000映射到0x80000000,此后地址都用虚拟地址)--> 初始化IRQ,SVC stack --> -->main main.c main --> BootloaderMain BootloaderMain的流程: KernelRelocate -->OEMDebugInit(初始化串口,这样就可以打印信息了) -->OEMPlatformInit -->OEMPreDownload -->DownloadImage-->OEMLaunch (切换到ce内核了) OEMPlatformInit :

WINCE6.0系统定制--基于TI_EVM_3530

基于SBC3530的WinCE6.0系统定制 第1章开发环境搭建 1.1开发应用程序需安装软件及更新 ●Visual Studio 2005 ●Visual Studio 2005 SP1 ●Visual Studio 2005 SP1 Update for Vista (if applicable) 如果你的操作系统是windows vista,这个补丁就得打上,我的系统是windows xp,所以没试过。 ●ActiveSync 4.5 1.2开发 Windows Embedded CE 6.0操作系统需依次安装软件及更新 开发WinCE 6.0系统,除按上面次序安装VS2005外,还需要按次序安装以下软件及补丁,由于安装路径对程序开发有一定的影响,为保持统一,减少不必要的麻烦,本文假定所有安装都是按照默认路径。 ●Windows Embedded CE 6.0 ●Windows Embedded CE 6.0 Platform Builder Service Pack 1 ●Windows Embedded CE 6.0 R2 ●Windows Embedded CE 6.0 R3 注:若系统安装有旧版本的CE 开发环境,可能会影响 Windows

Embedded CE 6.0 开发平台的使用,建议卸载干净后再安装。 1.3开发环境配置检测 开发环境配置好以后,要进行检测,以防止由于安装问题对以后的程序开发产生影响,也可以在以后开发遇到问题时,排除软件安装的影响。 主要是通过实际定制一个WinCE6.0系统来检测开发环境是否配置完好。 目标:实现MyFirstWinCE6.0的系统定制 步骤: 1、这里假设您已经把软件环境都搭建完毕,打开 VisualStudio2005,选择:文件->新建->项目->Platform Builder for CE 6.0,选择OS Design,输入工程名,如图所示:

WinCE操作系统概览

WinCE操作系统概览 嵌入式这个词现在变得越来越流行,然而关于它的很多概念可能还有一大 部分人不是很明确,在本文中,我们不追求具体的概念是否准确,而是要对其 有一个准确的理解。 嵌入式系统是不同于常见计算机系统的一种计算机系统,它不以独立设备的 物理形态出现,即它没有一个统一的外观,它的部件根据主体设备以及应用的 需要嵌入在设备的内部,发挥着运算、处理、存储以及控制作用。从体系结构 上看,嵌入式系统主要由嵌入式处理器、支撑硬件和嵌入式软件组成。其中嵌 入式处理器通常是单片机或微控制器;支撑硬件主要包括存储介质、通信部件 和显示部件等;嵌入式软件则包括支撑硬件的驱动程序、操作系统、支撑软件 以及应用中间件等。 可见,嵌入式系统是一个很大的概念,一旦嵌入式处理器和支撑硬件选定了,那么工作最多的就集中在嵌入式软件当中了。而嵌入式软件中的嵌入式操作系 统部分和应用软件部分就成了重中之中。它们与通常说的操作系统与应用软件 的概念是相似的,但也有区别。 嵌入式操作系统是与应用环境密切相关的,从应用范围角度来看,大致可以 分为通用型的嵌入式操作系统如Windows CE、VxWorks、嵌入式Linux 等和专用型的嵌入式操作系统如Palm OS、Symbian 等。从实时性的角度看,大致可以分为实时嵌入式操作系统和一般嵌入式操作系统。从原理上说,嵌入式操作 系统仍旧是一种操作系统,因此它同样具有操作系统在进程管理、存储管理、 设备管理、处理器管理和输入输出管理几方面的基本功能,但是由于硬件平台 和应用环境与一般操作系统的不同,那么它也有自身的特点,最大的特点就是 可定制性,也就是它能够提供可配置或可剪裁的内核功能和其他功能,可以根

Windows CE5.0与6.0的主要差别

Windows CE 5.0和Windows CE 6.0的内存与系统架构1.Windows CE 5.0 1.1 Windows CE 5.0的系统架构 1.2 Windows CE 5.0的内存架构

因为WINCE是32位的嵌入式操作系统,所以WINCE的虚拟寻址能力可达 4GB(为什呢,2^32=4GB),但是WINCE5.0和XP操作系统的每个进程独享4GB 虚拟地址空间不同,WINCE5.0中所有的进程共享一个4GB的虚拟地址空间。这4GB的虚拟地址空间被分为两个2GB的区域,其中低地址的那2GB区域 (0x00000000 ~ 0x7FFFFFFF)是用户虚拟空间,这块虚拟空间由应用程序的共用,也就是说应用程序申请的内存都会从低2GB虚拟内存空间分配的;而高2GB区域 (0x80000000 ~ 0xFFFFFFFF)是操作系统的内核虚拟空间,供WINCE操作系统本身使用。

我们知道WINCE5.0的进程数量最多只能达到32个,而且每个进程只能独享 32MB的虚拟空间(这个32MB的空间也叫一个slot),这33个进程(32+1,这个1就是指slot0,因为slot0用于映射当前在处理器上执行的线程所在的进程)占用的虚拟空间0x00000000~0x41FFFFFF(slot0~slot32),slot33~slot63对应的虚拟地址空间是0x42000000~0x7FFFFFFF,这块虚拟地址空间是由所有的进程共享的,如果每个进程独享的32MB虚拟地址空间不够用,那么进程可以在这个范围申请虚拟地址空间,这个范围包括对象存储和内存映射文件(.map文件,每个进程都有自己的map文件)。此范围的最后一个slot(slot63)从0x7E000000~0x7FFFFFFF用来存放纯资源DLL。如果某个DLL里面只有资源信息(比如图标、位图、对话框及字符串表灯),这个DLL就会被加载到这个空间内。 从0x80000000开始是WINCE内核使用的虚拟内存空间,其中 0x80000000~0x9FFFFFFF(512MB)这段用来静态所有的物理地址,也就是说WINCE会把所有的物理内存1:1地址映射到这段虚拟内存上,这也就是WINCE 最大支持的物理内存是512MB的由来。0xA0000000~0xBFFFFFFF(512MB)这段虚拟地址会重复映射所有的物理地址,这段对物理内存的映射与0x80000000这段最大的不同是从0x80000000开始的一段虚拟内存(何宗键老师这里写得是物理内存)是有缓冲的,而从0xA0000000开始的一段是没有缓冲的。通常,缓冲可以提高系统的I/O效率(why,有待进一步理解),但是对于一些OAL或者bootloader或者驱

Wince操作系统

1.名词解释 BSP:Board Support Package,板极支持包。它是介于主板硬件和操作系统之间的一层软件系统,严格来说BSP是属于操作系统的一部分 OEM:Original Equipment Manufacturer,原始设备制造商。OEM并不像字面意义一样是原始的制造商,其实OEM只是定制商 OAL:OEM Abastraction Layer,OEM抽象层。是OEM层地主体,负责Windows CE内核与硬件的通信 BIOS:Basic Input Output System,基本数据输出系统。主要负责在电脑开启时自检,初始化系统设备及装载操作系统代码等 MFC:Microsoft Foundation Classes,微软基础类。是一个微软公司提供的类库,以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量 SDK:Software Development Kit,软件开发包。一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合 BootLoader:操作系统内核运行之前运行的一段小程序,负责加载内核映像和初始化硬件等DMA:Direct Memory Access,直接内存存取。将数据从一个地址空间直接复制到另外一个地址空间,是一种快速的数据传送机制 ATL:Active Template Library,活动模板库。是一种微软程序库,通过活动模板库,可以建立COM组件,然后通过ASP页面中的脚本对COM对象进行调用 2.嵌入式系统的体系结构的4个部分 嵌入式处理器、嵌入式操作系统、嵌入式应用软件、嵌入式外围设备 3.基于WinCE构建的嵌入式系统大致可以分为4个层次 应用软件层、操作系统层、OEM层、硬件层 4.Wince操作系统在运行时,进程大致Nk.exe、GWES.exe、FileSys.exe、Device.exe、 Servcice.exe.其中必不可少的是NK.exe和FileSys.exe 5.进程与程序的区别 进程是程序的一次动态执行过程,它具有生命周期,可以动态创建,任务结束后立即消亡;程序是静态的文件,是一些列有序的指令集 6.文件映射 文件映射又叫内存映射文件,通过内存映射文件可以在进程的共享虚拟空间内保留一块地址空间的区域,同时将文件所在的物理内存映射到此区域 7.WinCE提供了那3种文件系统 RAM文件系统、ROM文件系统、可安装文件系统 8.在CEPC构建映像的过程中,如采用PB向导创建,则向导分为3步,分别是: I.选择BSP II.选择设计模板III.添加组件 9.嵌入式系统的特点有三个基本要素 嵌入性、专用性、计算机系统 10.WinCE的注册表分为基于RAM的注册表和基于Hive的注册表 11.在WinCEde 的构建系统中,共有4种平台初始化配置文件,分别是REG文件、DAT 文件、DB文件、BIB文件 12.常见的WinCE开发工具有哪些? Platform Builder、Visual Studio、Embeded Vusual C++

相关主题
相关文档
最新文档