Windows Embedded Compact 7初体验
Windows Embedded Compact 7初体验
Windows Embedded Compact 7已经出来半年多了,一直没时间搞。最近它又出了Refresh的版本,电脑也换了个1T的硬盘,所以就下载下来体验一把。
先说说开发环境的搭建。Platform Builder 7.0作为VS2008的一个插件使用,且与之前所有版本的WinCE开发环境都不兼容,需独立安装。所以,我搭建WinCE7.0开发环境的步骤如下:
- 安装VMWARE WorkStation 7
- 在虚拟机上安装Windows 7
- 安装VS2008及SP1
- 安装Windows Embedded Compact 7
以前在学习新版本WinCE的时候,一般都是先基于模拟器定制一个系统,但WinCE7.0目前是不支持的Device Emulator的,大概是因为它只支持ARMv5及其之后的处理器,而Device Emulator还是ARMv4的。目前项目中使用的处理器是ARM11的,属于ARMv6,于是就打算直接往这个平台上移植看看。
WinCE7.0的新特性及移植说明,在安装目录下有相关的pdf文档做介绍。从它提供的文档来看,WinCE6.0到WinCE7.0的移植相对比较简单。而WinCE5.0到WinCE7.0的移植会麻烦一些,建议先从WinCE5.0移植到WinCE6.0,然后再从WinCE6.0移植到WinCE7.0。
目前项目使用的是WinCE6.0,所以就拿6.0的BSP作为模板来移植了。移植方法与《S3C2410-WinCE6.0-OAL的快速调试》介绍的类似。将6.0的BSP拷贝到Platform目录下,然后通过Platform Builder 7.0克隆出一个新的BSP,并修改Catalog文件中相应的Item属性,将ARMv4改为ARMv6。另外,修改Files目录下的Platform.bib和Platform.reg文件,清空这两个文件的内容。修改SRC目录下的dirs文件,去除BOOT和Drivers对应的目录。这么做的目的就是想快速移植WinCE7.0的OAL,先让WinCE7.0的内核跑起来,然后再慢慢移植各个驱动。
WinCE7.0创建工程的方法与WinCE6.0的类似。基于Custom Device的模板创建一个工程,并设置平台属性,由于一直没在6.0上验证过这个BSP的KITL,所以这里也就先把KITL给禁用了。设置完平台属性后使用Clean Sysgen编译系统。运气好的话,编译不出问题,直接生成NK。烧写到设备上,就起来了。系统启动后的打印信息如下。

ProcessorType=0b76 Revision=6 CpuId=0x410fb766
OEMAddressTable = 80203b80
[KERNEL ]+OEMInit()
[KERNEL ]DCache: 128 sets, 4 ways, 32 line size, 16384 size
[KERNEL ]ICache: 128 sets, 4 ways, 32 line size, 16384 size
[KERNEL ]CHIPID[156][acda17d0]
[KERNEL ]-OEMInit()
NKStartup done, starting up kernel. nCpus = 1
Windows CE KernelInit
Error Reporting Memory Reserved, dump size = 00020000
Booting Windows CE version 7.00 for (ARM)
Memory Configuring: Total pages: 36278, Filesystem pages = 4534
Booting kernel with clean memory configuration:
Total Memory Sections:1
[0] (static): start: 83a26000, extension/attributes: 00024000, length: 08db6000
Scheduling the first thread.
PID:00400002 TID:00410002 PGPOOL: Reserved 768 pages for Loader pool
PID:00400002 TID:00410002 PGPOOL: Reserved 256 pages for File pool
PID:00400002 TID:00410002 ERROR: OALIoCtlHalGetDeviceInfo: Invalid request
PID:00400002 TID:00410002 OSAXST0: Platform Name = WinCE6.0 R3
PID:00400002 TID:00410002 WARN: OALIoCtlHalGetDeviceinfo::SPI_GETPROJECTNAME: Bu
ffer too small
PID:00400002 TID:00410002 OSAXST1: >>> Loading Module 'kd.dll' (0xC0401DB0) at a
ddress 0xEFFE0000-0xEFFFE000 in Process 'NK.EXE' (0x83A09AD0)
PID:00400002 TID:00410002 KD: Starting kernel debugger software probe (KdStub) -
KD API version 27
PID:00400002 TID:00410002 OSAXST1: >>> Loading Module 'NK.EXE' (0x83A09AD0) at a
ddress 0x80200000-0x80217000 in Process 'NK.EXE' (0x83A09AD0)
PID:00400002 TID:00500002 Filesys doesn't exist, no app started

