论文部分内容阅读
摘要:利用嵌入式软件开发的优点,阐明如何在嵌入式设备中开发友好的人机界面,并编写相应的串口通信处理程序,使以ARM9为底层的嵌入式开发环境能够和DSP进行正常的数据交换。结果表明,利用嵌入式可以准确高效的完成人机界面的开发和DSP之间的数据通讯。
关键词:系统定制 嵌入式 应用程序
中图分类号:TG333.2 文献标识码:A 文章编号:1009-914X(2013)32-192-01
引言
Windows CE系统的稳定性好、可靠性高、实时性强及与windows XP具有相似的图形界面、成熟的开发平台、应用程序和桌面程序的一致性,使它获得众多开发者的青睐。
1 嵌入式系统的总体设计
Windows CE属于Windows家族,除了与Windws有很多相似之处外,也存在着重要的差别。它与桌面操作系统并不共享内核。很多时候不能把在Windows中积累的开发经验用在嵌入式Windows CE的开发中。
本次设计是以杭州安米电子公司开发的MDK9261开发板为基础,在应用程序的开发中需要连接此开发板,此开发板是以Atmel公司的ATSAM9261为核心。ATSAM9261能够提供庞大的数据吞吐量,并且含有数字信号处理器(DSP)扩展功能的指令集,ATSAM9261的独立指令和数据缓存能够支持WINCE和LINUX操作系统。核心板还配有4MB的DataFlash来存储系统启动代码和128MB的NandFlash存储系统内核和应用程序。
2 Windows CE系统内核的定制
和其它的嵌入式系统一样,Windows CE也需要根据不同的硬件配置进行内核定制,定制和编译的工具称为平台构建器(Platform Builder), Platform Builder这个插件可以构建BSP、创建设备驱动程序、生成运行时的映像,并导出相应的SDK来支持应用程序的开发。从Windows CE6.0开始,Platform Builder被作为一个组件整合到Visual Studio2005中,因此,如果要编译Windows CE6.0,就需要先安装Visual Studio2005,再安装Platform Builder。
嵌入式系统内核是针对特定硬件环境定制的,如果硬件环境有所改变就需要根据新的硬件重新进行系统定制,这是嵌入式开发的局限,也是它的优点。针对用户的要求,对内核进行裁剪,省去了不需要的组件,同时,可以节省硬件资源和成本。因此说,每个Windows CE系统都是根据硬件修改出来的,Windows CE内核是编译出来的而不是安装出来的。
本次应用程序的开发使用的是杭州安米电子公司的MDK9261开发板,首先需要根据硬件的需要定制Windows CE6.0操作系统。在进行系统定制之前,需要安装(1)Visual Studio2005;(2)Windows CE6.0(含Platform Builder的插件);(3)安装MDK9261的BSP。安装完成之后,就可以进行系统内核的定制。
要设计新的系统内核,首先在VisualStudio2005中,按照图1进行选择
在图1中命名相应的工程名称。然后点击确定,根据安装选择所需的BSP,选择AT91SAM9261EK,点击下一步,根据应用需求进行选择,最后点击完成。
此次开发,采用的是ATSAM9261EK,对Parameter Files进行展开,所有的驱动都是根据硬件进行定制和添加的,不能盲目的添加驱动,否则可能会导致有些组件或者外设无法正常工作。
在进行系统内核定制时,需要根据自己的硬件进行选择,如果所提供的BSP不能支持现有的硬件,就需要对驱动进行修改。根据硬件需要完成所需配置之后,选择生成解决方案进行编译
一般编译需要十几分钟到几十分钟,等编译成功之后,就可以在C:\WINCE600\OSDesign\9261_Proj\sample9261\RelDir\AT91SAM9261EK_ARMV4I_Release路径下,找到生成的镜像NK.nb0,大小大约为32MB。利用SAM-BA(由Atmel提供)烧录软件将fristboot、eboot、NK.nb0烧录进相应的硬件中,烧录成功后给开发板重新上电,就可以得到所要的操作系统。
3 Windows CE 6.0下应用程序的开发
开发板与电脑连接同步之后,就可以进行应用程序的开发和调试。与Windows版本相比,Windows CE在应用程序开发方面存在的差异相当明显。在Windows CE6.0开发时,可以采用多种语言进行开发,如Visual C++,C#等等。一般利用VC++开发原生代码应用程序,用C#开发托管代码的应用程序。下面举一个简单的例子,说明如何利用VC++开发简单的Windows CE6.0應用程序。首先打开Visual Studio 2005,创建一个新项目,选择智能设备,在已安装的模板中选择MFC智能设备应用程序。
点击确定按钮之后,根据已安装的SDK(目标设备软件开发包),选择系统裁剪内核时生成的SDK。创建完成之后,就可以在.h文件和.cpp文件中根据项目应用的需求编写相应的软件代码。
代码完成之后,点击编译指令,如果没有编译错误,就可以点击Debug按钮进行调试。从Debug目录下拷出生成的exe文件,拷贝进烧录的Windows CE6.0系统中,双击此文件就可以在该系统中运行起来。
4 Windows CE6.0下ARM和DSP之间通讯
通讯过程中,上位机和DSP进行数据通讯。EEPROM用于数据存储,例如当上位机发送指令给DSP进行参数设置时,DSP将从EEPROM中读取数据,在上位机中显示出来,完成上位机和DSP之间的数据交换,此系统中,上位机主要用于显示。例如,出现错误时,DSP将会给上位机发送一个错误代码,上位机将会对错误进行解析,在显示板上显示出来,供开发人员进行错误检查。
5 结束语
本文简单介绍了根据特定的硬件环境完成了Windows CE 6.0系统内核的定制和应用程序的开发。Windows CE由于其体积小、低功耗、系统稳定性要求高和系统稳定性好被广泛的应用在各种移动设备上。
参考文献
[1] Samuel Phung著,张冬松、陈芳园译.Windows CE 6.0 嵌入式高级编程.[M]
北京:清华大学出版社.
[2]Douglas Boling著,何宗键 等译.Windows CE 6.0 开发者参考(原书第四版).[M].北京:机械工业出版社.
[3] 张冬泉,谭南林.Windows CE开发实例精粹[M].北京:电子工业出版社.
[4] 徐阳.Windows EC 6.0嵌入式开发应用程序初探.昆明:科技广场.
关键词:系统定制 嵌入式 应用程序
中图分类号:TG333.2 文献标识码:A 文章编号:1009-914X(2013)32-192-01
引言
Windows CE系统的稳定性好、可靠性高、实时性强及与windows XP具有相似的图形界面、成熟的开发平台、应用程序和桌面程序的一致性,使它获得众多开发者的青睐。
1 嵌入式系统的总体设计
Windows CE属于Windows家族,除了与Windws有很多相似之处外,也存在着重要的差别。它与桌面操作系统并不共享内核。很多时候不能把在Windows中积累的开发经验用在嵌入式Windows CE的开发中。
本次设计是以杭州安米电子公司开发的MDK9261开发板为基础,在应用程序的开发中需要连接此开发板,此开发板是以Atmel公司的ATSAM9261为核心。ATSAM9261能够提供庞大的数据吞吐量,并且含有数字信号处理器(DSP)扩展功能的指令集,ATSAM9261的独立指令和数据缓存能够支持WINCE和LINUX操作系统。核心板还配有4MB的DataFlash来存储系统启动代码和128MB的NandFlash存储系统内核和应用程序。
2 Windows CE系统内核的定制
和其它的嵌入式系统一样,Windows CE也需要根据不同的硬件配置进行内核定制,定制和编译的工具称为平台构建器(Platform Builder), Platform Builder这个插件可以构建BSP、创建设备驱动程序、生成运行时的映像,并导出相应的SDK来支持应用程序的开发。从Windows CE6.0开始,Platform Builder被作为一个组件整合到Visual Studio2005中,因此,如果要编译Windows CE6.0,就需要先安装Visual Studio2005,再安装Platform Builder。
嵌入式系统内核是针对特定硬件环境定制的,如果硬件环境有所改变就需要根据新的硬件重新进行系统定制,这是嵌入式开发的局限,也是它的优点。针对用户的要求,对内核进行裁剪,省去了不需要的组件,同时,可以节省硬件资源和成本。因此说,每个Windows CE系统都是根据硬件修改出来的,Windows CE内核是编译出来的而不是安装出来的。
本次应用程序的开发使用的是杭州安米电子公司的MDK9261开发板,首先需要根据硬件的需要定制Windows CE6.0操作系统。在进行系统定制之前,需要安装(1)Visual Studio2005;(2)Windows CE6.0(含Platform Builder的插件);(3)安装MDK9261的BSP。安装完成之后,就可以进行系统内核的定制。
要设计新的系统内核,首先在VisualStudio2005中,按照图1进行选择
在图1中命名相应的工程名称。然后点击确定,根据安装选择所需的BSP,选择AT91SAM9261EK,点击下一步,根据应用需求进行选择,最后点击完成。
此次开发,采用的是ATSAM9261EK,对Parameter Files进行展开,所有的驱动都是根据硬件进行定制和添加的,不能盲目的添加驱动,否则可能会导致有些组件或者外设无法正常工作。
在进行系统内核定制时,需要根据自己的硬件进行选择,如果所提供的BSP不能支持现有的硬件,就需要对驱动进行修改。根据硬件需要完成所需配置之后,选择生成解决方案进行编译
一般编译需要十几分钟到几十分钟,等编译成功之后,就可以在C:\WINCE600\OSDesign\9261_Proj\sample9261\RelDir\AT91SAM9261EK_ARMV4I_Release路径下,找到生成的镜像NK.nb0,大小大约为32MB。利用SAM-BA(由Atmel提供)烧录软件将fristboot、eboot、NK.nb0烧录进相应的硬件中,烧录成功后给开发板重新上电,就可以得到所要的操作系统。
3 Windows CE 6.0下应用程序的开发
开发板与电脑连接同步之后,就可以进行应用程序的开发和调试。与Windows版本相比,Windows CE在应用程序开发方面存在的差异相当明显。在Windows CE6.0开发时,可以采用多种语言进行开发,如Visual C++,C#等等。一般利用VC++开发原生代码应用程序,用C#开发托管代码的应用程序。下面举一个简单的例子,说明如何利用VC++开发简单的Windows CE6.0應用程序。首先打开Visual Studio 2005,创建一个新项目,选择智能设备,在已安装的模板中选择MFC智能设备应用程序。
点击确定按钮之后,根据已安装的SDK(目标设备软件开发包),选择系统裁剪内核时生成的SDK。创建完成之后,就可以在.h文件和.cpp文件中根据项目应用的需求编写相应的软件代码。
代码完成之后,点击编译指令,如果没有编译错误,就可以点击Debug按钮进行调试。从Debug目录下拷出生成的exe文件,拷贝进烧录的Windows CE6.0系统中,双击此文件就可以在该系统中运行起来。
4 Windows CE6.0下ARM和DSP之间通讯
通讯过程中,上位机和DSP进行数据通讯。EEPROM用于数据存储,例如当上位机发送指令给DSP进行参数设置时,DSP将从EEPROM中读取数据,在上位机中显示出来,完成上位机和DSP之间的数据交换,此系统中,上位机主要用于显示。例如,出现错误时,DSP将会给上位机发送一个错误代码,上位机将会对错误进行解析,在显示板上显示出来,供开发人员进行错误检查。
5 结束语
本文简单介绍了根据特定的硬件环境完成了Windows CE 6.0系统内核的定制和应用程序的开发。Windows CE由于其体积小、低功耗、系统稳定性要求高和系统稳定性好被广泛的应用在各种移动设备上。
参考文献
[1] Samuel Phung著,张冬松、陈芳园译.Windows CE 6.0 嵌入式高级编程.[M]
北京:清华大学出版社.
[2]Douglas Boling著,何宗键 等译.Windows CE 6.0 开发者参考(原书第四版).[M].北京:机械工业出版社.
[3] 张冬泉,谭南林.Windows CE开发实例精粹[M].北京:电子工业出版社.
[4] 徐阳.Windows EC 6.0嵌入式开发应用程序初探.昆明:科技广场.