嵌入式-世界时钟_第1页
嵌入式-世界时钟_第2页
嵌入式-世界时钟_第3页
嵌入式-世界时钟_第4页
嵌入式-世界时钟_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Wince平台的世界时钟实验报告系别: 计算机科学系 班级: 10级软件01班 学号: 101403137 姓名: 谢金豆 指导老师: 唐明星 日期: 2013年6月10 日目录前言1一、可行性分析2要求2条件、假定和限制2进行可行性研究的方法22、对现有系统的分析2二、需求分析21任务概述22需求规定3运行环境驱动配置3故障处理要求33、运行环境规定4设备4支持软件4接口5三、详细设计51、程序处理流程52、WINCE系统定制设计53、世界时钟界面设计54、世界时钟功能设计5四、实现61、定制WINCE62、烧写WINCE113、EVC编写世界时钟194、关键代码22五、实验体会23前言

2、在一些主要的公共场所,例如机场、宾馆、会议中心等,的可以看到同时显示世界主要时区的钟。本综合实验程序的功能与公共场合的世界时钟类似,在EduKit-III 实验平台上编写一个简易的世界时钟程序。一、可行性分析本程序实现了一个世界主要时间显示的功能,界面左边是一个列表框,右边是一个时间显示去,上面用图形的方式显示当前时间,在下方有一个文本框,文本框中显示时间,格式如“08:20:00”,最下方是两张贴图,一个显示城市名称,一个显示相应城市的图片,LED显示所选择的是第几个城市。本程序可以用触摸屏来选择需要的城市。按“确定”键,可以通过键盘输入新的系统时间,输入之后,再按“确定”键保存所做的修改,

3、按“取消”所做的修改。开发流程图如下:开始 > 定制Wince >烧写Wince > 编写世界时钟程序 > 把程序拷到Wince平台 > 测试 > 结束1.2条件、假定和限制硬件、运行环境和开发环境分别为开发板SCS2410、wince4.0、EVC可利用的信息和资源:wince定制环境中自带软键盘和中文输入法。首次接触Wince平台,队友对这个平台不熟悉。里面的库函数和方法跟win32不太一样,如果自己写的话工作量很大,而且也没有这样的基础。所以整个流程下来,我们计划把时间用在系统的定制和烧写上,程序用别人开发好的,然后用Activesysc将PC机与Wi

4、nce平台同步,把程序拷贝进去运行。2、对现有系统的分析所含设备有5类双绞线、串行线、并行线、arm9实验箱、个人计算机,Platform builder 4.2,EVC4.0.二、需求分析1任务概述可以通过触摸屏自由选择需要显示时间的城市名称。本程序列表框可供选择的城市有5个,分别是北京、纽约、德黑兰、巴黎和东京。当选好城市后,该城市名高亮显示,同时以图形方式和文本方式显示的时间做相应的变化,显示该城市的时间。文本框下面的城市名称也做相应的变化。在键盘上按“确定”键,则可以修改文本框内的时间即修改系统时间,修改完后再“确定”键,本次修改就成功了。当前选择的城市序号在LED上显示出来。例如,“

5、1”代表北京,“2”代表纽约。如果选择的城市变化后,LED上显示的值也做相应的变化。2需求规定 2.1运行环境驱动配置USB驱动键盘驱动没考虑可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。3、运行环境规定操作系统W操作系统windows xp开发平台EVC,Wince定制平台EmbestIDE Pro for ARM串行口,并行口,RJ-45接口三、详细设计1、程序处理流程主任务首先创建用来显示城市名称的列表框和用来显示时间的文本框控件,然后进入一个无限循环等待键盘扫描任务发来的消息,并根据相应的按键对系统时间进行修改。 Rtc_Disp_Task任务首先判断当前要显示

6、的是哪一个程序的时间,然后对该城市时间进行换算,并计算出图形时钟的秒、分、时针的位置,最后根据计算的结果进行相应的图形和文本显示,具体流程参见右图。2、WINCE系统定制设计添加键盘模块添加USB驱动添加MFC模块添加Framework模块3、世界时钟界面设计界面左边是一个列表框,右边是一个时间显示去,上面用图形的方式显示当前时间,在下方有一个文本框,文本框中显示时间,格式如“08:20:00”,最下方是两张贴图,一个显示城市名称,一个显示相应城市的图片,LED显示所选择的是第几个城市。4、世界时钟功能设计用触摸屏来选择需要的城市。按“确定”键,可以通过键盘输入新的系统时间,输入之后,再按“确

7、定”键保存所做的修改,按“取消”所做的修改。可以通过触摸屏自由选择需要显示时间的城市名称。本程序列表框可供选择的城市有5个。当选好城市后,该城市名高亮显示,同时以图形方式和文本方式显示的时间做相应的变化,显示该城市的时间。文本框下面的城市名称也做相应的变化。在键盘上按“确定”键,则可以修改文本框内的时间即修改系统时间四、实现1、定制WINCE1. 单击“File”菜单下的“Manage Catalog Features”2. 单击“File”菜单下的“New Platform”3. 在对话框“New Platform WizardStep2”中单选“EMBEST EDUKIT240:ARMV4

