嵌入式-世界時(shí)鐘_第1頁
嵌入式-世界時(shí)鐘_第2頁
嵌入式-世界時(shí)鐘_第3頁
嵌入式-世界時(shí)鐘_第4頁
嵌入式-世界時(shí)鐘_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于Wince平臺(tái)的世界時(shí)鐘實(shí)驗(yàn)報(bào)告系別: 計(jì)算機(jī)科學(xué)系 班級(jí): 10級(jí)軟件01班 學(xué)號(hào): 101403137 姓名: 謝金豆 指導(dǎo)老師: 唐明星 日期: 2013年6月10 日目錄前言1一、可行性分析2要求2條件、假定和限制2進(jìn)行可行性研究的方法22、對(duì)現(xiàn)有系統(tǒng)的分析2二、需求分析21任務(wù)概述22需求規(guī)定3運(yùn)行環(huán)境驅(qū)動(dòng)配置3故障處理要求33、運(yùn)行環(huán)境規(guī)定4設(shè)備4支持軟件4接口5三、詳細(xì)設(shè)計(jì)51、程序處理流程52、WINCE系統(tǒng)定制設(shè)計(jì)53、世界時(shí)鐘界面設(shè)計(jì)54、世界時(shí)鐘功能設(shè)計(jì)5四、實(shí)現(xiàn)61、定制WINCE62、燒寫WINCE113、EVC編寫世界時(shí)鐘194、關(guān)鍵代碼22五、實(shí)驗(yàn)體會(huì)23前言

2、在一些主要的公共場(chǎng)所,例如機(jī)場(chǎng)、賓館、會(huì)議中心等,的可以看到同時(shí)顯示世界主要時(shí)區(qū)的鐘。本綜合實(shí)驗(yàn)程序的功能與公共場(chǎng)合的世界時(shí)鐘類似,在EduKit-III 實(shí)驗(yàn)平臺(tái)上編寫一個(gè)簡(jiǎn)易的世界時(shí)鐘程序。一、可行性分析本程序?qū)崿F(xiàn)了一個(gè)世界主要時(shí)間顯示的功能,界面左邊是一個(gè)列表框,右邊是一個(gè)時(shí)間顯示去,上面用圖形的方式顯示當(dāng)前時(shí)間,在下方有一個(gè)文本框,文本框中顯示時(shí)間,格式如“08:20:00”,最下方是兩張貼圖,一個(gè)顯示城市名稱,一個(gè)顯示相應(yīng)城市的圖片,LED顯示所選擇的是第幾個(gè)城市。本程序可以用觸摸屏來選擇需要的城市。按“確定”鍵,可以通過鍵盤輸入新的系統(tǒng)時(shí)間,輸入之后,再按“確定”鍵保存所做的修改,

3、按“取消”所做的修改。開發(fā)流程圖如下:開始 > 定制Wince >燒寫Wince > 編寫世界時(shí)鐘程序 > 把程序拷到Wince平臺(tái) > 測(cè)試 > 結(jié)束1.2條件、假定和限制硬件、運(yùn)行環(huán)境和開發(fā)環(huán)境分別為開發(fā)板SCS2410、wince4.0、EVC可利用的信息和資源:wince定制環(huán)境中自帶軟鍵盤和中文輸入法。首次接觸Wince平臺(tái),隊(duì)友對(duì)這個(gè)平臺(tái)不熟悉。里面的庫函數(shù)和方法跟win32不太一樣,如果自己寫的話工作量很大,而且也沒有這樣的基礎(chǔ)。所以整個(gè)流程下來,我們計(jì)劃把時(shí)間用在系統(tǒng)的定制和燒寫上,程序用別人開發(fā)好的,然后用Activesysc將PC機(jī)與Wi

