一種電梯緩沖器復位時問測試儀的設計
3.1定制操作系統(tǒng)
本文引用地址:http://www.ex-cimer.com/article/275211.htm為了把Windows CE移植到特定的目標平臺上,微軟提供了一套完整的開發(fā)工具Platform Builder.該工具以對象庫格式提供給操作系統(tǒng),以便開發(fā)人員可以將其作為特定操作系統(tǒng)平臺的組件。
首先,選擇造作系統(tǒng)的基本配置,并且為特定的平臺選擇相應的微處理器和板級支持包BSP(Board Suppor Packet)。BSP板級支持包(board support package),是介于主板硬件和操作系統(tǒng)中驅動層程序之間的一層,一般認為它屬于操作系統(tǒng)一部分,主要是實現對操作系統(tǒng)的支持,為上層的驅動程序提供訪問硬件設備寄存器的函數包,使之能夠更好的運行于硬件主板。在嵌入式系統(tǒng)軟件的組成中,就有BSP.BSP是相對于操作系統(tǒng)而言的,不同的操作系統(tǒng)對應于不同定義形式的BSP,例如VxWorks的BSP和Linux的BSP相對于某一CPU來說盡管實現的功能一樣,可是寫法和接口定義是完全不同的,所以寫B(tài)SP一定要按照該系統(tǒng)BSP的定義形式來寫(BSP的編程過程大多數是在某一個成型的BSP模板上進行修改)。這樣才能與上層OS保持正確的接口,良好的支持上層OS.本測試儀采用S3C2410處理器,因此我們改造了微軟提供的基于S3C2410的BSP,自定義了符合我們要求的BSP.
其次,制定平臺,在此階段可開發(fā)設備驅動,適當地裁剪、添加組件。然后,封裝所需的各功能模塊,編譯生成OS鏡像文件。接著,把鏡像文件下載到目標設備,進行調試。
最后,導出定制操作系統(tǒng)的SDK(Soltware Development Kit)軟件開發(fā)工具包,安裝到EVC中,便可以進行基于我們定制的測試儀硬件平臺的應用程序開發(fā)。如圖4所示為操作系統(tǒng)移植流程圖:
圖4 操作系統(tǒng)移植流程圖
3.2應用軟件開發(fā)
操作系統(tǒng)的主要任務是為了管理所有硬件資源,并且提供應用軟件一個合適的操作環(huán)境。將Windows CE操作系統(tǒng)移植到ARM平臺上以后,下一步工作就是進行應用軟件的開發(fā)。本系統(tǒng)的上位機軟件主要在EVC的環(huán)境下開發(fā)完成,使用C語言為主要編程語言。
3.2.1串口通訊協議說明
模塊串口波特率9600,無奇偶效驗,一位停止位??刂泼钔ㄟ^一致的幀結構通訊,幀長度4字節(jié):命令+數據0+數據1+校驗和。效驗和=命令+數據0+數據1的相加和的低8位。系統(tǒng)通過上位機串口直接對下位機模塊進行操作。上位機向下位機發(fā)送啟動16位距離讀取命令:Ox22+度數+NC+SUM.當測量完畢時,這時返回的數據是:Ox22+距離高+距離低+SUM;當測量無效時返回的距離高位和低位數據都是Oxff.(注:NC代表任意數據,SUM代表效驗和)串行端口在Windows CE下屬于流接口設備,是串行設備接口常規(guī)I/O驅動程序的調用與通信相關的具體函數的結合。串行設備被視為用于打開、關閉和讀寫串行端口的常規(guī)的可安裝的流設備。Windows CE的串口函數和Windows的串口函數基本相同,但有幾點值得注意:Windows CE只支持Unicode字符集,在編程時必須特別注意;Windows CE不支持重疊的I/O操作。在所有的流設備驅動程序中,均使用CreateFile來打開串行端口設備,如果這個端口不存在,CreateFile返回ERROR_FILE_NOT_FOUND.
關閉串行端口比較簡單,調用CloseHandle函數就能關閉一個打開的串行端口。CloseHandle只有一個參數,即調用CreateFile函數打開端口時返回的句柄,方法如下:
CloseHandle(hPort);
正如使用CreateFile打開串行端口一樣,可以使用ReadFile和WriteFile函數來讀寫串行端口。假設已經調用CreateFile成功地打開了串行端口,那么只需調用ReadFile即可從串行端口讀取數據:
評論