至此,就初步完成了WinCE7.0 OAL的移植。虽然还没有看到WinCE7.0的界面,但也总算初步了解了Platform Builder 7.0。接下来可以移植显示、触摸驱动,进一步揭开WinCE7.0的面纱
Windows Embedded Compact 7初体验的更多相关文章
- Windows Embedded Compact 2013 安装体验
6月14日,微软正式发布了Windows embedded compact 2013,大家还是习惯称之为Window CE 8,公司也要开始做windows embedded compact 2013 ...
- Windows Embedded Compact 2013升级:VS2013也能编译
IT之家(www.ithome.com):Windows Embedded Compact 2013升级:VS2013也能编译 今天,微软为Windows Embedded Compact 2013送 ...
- Windows Embedded Compact 7新特性
Windows® Embedded Compact 7是Windows Embedded CE的下一代产品,而Windows Embedded CE这款操作系统面向占用资源少的新颖设备.Windows ...
- Windows Embedded Compact 7 开发环境搭建
第一步,我们会定制一个运行在Vitual PC上的image.要完成这个任务,你要保证你的电脑上安装了:1.Windows Virtual PC 2.Visual Studio 2008+SP1 3. ...
- Windows Embedded Compact 7网络编程概述(下)
11.1.1 Select I/O模型 在Windows CE中,Select模型是唯一被支持的I/O模型.Select I/O模型就是利用select函数对I/O进行管理. 函数select的功能在 ...
- Windows Embedded Compact 7网络编程概述(上)
如今,不论是嵌入式设备.PDA还是智能手机,网络都是必不可少的模块.网络使人们更方便地共享设备上的信息和资源.而且,利用智能手机浏览互联网,也逐渐成为生活中的常见手段.物联网所倡导的物物相联,也离不开 ...
- Windows Phone开发工具初体验【转载】
Windows Phone开发工具在MIX 2010上火热登场了.Windows Mobile开发者们压抑许久的热情终于爆发出来,对于Windows Phone的华丽转身,开发者们褒贬不一,有人对Si ...
- Windows Phone 8 开发初体验
Windows Phone 8 是当前除了Android.IPhone之外,第3大智能手机运行平台.作为微软技术的忠实fans,一直关注和跟进微软技术的最新进展.这里就给大家简单介绍一下,如何进行Wi ...
- Windows 8.1 RTM初体验
Windows 8.1正式发布在10月17日,现在可以在MSDN/TechNet进行订阅下载. 操作系统版本号和Windows Server 2012 R2保持一致. 开始屏幕动态磁贴现在有4种尺寸可 ...
随机推荐
- 20165203 实验三 敏捷开发与XP实践
20165203 实验三 敏捷开发与XP实践 任务一: 1.实验要求 实验三 敏捷开发与XP实践 (http://www.cnblogs.com/rocedu/p/4795776.html), Ecl ...
- MEF实现设计上的“松耦合”(二)
介绍了下MEF的基础用法,让我们对MEF有了一个抽象的认识.当然MEF的用法可能不限于此,比如MEF的目录服务.目录筛选.重组部件等高级应用在这里就不做过多讲解,因为博主觉得这些用法只有在某些特定的环 ...
- 9-4 Unidirectional TSP uva116 (DP)
题意:给一个n行m列矩阵 从第一列任意一个位置出发 每次往右 右上 右下三个方向走一格 直到最后一列 输出所类和的最小值和路径!! 最小值相同则输出字典序最小路径 很像一开始介绍的三角形dp ...
- HDU - 5999 The Third Cup is Free 贪心 简单题
The Third Cup is Free Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- 使开发更便捷——Visual Studio 使用技巧——快捷键
下面是.Net开发中常用的快捷键,熟练使用可以提高开发效率: Ctrl + K + C //注释代码 Ctrl + K + U //取消代码注释 Ctrl + k + d //快速格式化代码 Shif ...
- 如何快速取消svn的关联
我们很多文件和文件项目都是通过svn从服务器上下载的,但是有些时候,出于某些目的,我们不想让这个文件继续和svn服务器进行关联,我们就需要解除这个关联,我观察了网上的相关方法,居然还有忽悠我们用reg ...
- 华为荣耀V8这个7.0的系统的root
原文链接:http://m.shuaji.com/jiaocheng/5585.htm 已经有不少的机友的华为荣耀V8手机已经升级到EMUI5.0了,也就是现在的安卓7.0的系统,那这个时候该如何进行 ...
- Mac 上关于TFTP Server 软件的使用
软件下载地址 http://ww2.unime.it/flr/tftpserver/ 软件下载后进行安装,打开软件, 如果出现如下图所示情况 然后当你点击蓝色的Fix 按钮时,如果又出现如下提示 这时 ...
- 机器学习之路: tensorflow 自定义 损失函数
git: https://github.com/linyi0604/MachineLearning/tree/master/07_tensorflow/ import tensorflow as tf ...
- codevs 1365 浴火银河星际跳跃
1365 浴火银河星际跳跃 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 小 K 又在玩浴火银河了...不过这次他的目的不是跑运输 ...