4、nce平臺(tái)同步,把程序拷貝進(jìn)去運(yùn)行。2、對(duì)現(xiàn)有系統(tǒng)的分析所含設(shè)備有5類雙絞線、串行線、并行線、arm9實(shí)驗(yàn)箱、個(gè)人計(jì)算機(jī),Platform builder 4.2,EVC4.0.二、需求分析1任務(wù)概述可以通過觸摸屏自由選擇需要顯示時(shí)間的城市名稱。本程序列表框可供選擇的城市有5個(gè),分別是北京、紐約、德黑蘭、巴黎和東京。當(dāng)選好城市后,該城市名高亮顯示,同時(shí)以圖形方式和文本方式顯示的時(shí)間做相應(yīng)的變化,顯示該城市的時(shí)間。文本框下面的城市名稱也做相應(yīng)的變化。在鍵盤上按“確定”鍵,則可以修改文本框內(nèi)的時(shí)間即修改系統(tǒng)時(shí)間,修改完后再“確定”鍵,本次修改就成功了。當(dāng)前選擇的城市序號(hào)在LED上顯示出來。例如,“

5、1”代表北京,“2”代表紐約。如果選擇的城市變化后,LED上顯示的值也做相應(yīng)的變化。2需求規(guī)定 2.1運(yùn)行環(huán)境驅(qū)動(dòng)配置USB驅(qū)動(dòng)鍵盤驅(qū)動(dòng)沒考慮可能的軟件、硬件故障以及對(duì)各項(xiàng)性能而言所產(chǎn)生的后果和對(duì)故障處理的要求。3、運(yùn)行環(huán)境規(guī)定操作系統(tǒng)W操作系統(tǒng)windows xp開發(fā)平臺(tái)EVC,Wince定制平臺(tái)EmbestIDE Pro for ARM串行口,并行口,RJ-45接口三、詳細(xì)設(shè)計(jì)1、程序處理流程主任務(wù)首先創(chuàng)建用來顯示城市名稱的列表框和用來顯示時(shí)間的文本框控件,然后進(jìn)入一個(gè)無限循環(huán)等待鍵盤掃描任務(wù)發(fā)來的消息,并根據(jù)相應(yīng)的按鍵對(duì)系統(tǒng)時(shí)間進(jìn)行修改。 Rtc_Disp_Task任務(wù)首先判斷當(dāng)前要顯示

6、的是哪一個(gè)程序的時(shí)間,然后對(duì)該城市時(shí)間進(jìn)行換算,并計(jì)算出圖形時(shí)鐘的秒、分、時(shí)針的位置,最后根據(jù)計(jì)算的結(jié)果進(jìn)行相應(yīng)的圖形和文本顯示,具體流程參見右圖。2、WINCE系統(tǒng)定制設(shè)計(jì)添加鍵盤模塊添加USB驅(qū)動(dòng)添加MFC模塊添加Framework模塊3、世界時(shí)鐘界面設(shè)計(jì)界面左邊是一個(gè)列表框,右邊是一個(gè)時(shí)間顯示去,上面用圖形的方式顯示當(dāng)前時(shí)間,在下方有一個(gè)文本框,文本框中顯示時(shí)間,格式如“08:20:00”,最下方是兩張貼圖,一個(gè)顯示城市名稱,一個(gè)顯示相應(yīng)城市的圖片,LED顯示所選擇的是第幾個(gè)城市。4、世界時(shí)鐘功能設(shè)計(jì)用觸摸屏來選擇需要的城市。按“確定”鍵,可以通過鍵盤輸入新的系統(tǒng)時(shí)間,輸入之后,再按“確

7、定”鍵保存所做的修改,按“取消”所做的修改??梢酝ㄟ^觸摸屏自由選擇需要顯示時(shí)間的城市名稱。本程序列表框可供選擇的城市有5個(gè)。當(dāng)選好城市后,該城市名高亮顯示,同時(shí)以圖形方式和文本方式顯示的時(shí)間做相應(yīng)的變化,顯示該城市的時(shí)間。文本框下面的城市名稱也做相應(yīng)的變化。在鍵盤上按“確定”鍵,則可以修改文本框內(nèi)的時(shí)間即修改系統(tǒng)時(shí)間四、實(shí)現(xiàn)1、定制WINCE1. 單擊“File”菜單下的“Manage Catalog Features”2. 單擊“File”菜單下的“New Platform”3. 在對(duì)話框“New Platform WizardStep2”中單選“EMBEST EDUKIT240:ARMV4