8、I”4. 在对话框“New Platform WizardStep3”中单选“Mobile Handheld”,平台名取为“HLW”5. 在对话框“New Platform WizardStep4”中勾选上“Standard SDK for Windows CE.NET ”6. 点击“Next”,进入对话框“New Platform WizardStep5”7. 点击“Next”,进入对话框“New Platform WizardStep6”8. 点击“Next”,进入对话框“New Platform WizardStep7”9. 为我们定制的平台添加所需的驱动,如下图3.1.9(a-f)所示

9、图3.1.9(a)图3.1.9(b)图3.1.9(c)图3.1.9(d)图3.1.9(e)图3.1.9(f)10. 驱动添加完毕,点击“Platform”菜单中的“Settings”菜单项,对“Build Options”11. Build Platform 编译完成12. 配置SDK,如图:图3.1.11(a)图3.1.11(b)图3.1.11(c)1(d)13. 点击“Platform”菜单中的“Bulid SDK”2所示图3.1.12(a)2(b)2(c)2、烧写WINCE硬件与软件环境EduKit-III实验平台(S3C2410子板+平台主板)、PowerICE 仿真器(这里以Powe

10、rICE为例)、串口线、网线等。Windows XP、Embest IDE集成开发环境、PB4.2开发环境、Flash programmer。下载前说明在烧写与下载系统镜像时,需要用到本说明文档同级目录下的NBOOT_EDUKIT2410里的工具以及配置文件S3C2410&NandFLash.cfg,请把它们拷贝到一个不带有空格字符的路径,比如放在某盘的根目录下。烧写EduKit2410_nboot.bin文件是EduKit2410实验平台的启动代码,它负责加载并运行固化在Nandflash中的操作系统映像文件。用串口线连接实验板的UART1与PC机的串口,在PC机上打开串口监控软件D

11、NW或者PC机自带的超级终端软件。这里以打开DNW为例,点击“Configuration”,设置波特率为115200;然后点击“Serial Port”,选择“Connect”。将实验子板S3C2410插到主板的连接器上,短接子板S3C2410的跳线 SW104;在实验主板上短接SW402,SW403的1与2。连接仿真器到实验平台,这里以PowerICE为例。在PC机上打开文件夹NBOOT_EDUKIT2410里的NBOOT_EDUKIT2410.pjf文件,通过EmbestIDE打开了该工程。这个工程包含了Edukit2410的Nboot启动源码。编译这个工程:点击“Build”“Rebui

12、ld All”。编译成功后,在Embest IDE集成开发环境的主菜单中选择“Tools” ”Elf to Bin”。从Embest IDE的主菜单中选择“Tools” “Flash Programmer”,或者直接从“开始”菜单中选择“Embest Tools”,运行“Embest online flash programmer for ARM”。如下图5.12:“File” “Open”,然后选择打开配置文件“”。选择要烧写的文件。这里要烧写的文件位于.NBOOT_EDUKIT2410debug下的EduKit2410_nboot.bin。操作如下图4.13:在flash programm

13、er的主菜单中点击”Settings” “Configuration”,配置如下图4.14界面,然后点击OK。在Flash Programmer右边的方框中点击“Program”。如果烧写失败,请检查电源是否打,连接是否正确,然后再重试刚才的步骤。烧写成功后,会提示烧写成功,如下图5.15中的蓝色字体。烧写成功后,关闭Flash programmer,复位目标板,会看到串口的输出信息。如下图:下载Eboot.nb0到内存(要连接网线)将串口线改为连接实验板的UART0,其它连接配置不变。在上面打开的NBOOT_EDUKIT2410.pjf工程中,在Embest IDE环境中选择“Project

14、” ”Settings”,进行如下配置:选择”Processor”,配置如下图:在图5.17中选择Remote,如下配置:在图5.18中选择Debug,在“Action after connected”选中“Command script”,然后选择脚本文件,脚本文件为NBOOT_EDUKIT2410目录下的2410boot.cs文件。具本路径与你的NBOOT_EDUKIT2410目录存放路径有关。比如,我的NBOOT_EDUKIT2410存放在M盘下。然后在Category下拉菜单处选择”Download”,在“Download file”处选择要下载的文件,该文件为你编译Wince系统镜像后

