用模拟器加载基于ARM平台的WinCE6.0 内核(NK.bin)

简介:           虽然公司在一年以前就开始做基于WinCE4.2系统的触摸屏,但是作为侧重应用层面开发的我,对WinCE内核相关知识可以说是一知半解。

 

        虽然公司在一年以前就开始做基于WinCE4.2系统的触摸屏,但是作为侧重应用层面开发的我,对WinCE内核相关知识可以说是一知半解。

WinCE6.0早在06年11月份就已经正式发布,但直到今天才开始研究WinCE6.0系统(其实早几个月的时候就从马宁那里获得了PB6.0安装程序,但是比较遗憾的是在前几天才把PB6.0装上)。WinCE6.0的100%开放源代码行动还是比较吸引人的,此外又作为VS2005的插件出现,对喜欢VS005开发环境的朋友来说,着实是一个福音。
PB6.0安装程序有3G多(SP1要小的多,才50多M),幸好我安装时仅选择了Arm平台相关的选项,否则真不知道要占用我多少磁盘空间呢!
闲言少叙,第一步我们就用PB6.0定制一个WinCE6.0内核。
(这方面的内容,幸好有马宁同志不辞辛苦的耕耘,我们可以不劳而获,直接看他blog上《Windows Embedded CE 6.0开发初体验(1~5)》系列文章即可,不过要选择的BSP是Device Emulator:ARMV4I,相关链接如下:http://blog.csdn.net/aawolf/archive/2007/12/19/1953448.aspx)。
第二步就是我们今天要说的重点了,以前PB5.0和PB4.x都有一个基于X86架构的模拟器。在定制BSP时,需要选择EMULATOR:X86定制的内核才能加载到模拟器之中。在PB6.0中在这一方面有了很大的改进,用“Device Emulator:ARMV4I”取代了“EMULATOR:X86,也就是说现在的模拟器直接可以加载基于ARM平台的NK了,毕竟目前大部分嵌入式设备都是基于ARM平台的,这种改进还是非常有益的。
模拟器需要从网上下载,目前最新版本是V2.0。
---------------------------------
Microsoft Device Emulator 2.0 – 独立版
对基于 ARM 的设备的设备仿真程序来说,Microsoft Device Emulator 2.0 是第二个公开发行的版本。本仿真程序还将与 Windows Embedded CE 6.0 的 Adaptation Kit (AK) 版一同发行。

Device Emulator 2.0 版与 Visual Studio 2005 随附的该仿真程序的 1.0 版包含相同的可执行文件和 DLL。新版的仿真程序对性能进行了升级并新增了一些功能。本次安装将取代随 Visual Studio 2005 一同安装的仿真程序。
 
注意:在 Visual Studio 2005 中进行面向 Windows Embedded CE 6.0 平台的应用程序开发时需要使用 Device Emulator V2.0。此外,如果您的系统运行的是 Windows Vista,也需要使用本仿真程序。
---------------------------------
 
   
 
安装完模拟器后,接下来我们要配置一下相关选项:
单击“Target”菜单下Connectivity Options选择,弹出如下配置对话框
Download和Transport都选择“Device Emulator(DMA)”选项,此外如果Debugger选None的话,记得在工程属性中一定取消下图中的选项,否则模拟器一直黑屏。
单击配置对话框的“Setings”按钮弹出仿真程序属性配置对话框,如下图。
 
分辨率我设置为640*480。
串口最好映射,并且勾选“为串行端口1创建…”选项,这样在启动模拟器的时候会弹出如下窗体,这样在模拟器黑屏的时候你能获知是什么原因。
内核编译完毕后,我们单击“Target”菜单下的Attach Device选项,让模拟器加载NK.bin。
 
呵呵,成功了!
相关文章
|
5月前
|
Android开发 芯片 开发者
adb 查看安卓手机 CPU 类型(armeabi、armeabi-v7a、arm64-v8a ...)
adb 查看安卓手机 CPU 类型(armeabi、armeabi-v7a、arm64-v8a ...)
494 0
|
29天前
|
Linux 内存技术 Perl
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
|
1月前
|
Linux 编译器 Windows
【Linux】新唐NUC977系统编译及烧写流程
【Linux】新唐NUC977系统编译及烧写流程
|
2月前
|
存储 Linux Shell
嵌入式 Linux 移植与系统启动方法
嵌入式 Linux 移植与系统启动方法
26 0
|
10月前
|
Ubuntu Linux 芯片
Linux移植5.4版本内核:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(5.4版本内核)
Linux移植5.4版本内核:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(5.4版本内核)
672 0
|
10月前
|
Ubuntu Linux 网络架构
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(下)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(下)
348 0
|
10月前
|
缓存 Linux 芯片
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(中)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(中)
583 0
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)(中)
|
11月前
MDK5使用Jlink下载显示 no cortex m sw divice 解决办法
MDK5使用Jlink下载显示 no cortex m sw divice 解决办法
195 0
|
Linux 编译器 开发工具
Flash Jetson Linux 刷写系统报错处理
在使用 SDK Manager 刷写Jetson Linux 时会出现一些错误,本篇文章介绍了几种问题的解决方案。
1032 0
|
NoSQL 网络协议 数据可视化
ARM深入理解-hypervisor调试方法二(QEMU+GDB调试ARM程序)
ARM深入理解-hypervisor调试方法二(QEMU+GDB调试ARM程序)