8、I”4. 在對(duì)話框“New Platform WizardStep3”中單選“Mobile Handheld”,平臺(tái)名取為“HLW”5. 在對(duì)話框“New Platform WizardStep4”中勾選上“Standard SDK for Windows CE.NET ”6. 點(diǎn)擊“Next”,進(jìn)入對(duì)話框“New Platform WizardStep5”7. 點(diǎn)擊“Next”,進(jìn)入對(duì)話框“New Platform WizardStep6”8. 點(diǎn)擊“Next”,進(jìn)入對(duì)話框“New Platform WizardStep7”9. 為我們定制的平臺(tái)添加所需的驅(qū)動(dòng),如下圖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. 驅(qū)動(dòng)添加完畢,點(diǎn)擊“Platform”菜單中的“Settings”菜單項(xiàng),對(duì)“Build Options”11. Build Platform 編譯完成12. 配置SDK,如圖:圖3.1.11(a)圖3.1.11(b)圖3.1.11(c)1(d)13. 點(diǎn)擊“Platform”菜單中的“Bulid SDK”2所示圖3.1.12(a)2(b)2(c)2、燒寫WINCE硬件與軟件環(huán)境EduKit-III實(shí)驗(yàn)平臺(tái)(S3C2410子板+平臺(tái)主板)、PowerICE 仿真器(這里以Powe

10、rICE為例)、串口線、網(wǎng)線等。Windows XP、Embest IDE集成開發(fā)環(huán)境、PB4.2開發(fā)環(huán)境、Flash programmer。下載前說明在燒寫與下載系統(tǒng)鏡像時(shí),需要用到本說明文檔同級(jí)目錄下的NBOOT_EDUKIT2410里的工具以及配置文件S3C2410&NandFLash.cfg,請(qǐng)把它們拷貝到一個(gè)不帶有空格字符的路徑,比如放在某盤的根目錄下。燒寫EduKit2410_nboot.bin文件是EduKit2410實(shí)驗(yàn)平臺(tái)的啟動(dòng)代碼,它負(fù)責(zé)加載并運(yùn)行固化在Nandflash中的操作系統(tǒng)映像文件。用串口線連接實(shí)驗(yàn)板的UART1與PC機(jī)的串口,在PC機(jī)上打開串口監(jiān)控軟件D

11、NW或者PC機(jī)自帶的超級(jí)終端軟件。這里以打開DNW為例,點(diǎn)擊“Configuration”,設(shè)置波特率為115200;然后點(diǎn)擊“Serial Port”,選擇“Connect”。將實(shí)驗(yàn)子板S3C2410插到主板的連接器上,短接子板S3C2410的跳線 SW104;在實(shí)驗(yàn)主板上短接SW402,SW403的1與2。連接仿真器到實(shí)驗(yàn)平臺(tái),這里以PowerICE為例。在PC機(jī)上打開文件夾NBOOT_EDUKIT2410里的NBOOT_EDUKIT2410.pjf文件,通過EmbestIDE打開了該工程。這個(gè)工程包含了Edukit2410的Nboot啟動(dòng)源碼。編譯這個(gè)工程:點(diǎn)擊“Build”“Rebui

12、ld All”。編譯成功后,在Embest IDE集成開發(fā)環(huán)境的主菜單中選擇“Tools” ”Elf to Bin”。從Embest IDE的主菜單中選擇“Tools” “Flash Programmer”,或者直接從“開始”菜單中選擇“Embest Tools”,運(yùn)行“Embest online flash programmer for ARM”。如下圖5.12:“File” “Open”,然后選擇打開配置文件“”。選擇要燒寫的文件。這里要燒寫的文件位于.NBOOT_EDUKIT2410debug下的EduKit2410_nboot.bin。操作如下圖4.13:在flash programm