15、生成的Eboot.nb0,具体路径跟你定制的操作系统的存放路径有关。在Download address处填“0x30038000”。然后点击OK返回。在Embest IDE开发环境的主菜单中点击“Debug”“Remote Connect”,将会在Embest IDE的输出窗口看到连接信息,如下图:在连接正常后,在Embest IDE主菜单中点击“Debug”“Download”,将会开始下载。当下载完成后,将会在Embest IDE开发环境中看到蓝色条字符“Info: download completed”。然后点击“Debug”“Go”,然后马上点击PC机上的串口监控软件“DNW”,在PC

16、机的键盘上敲击空格键。将会在DNW窗口中看到如下输出信息:在图5.22中,按下面所述进行配置:(所有选择都是通过PC键盘操作)选择“1”配置IP address,注意与PC 机的IP 地址在同一个子网内(如PC 机为 则IP address 可设为255);比如我输入25 输入好IP后,按回车键;接下来配置子网掩码,设置为,输入完后,按回车键;选择“6”,使能把系统映像烧写到NandFlash中去;选择“7”,把Mac 地址配置为:8.9a.bc,输入完后,按回车键;选择

17、“W”,将以上设置保存;选择“F”,将NandFlash 低级格式化(不会格式化NandFlash 的前10 块)选择“9”,将NandFlash 逻辑格式化为BINFS 格式,操作时间会比较长(大约3分钟左右);(注意查看B选项,应该为ENABLED)后的选择界面为:(其中IP地址根据实际情况设置)激活DNW窗口,然后在PC键盘上选择D键,将会下载映像文件。接下来设置Platform Builder4.2 的Remote Connection,打开PB4.2,然后打开你所定制的操作系统映像工程:(注意,在下载前请确保你已经编译了你的工程并生成了NK.bin文件。点击Target ->C

18、onfigure Remote Connection;分别选择Download 及kernel 的通信方式为Ethernet;点击Download 或kernel后 的Configure.后,会显示EDUKIT241039612,选中即可;点击OK返回;点击Target 菜单下的Download/Initialize,开始下载操作系统镜像;当下载完成后,接下来会把系统映像烧写到nandflash中去,等待一会。当烧写完成后,会看到DNW窗口的输出信息。然后会看到目标板上的Wince系统运行起来。3、EVC编写世界时钟我们采用EVC来编写应用程序。打开EVC,打开File菜单并单击New菜单项,

19、在弹出的对话框的“Project”选项卡中,选择“WCE MFC AppWizardexe”,在右边的项目名中输入“Notepad”,在下面“CPUs”中选择“WIN32WCE emulator”和“WIN32WCE X86”。在对话框“WCE MFC AppWizard(exe)Step 1 of 4”中选择“Single document”和“Document/View architecture support?”。在对话框“WCE MFC AppWizard(exe)Step 2 of 4”中单选“CommandBar with toolbar buttons”,然后在下面的最近文件列表

20、中输入0,表示不加入最近操作的文件列表功能。工具栏按钮可以设置大些。在对话框“WCE MFC AppWizard(exe)Step 4 of 4”中单击“CNotepadView”,在下面“Base class”下拉框中选择“CEditView”,然后单击“Finish”按钮。单击EVC菜单Project|Settings,在弹出的对话框的“Resources”选项卡中,将“Language”设置成“中文中国”,这只是设置资源文件的语言种类为中文。还要就将EVC的“Workspace”的资源类型设置为中文。然后右键单击“Resources”中Dialog|IDD_ABOUTBOX,在弹出的菜单

21、中单击“Properties”,在弹出的对话框中的“Language”下拉框中选择“ChineseP.R.C”,然后再输入中文。4、关键代码在列表框中显示自定义的文字static charfilename910=“Beijing”,”Newyork”,”Tehela”,”Paris”,”Tokyo”;for(i=0;i<=4;)strchar2unicode(Ufilename,filenamei);/将文件名转换成UnicodeAddstringListCtrl(pMainLisCtrl,Ufilename);/向列表框中添加表项Strcpy(VmpFilei,filenamei);/

22、将文件名存入文件名数组Strncat(BmpFilei+,FileExName,3);时间的计算K=k-780;If(k<0)/去掉时间差k=k+1440;Else if (k>=1440)(k=k-1440;)else(;)hour=(k/60);minute(k%60);指针位置的计算和显示i=(double)second/60.0*2*pi;x1=(int)(200+50*sin(i);y1=(int)(60-50*cos(i);MoveTo(pdc,200,60);SetPenColor(pdc,0);SetPenWidth(pdc,1);LineTo(pdc,x1,y1);五、实验体会第一次接触嵌入式开发,感觉整条开发的道路非常坎坷,不想以前在X86 PC机上写应用程序那么轻松。刚开始的时候是取得一大堆文档和资料,然后按部就班地照着资料去做。不过以前也学过操作系统,对于系统的架构和一些基本的运行原理,也懂一些。因此知道Wince烧进芯片的时候,需要bootloader引导,就比如平时PC机上用的MBR一样。整个开发流程中,我们觉得最轻松的就是定制Win

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论