win ce 嵌入式开发基础
- 摘要:这几天在做实验室的一个项目,需要在win ce上进行开发。弄了几天,终于对在PDA上的win ce嵌入式开发有了点认识,故记下来。
这几天在做实验室的一个项目,需要在win ce上进行开发。弄了几天,终于对在PDA上的win ce嵌入式开发有了点认识,故记下来。win ce 5.0、6和win mobile的开发工具和流程都类似。
一、所需工具
工欲善其事,必先利其器。先说一下所需要的工具。
1、Microsoft ActiveSync:这个是win ce/mobile设备与PC同步的工具,这个必需得有,才能让PDA/PPC和手机进行同步传输数据。也只有有它,才能实现在PC上直接同步调试程序(后面会介绍如何在PC上同步调试程序)。一般PDA/PPC随机盘里都有,也可以在网上下载最新的。
2、eMbedded Visual C++ 4.0:微软专门用于嵌入式开发的IDE,不过版本比较老,现在的Visual Studio 2005/2008 都可以直接开发嵌入式程序,所以,我更喜欢用VS2008进行开发。
3、Visual Studio 2005/2008:这个不用说了把。
4、SDK:这个也是必不可少的东西,在你的PDA/PPC随机开发光盘里应该有(如果没有就去厂商的网站找找)。因为PDA/PPC用的大多是ARM CPU,所以指令系统不一样,你本机编译的程序在PDA上不能运行,有了SDK,你才能知道你用的是什么型号的CPU和对应的指令系统,这样在本机才能将源程序编译成对应指令系统的应用程序(以上是对于用C/C++开发人员来说的,至于C#我不会,所以不知道,不过估计如果是C#开发的话应该不用这么麻烦吧)。
5、Microsoft Device Emulator:你还可以安装一个模拟器,可以在本机模拟PDA/PPC环境,这样在开发与硬件无关的东西时(如界面)就不用每次都得把程序传到PDA/PPC上运行,直接在本机的模拟器上就能看到运行效果,能节约一些时间。
6、Microsoft Platform Builder:据说这个东西不是必需的,据说是可以自己定制模拟器环境,我没有找到下载地址,所以也没有试。
所需工具大概就是这些,下面介绍一下开发方法。
二、开发流程
1、在VS2008中建立一个新的工程:在“Visual C++” =》“Smart Device”中选择“Win32 Smart Device Project”(如果会MFC,也可以选MFC的工程)。接下来很重要,要在“Project Wizard”中的“Platform”中增加你的PDA/PPC对应SDK(如果想在模拟器中运行,也应该增加对应模拟器SDK)。
2、设置编译选项:选择菜单“Build”=》“Configuration Manager”,在里面的“Active solution configuration”里选择Debug/Release,在Active solution platform中选择你的平台,选好之后,以后编译的目标代码就是对应平台下的了。
3、模拟器中调试:在平台选择时选择你安装的模拟器,编译以后,运行,VS2008会自动打开模拟器,并将程序传到模拟器中运行,这样你就可以在模拟器中看到运行效果,并在VS2008中设置断点进行调试。
4、在PDA/PPC中调试:在PDA/PPC中调试不用每次将程序复制到PDA中然后运行,直接将PDA/PPC与PC连接,选择Microsoft ActiveSync方式连接。然后在VS里选择对应编译平台,运行,这样就可以在PDA/PPC中看到运行效果,和在模拟器中一样,可以在VS中设置断点,PDA中看效果。
win ce系统和PC系统有几点应该注意的区别:
三、win ce开发的注意问题
1、win ce是实时操作系统,PC是分时操作系统。
2、win ce程序只能用Wide Char字符集,PC中可以同时使用Multi Byte和Wide Char字符集,而很多硬件编程时要求传输的数据是以字节为单位,即一个char,但一个Wide Char宽度是2个char,所以编程时要注意。不熟悉这个的可以看看关于Unicode相关资料,以及WideCharToMultiByte()和MultiByteToWideChar()两个Win32 API。
3、win ce系统不支持管道!这一点对于习惯unix/linux编程的程序员来说比较不爽。没有pipe使得进程之间通信变得麻烦,必需使用共享内存或者信箱等方式,这点使我很郁闷。不知道为什么微软将很方便的pipe弃而不用?
以上就是我这些日子对嵌入式win ce开发的一些心得。
一、所需工具
工欲善其事,必先利其器。先说一下所需要的工具。
1、Microsoft ActiveSync:这个是win ce/mobile设备与PC同步的工具,这个必需得有,才能让PDA/PPC和手机进行同步传输数据。也只有有它,才能实现在PC上直接同步调试程序(后面会介绍如何在PC上同步调试程序)。一般PDA/PPC随机盘里都有,也可以在网上下载最新的。
2、eMbedded Visual C++ 4.0:微软专门用于嵌入式开发的IDE,不过版本比较老,现在的Visual Studio 2005/2008 都可以直接开发嵌入式程序,所以,我更喜欢用VS2008进行开发。
3、Visual Studio 2005/2008:这个不用说了把。
4、SDK:这个也是必不可少的东西,在你的PDA/PPC随机开发光盘里应该有(如果没有就去厂商的网站找找)。因为PDA/PPC用的大多是ARM CPU,所以指令系统不一样,你本机编译的程序在PDA上不能运行,有了SDK,你才能知道你用的是什么型号的CPU和对应的指令系统,这样在本机才能将源程序编译成对应指令系统的应用程序(以上是对于用C/C++开发人员来说的,至于C#我不会,所以不知道,不过估计如果是C#开发的话应该不用这么麻烦吧)。
5、Microsoft Device Emulator:你还可以安装一个模拟器,可以在本机模拟PDA/PPC环境,这样在开发与硬件无关的东西时(如界面)就不用每次都得把程序传到PDA/PPC上运行,直接在本机的模拟器上就能看到运行效果,能节约一些时间。
6、Microsoft Platform Builder:据说这个东西不是必需的,据说是可以自己定制模拟器环境,我没有找到下载地址,所以也没有试。
所需工具大概就是这些,下面介绍一下开发方法。
二、开发流程
1、在VS2008中建立一个新的工程:在“Visual C++” =》“Smart Device”中选择“Win32 Smart Device Project”(如果会MFC,也可以选MFC的工程)。接下来很重要,要在“Project Wizard”中的“Platform”中增加你的PDA/PPC对应SDK(如果想在模拟器中运行,也应该增加对应模拟器SDK)。
2、设置编译选项:选择菜单“Build”=》“Configuration Manager”,在里面的“Active solution configuration”里选择Debug/Release,在Active solution platform中选择你的平台,选好之后,以后编译的目标代码就是对应平台下的了。
3、模拟器中调试:在平台选择时选择你安装的模拟器,编译以后,运行,VS2008会自动打开模拟器,并将程序传到模拟器中运行,这样你就可以在模拟器中看到运行效果,并在VS2008中设置断点进行调试。
4、在PDA/PPC中调试:在PDA/PPC中调试不用每次将程序复制到PDA中然后运行,直接将PDA/PPC与PC连接,选择Microsoft ActiveSync方式连接。然后在VS里选择对应编译平台,运行,这样就可以在PDA/PPC中看到运行效果,和在模拟器中一样,可以在VS中设置断点,PDA中看效果。
win ce系统和PC系统有几点应该注意的区别:
三、win ce开发的注意问题
1、win ce是实时操作系统,PC是分时操作系统。
2、win ce程序只能用Wide Char字符集,PC中可以同时使用Multi Byte和Wide Char字符集,而很多硬件编程时要求传输的数据是以字节为单位,即一个char,但一个Wide Char宽度是2个char,所以编程时要注意。不熟悉这个的可以看看关于Unicode相关资料,以及WideCharToMultiByte()和MultiByteToWideChar()两个Win32 API。
3、win ce系统不支持管道!这一点对于习惯unix/linux编程的程序员来说比较不爽。没有pipe使得进程之间通信变得麻烦,必需使用共享内存或者信箱等方式,这点使我很郁闷。不知道为什么微软将很方便的pipe弃而不用?
以上就是我这些日子对嵌入式win ce开发的一些心得。
打印
收藏文章
关闭
该文章已有条评论
我要发表评论
热门文章
热门文章附带页
推荐文章