13、er的主菜單中點(diǎn)擊”Settings” “Configuration”,配置如下圖4.14界面,然后點(diǎn)擊OK。在Flash Programmer右邊的方框中點(diǎn)擊“Program”。如果燒寫失敗,請(qǐng)檢查電源是否打,連接是否正確,然后再重試剛才的步驟。燒寫成功后,會(huì)提示燒寫成功,如下圖5.15中的藍(lán)色字體。燒寫成功后,關(guān)閉Flash programmer,復(fù)位目標(biāo)板,會(huì)看到串口的輸出信息。如下圖:下載Eboot.nb0到內(nèi)存(要連接網(wǎng)線)將串口線改為連接實(shí)驗(yàn)板的UART0,其它連接配置不變。在上面打開的NBOOT_EDUKIT2410.pjf工程中,在Embest IDE環(huán)境中選擇“Project

14、” ”Settings”,進(jìn)行如下配置:選擇”Processor”,配置如下圖:在圖5.17中選擇Remote,如下配置:在圖5.18中選擇Debug,在“Action after connected”選中“Command script”,然后選擇腳本文件,腳本文件為NBOOT_EDUKIT2410目錄下的2410boot.cs文件。具本路徑與你的NBOOT_EDUKIT2410目錄存放路徑有關(guān)。比如,我的NBOOT_EDUKIT2410存放在M盤下。然后在Category下拉菜單處選擇”Download”,在“Download file”處選擇要下載的文件,該文件為你編譯Wince系統(tǒng)鏡像后

15、生成的Eboot.nb0,具體路徑跟你定制的操作系統(tǒng)的存放路徑有關(guān)。在Download address處填“0x30038000”。然后點(diǎn)擊OK返回。在Embest IDE開發(fā)環(huán)境的主菜單中點(diǎn)擊“Debug”“Remote Connect”,將會(huì)在Embest IDE的輸出窗口看到連接信息,如下圖:在連接正常后,在Embest IDE主菜單中點(diǎn)擊“Debug”“Download”,將會(huì)開始下載。當(dāng)下載完成后,將會(huì)在Embest IDE開發(fā)環(huán)境中看到藍(lán)色條字符“Info: download completed”。然后點(diǎn)擊“Debug”“Go”,然后馬上點(diǎn)擊PC機(jī)上的串口監(jiān)控軟件“DNW”,在PC

16、機(jī)的鍵盤上敲擊空格鍵。將會(huì)在DNW窗口中看到如下輸出信息:在圖5.22中,按下面所述進(jìn)行配置:(所有選擇都是通過PC鍵盤操作)選擇“1”配置IP address,注意與PC 機(jī)的IP 地址在同一個(gè)子網(wǎng)內(nèi)(如PC 機(jī)為 則IP address 可設(shè)為255);比如我輸入25 輸入好IP后,按回車鍵;接下來配置子網(wǎng)掩碼,設(shè)置為,輸入完后,按回車鍵;選擇“6”,使能把系統(tǒng)映像燒寫到NandFlash中去;選擇“7”,把Mac 地址配置為:8.9a.bc,輸入完后,按回車鍵;選擇

