设为首页 收藏本站
查看: 661|回复: 0

Windows Embedded Compact 7初体验

[复制链接]

尚未签到

发表于 2015-5-10 09:44:55 | 显示全部楼层 |阅读模式
        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。烧写到设备上,就起来了。系统启动后的打印信息如下。


Windows CE Kernel for ARM (Thumb Enabled) Built on Dec 15 2010 at 16:44:21
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的面纱。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65397-1-1.html 上篇帖子: Windows Phone 7·动态改变Windows Phone 7的初始页面 下篇帖子: 频繁使用VPC的用户请谨慎升级到Windows 7 RC
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表