17、“W”,將以上設(shè)置保存;選擇“F”,將NandFlash 低級(jí)格式化(不會(huì)格式化NandFlash 的前10 塊)選擇“9”,將NandFlash 邏輯格式化為BINFS 格式,操作時(shí)間會(huì)比較長(zhǎng)(大約3分鐘左右);(注意查看B選項(xiàng),應(yīng)該為ENABLED)后的選擇界面為:(其中IP地址根據(jù)實(shí)際情況設(shè)置)激活DNW窗口,然后在PC鍵盤上選擇D鍵,將會(huì)下載映像文件。接下來設(shè)置Platform Builder4.2 的Remote Connection,打開PB4.2,然后打開你所定制的操作系統(tǒng)映像工程:(注意,在下載前請(qǐng)確保你已經(jīng)編譯了你的工程并生成了NK.bin文件。點(diǎn)擊Target ->C

18、onfigure Remote Connection;分別選擇Download 及kernel 的通信方式為Ethernet;點(diǎn)擊Download 或kernel后 的Configure.后,會(huì)顯示EDUKIT241039612,選中即可;點(diǎn)擊OK返回;點(diǎn)擊Target 菜單下的Download/Initialize,開始下載操作系統(tǒng)鏡像;當(dāng)下載完成后,接下來會(huì)把系統(tǒng)映像燒寫到nandflash中去,等待一會(huì)。當(dāng)燒寫完成后,會(huì)看到DNW窗口的輸出信息。然后會(huì)看到目標(biāo)板上的Wince系統(tǒng)運(yùn)行起來。3、EVC編寫世界時(shí)鐘我們采用EVC來編寫應(yīng)用程序。打開EVC,打開File菜單并單擊New菜單項(xiàng),

19、在彈出的對(duì)話框的“Project”選項(xiàng)卡中,選擇“WCE MFC AppWizardexe”,在右邊的項(xiàng)目名中輸入“Notepad”,在下面“CPUs”中選擇“WIN32WCE emulator”和“WIN32WCE X86”。在對(duì)話框“WCE MFC AppWizard(exe)Step 1 of 4”中選擇“Single document”和“Document/View architecture support?”。在對(duì)話框“WCE MFC AppWizard(exe)Step 2 of 4”中單選“CommandBar with toolbar buttons”,然后在下面的最近文件列表

20、中輸入0,表示不加入最近操作的文件列表功能。工具欄按鈕可以設(shè)置大些。在對(duì)話框“WCE MFC AppWizard(exe)Step 4 of 4”中單擊“CNotepadView”,在下面“Base class”下拉框中選擇“CEditView”,然后單擊“Finish”按鈕。單擊EVC菜單Project|Settings,在彈出的對(duì)話框的“Resources”選項(xiàng)卡中,將“Language”設(shè)置成“中文中國”,這只是設(shè)置資源文件的語言種類為中文。還要就將EVC的“Workspace”的資源類型設(shè)置為中文。然后右鍵單擊“Resources”中Dialog|IDD_ABOUTBOX,在彈出的菜單

21、中單擊“Properties”,在彈出的對(duì)話框中的“Language”下拉框中選擇“ChineseP.R.C”,然后再輸入中文。4、關(guān)鍵代碼在列表框中顯示自定義的文字static charfilename910=“Beijing”,”Newyork”,”Tehela”,”Paris”,”Tokyo”;for(i=0;i<=4;)strchar2unicode(Ufilename,filenamei);/將文件名轉(zhuǎn)換成UnicodeAddstringListCtrl(pMainLisCtrl,Ufilename);/向列表框中添加表項(xiàng)Strcpy(VmpFilei,filenamei);/

22、將文件名存入文件名數(shù)組Strncat(BmpFilei+,FileExName,3);時(shí)間的計(jì)算K=k-780;If(k<0)/去掉時(shí)間差k=k+1440;Else if (k>=1440)(k=k-1440;)else(;)hour=(k/60);minute(k%60);指針位置的計(jì)算和顯示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);五、實(shí)驗(yàn)體會(huì)第一次接觸嵌入式開發(fā),感覺整條開發(fā)的道路非??部溃幌胍郧霸赬86 PC機(jī)上寫應(yīng)用程序那么輕松。剛開始的時(shí)候是取得一大堆文檔和資料,然后按部就班地照著資料去做。不過以前也學(xué)過操作系統(tǒng),對(duì)于系統(tǒng)的架構(gòu)和一些基本的運(yùn)行原理,也懂一些。因此知道Wince燒進(jìn)芯片的時(shí)候,需要bootloader引導(dǎo),就比如平時(shí)PC機(jī)上用的MBR一樣。整個(gè)開發(fā)流程中,我們覺得最輕松的就是定制Win

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論