




已閱讀5頁,還剩68頁未讀, 繼續免費閱讀
(計算機軟件與理論專業論文)基于嵌入式系統的電子郵件及聊天功能的設計與實現.pdf.pdf 免費下載
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
查些查蘭塑主蘭堡壘查 塑墨 基于嵌入式系統的電子郵件及聊天功能的設計和實現 摘要 隨著i t 技術的日益發展 嵌入式設備的功能越來越強大 嵌入式設備決不 再只是充當一個小小的個人信息管理工具了 更重要的是可以上網瀏覽 收發郵 件 在線聊天等 然而就目前國內市場來說 并不是所有的嵌入式設備都具備以 上所有的功能 即使具備 也可能由于缺乏相應的服務而不能實現 但可以預見 嵌入式設備發展的趨勢和潮流就是計算 通信 網絡 存儲等功能的融合 目前市場上大多數的嵌入式系統都是商業化產品 價格昂貴 因此在開發過 程中有必要使用一個模擬器 使得在p c 上可以模擬一個嵌入式設備 在p c 機上 可以方便的開發和測試程序 并且可以幫助工程師快速的進行分析和改進 提高 了工作效率和降低了項目的開發成本 在嵌入式操作系統的領域中 l i n u x 以其特有的魅力得到了眾多開發商的親 睞 l i n u x 這些特性包括可以移植到多個同結構的c p u 和硬件平臺上 有很好的 穩定性以及各種性能的升級能力 本文一開始對嵌入式技術作了簡潔的介紹 并概括闡述了當前嵌入式系統的 開發環境的類型以及各自的特點 然后針對大家都很熟悉的t c p i p 協議進行了簡 單的描述 在第二章 針對介紹本論文所應用到嵌入式系統開發環境作了一個簡 單的介紹 第三章主要介紹了在一個嵌入式系統模擬器下設計和實現電子郵件功 能 并且實現的系統具有高實時性和高效率的特點 滿足嵌入式系統的特點 第 四章是對在上述模擬器上設計和實現聊天功能的描述 第五章主要介紹了在嵌入 式l i n u x 下設計和實現電子郵件功能 在最后的第六章是對本論文的總結和進一步 工作的展望 關鍵詞嵌入式系統模擬器t c p i p 電子郵件 i i 東北大學碩士學位論文 a b s t r a c t t h e d e s i g n a n d i m p l e m e n t a t i o n o fe m a i la n dc h a tf u n c t i o n b a s e do ne m b e d d e d s y s t e m a b s t r a c t w i t h 也e d e v e l o p m e n to f t h ei n f o r m a t i o n t e c h n o l o g y t h e f u n c t i o no ft h e e m b e d d e dd e v i c ei sb e c o m i n gm o r ea n dm o r e p o w e r f u l i ti sn o to n l yu s e da sp e r s o n a l i n f o m l a t i o nm a n a g e r b u ta l s ou s e dt ob r o w s et h ew e b s i t e s r e c e i v ea n ds e n de m a i l c h a t a n ds oo n a n di nt h eh o m em a r k e ta tt h ep r e s e n tt i m e n o ta 1 1t h ed e v i c e sh a v et h e s e f u n c t i o n s b u ti tc a nb ef o r e s e e nt h a ti ti sa t e n d e n c yf o rt h ee m b e d d e dd e v i c et ob e e q u i p p e d t h ea b i l i t i e so f c o m p u t e r c o m m u n i c a t i o n n e t w o r k a n ds t o r a g e a t p r e s e n t m o s to f t h ee m b e d d e ds y s t e r n sa r ev e r ye x p e n s i v e i no r d e r t oc u td o w n t h ec o s to fd e v e l o p m e n t i ti s v e r yn e c e s s a r yt ou t i l i z eas i m u l a t o rt os i m u l a t et h e e m b e d d e d s y s t e m sa c t i o n sa tf i r s t a l s ow i t l lt h es i m u l a t o r t h ed e v e l o p e rc a r ld e v e l o p t e s ta n da n a l y z et h ec o d eq u i e k l v i nt h ee m b e d d e do s r e g i o n l i n u xi sw e l c o m eb ym a n yp r o d u c e r sb e c a u s el i n u x h a sf o l l o w i n gc h a r a c t e r ss u c ha s e a s i l yp o r t a b i l i t y s u p p o r t i n gm a n yd i f f e r e n tc p u a r c h i t e c t u r e s s t a b i l i t ya n de a s i l yb e i n gu p g r a d e d a n d o p e n r e s o u r c ep o l i c y a tt h eb e g i n n i n go ft h et h e s i s e m b e d d e dt e c h n o l o g yi si n t r o d u c e dc o m p a c t l y e s p e c i a l l ye m p h a s i so nt h et y p e so f e m b e d d e ds y s t e md e v e l o pe n v i r o n m e n t s t h e nt h e w e l l k n o w nt c p i pp r o t o c o li s s i m p l ed i s c u s s e d i nt h es e c o n dc h a p t e r t h ed e v e l o p e n v i r o n m e n t su s e di nt h et h e s i sa r es t a t e d i nt h et i f f r d c h a p t e r t h ed e s i g na n d i m p l e m e n to fe m a i li no n ee m b e d d e ds y s t e m ss i m u l a t o r a r ed e s c r i b e d t h e s em o d u l e s m a t d e s i g n e da r es oe f n t i e n ta n d r e a l t i m et h a ti ti ss u i tf o ra ne m b e d d e d s y s t e m i nt h e f o r t hc h a p t e r t h ed e s i g na n di m p l e m e n to fe m a i li nt h ee m b e d d e ds y s t e m ss i m u l a t o r a r ed e s c r i b e d i nt h ef i f t hc h a p t e r t h ed e s i g na n di m p l e m e n to fe m a i lf u n c t i o ni nt h e e m b e d d e dl i n u xa r ed e s c r i b e d a tt h ee n d as u m m a r yo ft h i st h e s i si sm a d ea n ds o m e f u t u r ee x p e c t a t i o n sa r ep r e s e n t e di nt h es i x t hc h a p t e r k e y w o r d se m b e d d e d s y s t e m s i m u l a t o r t c m 只e m a i l i 聲明 本人聲明所呈交的學位論文是在導師的指導下完成的 論文中取 得的研究成果除加以標注和致謝的地方外 不包含其他人已經發表或 撰寫過的研究成果 也不包括本人為獲得其他學位而使用過的材料 與我一同工作過的同志對本研究所做的任何貢獻均已在論文中作了明 確的說明并表示謝意 本人簽名 日期 t 砷搬 v 卑 o 東北大學碩士學位論文第一章引言 第一章引言 隨著i t 信息 技術的飛速發展 特別是互聯網的迅速普及 3 c 計算機 通訊 消費電子 合一的加速 數字化時代已經來臨 嵌入式系統是數字化時代 的一大主流產品 世界各國在此領域開始了激烈競爭 以爭取獲得主導地位 嵌 入式系統是數字化產品的核心 為適應嵌入式分布處理結構和應用上網需求 面向2 1 世紀的嵌入式系統要求 配備標準的一種或多種網絡通信接口 針對外部聯網要求 嵌入設備必需配有通 信接口 相應需要t c p i p 協議族軟件支持 由于家用電器相互關聯 如防盜報警 燈光能源控制 影視設備和信息終端交換信息 及實驗現場儀器的協調工作等要求 新一代嵌入式設備還需具備i e e e l 3 9 4 u s b b l u e t o o t h 或i r d a 通信接口 同時 也需要提供相應的通信組網協議軟件和物理層驅動軟件 為了支持應用軟件的特 定編程模式 如w e b 或無線w e b 編程模式 還需要相應的瀏覽器 如h t m l w m l 等 可以想象 如果一個體積很小的嵌入式系統能夠進行收發郵件 在線聊 天 h r r p 通信 將是一件多么美妙的事情啊 但是現在大多數的嵌入式系統都是商業化產品 價格昂貴 所以嵌入式系統 開發前期投入比較大 開發工具投入高 為了改變這種狀況 有必要設計一個模 擬器 使得在p c 上可以模擬一個嵌入式設備 在p c 機上可以方便的開發和測試 程序 并且可以幫助工程師快速的進行分析和改進 提高了工作效率和降低了項 目的開發成本 隨著自由軟件理念日益為大眾廣為接受 一批自由軟件在i t 的各個領域取得 了巨大成功 l i n u x 是其中最具代表性的一個 其自由 開放的特性吸引了大批軟 件廠商和獨立開發人員 多年的發展和業界同仁的共同努力已使其成為高效 穩 定 低成本的操作系統 而且由于l i n u x 開放源代碼 任何人都可以對其進行裁減 修改 以適應自行開發的需要 1 1 嵌入式系統概述 1 1 1 嵌入式系統的定義 嵌入式系統是指同時將操作系統和功能軟件集成于計算機硬件系統之中的一 種系統 簡單的說就是應用軟件 操作系統和硬件系統一體化 類似于b o s 的工 作方式 具有代碼小 高度自動化 響應速度快的特點 特別適合于要求實時的 和多任務的體系 東北大學碩士學位論文第一章引言 嵌入式系統最初是指用以控制設備的計算機 通常是在葭備內部 為了控制 設備行為或是嵌入在其它系統中的一種專用軟件和硬件 它一旦啟動就執行某一 特定的程序 中間無需人工干預 直到關機為止 但通常要求具有實時響應能力 一般不要求復雜的用戶界面 甚至不要求支持鍵盤 顯示器 串行口 硬盤等鄉卜 設接口 也不需用戶進行二次開發 它被廣泛地用于儀器儀表 工業控制設各 電梯 程控交換機 微波設備 交通燈 家用電器等設備中 近年來 隨著信息 技術的飛速發展 嵌入式系統具有了新的內涵 同時萌生了許多形態各異的接入 設備 如手持電腦 可上網的無線移動手機 機頂盒 家庭網關 可上網的電視 機 可上網的車載盒 智能家用電器等等 相應地對嵌入式軟件也提出了與最初 不同的要求 1 1 2 嵌入式系統的特點 嵌入式系統的所有特點都是體現在 嵌入 這個詞上 既然要嵌入就必須 要要嵌入的主體和嵌入的客體 從這些特點中也要能區分出嵌入式系統與普通通 用的系統的差別 總體來說 嵌入式計算機系統同通用型計算機系統相比具有以 下特點 3 0 1 1 嵌入式系統通常是面向特定應用的 嵌入式c p u 與通用型的最大不同就 是嵌入式c p u 大多工作在為特定用戶群設計的系統中 它通常都具有低功耗 體 積小 集成度高等特點 能夠把通用c p u 中許多由板卡完成的任務集成在芯片內 部 從而有利于嵌入式系統設計趨于小型化 移動能力大大增強 跟網絡的耦合 也越來越緊密 2 嵌入式系統是將先進的計算機技術 半導體技術和電子技術與各個行業的 具體應用相結合后的產物 這一點就決定了它必然是一個技術密集 資金密集 高度分散 不斷創新的知識集成系統 3 嵌入式系統的硬件和軟件都必須高效率地設計 量體裁衣 去除冗余 力 爭在同樣的硅片面積上實現更高的性能 這樣才能在具體應用中對處理囂的選擇 更具有競爭力 4 嵌入式系統和具體應用有機地結合在一起 它的升級換代也是和具體產品 同步進行 因此嵌入式系統產品一旦進入市場 具有較長的生命周期 5 為了提高執行速度和系統可靠性 嵌入式系統中的軟件一般都固化在存儲 器芯片或單片機本身中 而不是存貯于磁盤等載體中 f 6 嵌入式系統本身不具備自行開發能力 即使設計完成以后用戶通常也是不 能對其中的程序功能進行修改的 必須有一套開發工具和環境才能進行開發 2 東北大學碩士學位論文第一章引言 1 1 3 嵌入式系統開發需要的開發工具和環境 通用計算機具有完善的人機接口界面 在上面增加一些開發應用程序和環境 即可以對自身的開發 而嵌入式系統本身不具備自我開發能力 即使設計完成后 用戶通常也是不能對其中的程序功能進行修改的 必須有一套開發工具和環境才 能進行開發 這些工具和環境一般是基于通用計算機上的軟硬件設備以及各種邏 輯分析儀 混合信號示波器等 嵌入式處理器是一個復雜的高科技系統 要在短時間內掌握并開發出所有功 能是很不容易的 而市場競爭則需要產品能夠快速上市 這一矛盾需要嵌入式處 理器能夠有容易掌握和使用的開發工具平臺 提高用戶和程序員的時間投入回報 率 目前嵌入式系統的開發工具平臺主要包括下面幾類 1 實時在線仿真系統i c e i t c i r c u i te m u l a t o r 直到計算機輔助設計非常發達的今天 實時在線仿真系統仍是進行嵌入式系 統調試最有效的開發工具 i c e 首先可以通過實際執行 對應用程序進行原理性檢 驗 排除以人的思維難以發現的設計邏輯錯誤 i c e 的另一個主要功能是在應用系 統中仿真硬件的實時執行 發現和排除由于硬件干擾等原因引起的異常執行行為 此外 高級的i c e 帶有完善的跟蹤功能 可以將應用系統的實際狀態變化 硬件 的狀態變化的反應等以一種錄像的方式連續紀錄下來 以供分析 在分析中優化 控制過程 很多機電系統難以建立一個精確有效的數學模型 或建立模型需要大 量人力 這時采用i c e 的跟蹤功能對系統進行紀錄和分析是一個快而有效的方法 2 高級語言編譯器 c o m p i l e r c 語言作為一種通用的高級語言 大幅度提高了嵌入式系統工程師的工作效 率 使之能夠充分發揮出嵌入式處理器日益提高的性能 縮短產品進入市場的時 間 另外c 語言便于移植和修改 使產品的升級和繼承更迅速 更重要的是采用 c 語言編寫的程序易于在不同的開發者之間進行交流 從而促使嵌入式系統開發的 產業化 區別于一般計算機中的c 語言編譯器 嵌入式系統中的c 語言編譯器要專門 進行優化 以提高編譯效率 優秀的嵌入式系統c 編譯器代碼長度和執行時間僅 比匯編語言編寫的同樣功能程序長5 2 0 編譯質量的不同 是區別嵌入式c 編 譯器工具的重要指標 而c 編譯器與匯編語言工具相比殘余5 2 0 效率的差別 完全可以由現代微控制器的高速度 大存儲空間以及產品提前進入市場的優勢來 彌補 新型的微控制器指令的速度不斷提高 存儲器空間也相應加大 已經達到甚 至超過目前的通用計算機中的微處理器 為嵌入式系統工程師采用過去一直不敢 3 東北大學碩士學位論文第一章引言 問津的c 語言創造了條件 c 抖語言強大的類 繼承等功能更便于實現復雜的程 序功能 但是c 語言為了支持復雜的語法 在代碼生成效率方面不免有所下降 為此 1 9 9 5 年初在日本成立了e m b e d d e dc 技術委員會 他們針對嵌入式應用制 定了減小代碼尺寸的e c 標準 e c 保留了c r 的主要優點 提供對c 的向 上兼容性 并滿足嵌入式系統設計的一些特殊要求 c c e c 引入嵌入式系統 使得嵌入式開發和個人計算機上的開發上的差別 正在逐漸消除 軟件工程的很多經驗 方法乃至庫函數都可以移植到嵌入式系統 在嵌入式開發中采用高級語言 還使得硬件開發和軟件開發可以分工 從事嵌入 式軟件開發不再必須精通系統硬件和相應的匯編語言指令集了 另 種高級語言 j a v a 的發展則具有戲劇性 j a v a 本來是為設備獨立的嵌 入式系統設計的 為了提高程序繼承性的語言 但是目前基于j a v a 的嵌入式開發 工具代碼生成長度要比嵌入式c 編譯工具差l o 倍以上 因此e c 很可能將是未 來的主流工具 3 源程序模擬器 模擬器是在廣泛使用的 入機接口完備的工作平臺上 如小型機和p c 通過 軟件手段模擬執行為某種嵌入式處理器內核編寫的源程序測試工具 簡單的模擬 器可以通過指令解釋方式逐條執行源程序 分配虛擬存儲空間和外設 供程序員 檢查 高級的模擬器可以利用計算機的外部接口模擬出處理器的i o 電氣信號 不 同檔次和功能模擬器工具價格差距很大 模擬器軟件獨立于處理器硬件 一般與編譯器集成在同一個環境中 是一種 有效的源程序檢驗和測試工具 但值得注意的是 模擬器畢竟是以一種處理器模 擬另一種處理器的運行 在指令執行時間 中斷響應 定時器等方面很可能與實 際處理器有相當的差別 另外它無法和i c e 一樣 仿真嵌入式系統在應用系統中 的實際執行情況 本論文的開發首先就是在源程序模擬器上進行開發和調試的 4 實時多任務操作系統 r e a jt i m em u l t i t a s k i n go p e r a t i o ns y s t e m r t o s 實時多任務系統是嵌入式應用軟件的基礎和開發平臺 目前在中國大多數嵌 入式軟件開發還是基于處理器直接編寫 沒有采用商品化的r t o s 不能將系統軟 件和應用軟件分開處理 r t o s 是一段嵌入在目標代碼中的軟件 用戶的其他應用 程序都建立在r t o s 之上 不但如此 r t o s 還是一個可靠性和可信性很高的實時 內核 將c p u 時間 中斷 y o 定時器等資源都包裝起來 留給用戶一個標準的 a p i 并根據各個任務的優先級 合理地在不同任務之間分配c p u 時間 r t o s 是針對不同處理器優化設計的高效率實時多任務內核 優秀商品化的 r t o s 可以面對幾十個系列的嵌入式處理器的a p i 接口 這是r t o s 基于設備獨立 d 東北大學碩士學位論文第一章引言 的應用程序開發基礎 因此基于r t o s 上的c 語言程序具有極大的可移植性 據專家測算 優秀r t o s 上夸處理器平臺的程序移植之需要修改l 5 的內容 在 r t o s 基礎上可以編寫出各種硬件驅動程序 專家庫函數 行業庫函數 產品庫 函數 和通用性應用程序一起 可以作為產品銷售 促進行業內的知識產權交流 因此r t o s 又是一個軟件開發平臺 本論文在嵌入式l i n u x 下設計和實現了e m a i l 功能 1 2t c p i p 協議族 t c p i p 是用于計算機通信的一組協議 我們通常稱它為t c p i p 協議族 它是 7 0 年代中期美國國防部為其a r p a n e t 廣域網開發的網絡體系結構和協議標準 以它為基礎組建的i n t e r n e t 是目前國際上規模最大的計算機網絡 正因為 i n t e r n e t 的廣泛使用 使得t c p i p 成了事實上的標準 之所以說t c p i p 是一 個協議族 是因為t c p i p 協議 2 包括t c p i p u d p i c m p r i p t e l n e t f t p s m t p a r p t f l 甲等許多協議 這些協議一起稱為t c p i p 協議 與i s o 的0 s i 七層參考模型不同的是 t c p i p 不是作為標準制定的 而是產生于i n t e m e t 的研究 和應用的實踐中 雖然用o s i 參考模型也可以描述t c p i p 協議 但是兩者在細節 上還是有一些差異 1 2 1t c p i p 協議族分層結構 從協議分層模型方面來講 t c p i p 由五個層次組成 物理層 鏈路層 網絡 層 傳輸層 應用層 由于物理層是純硬件這里不做詳細討論 剩下的四層的結 構如圖1 1 中所示 其中 鏈路層是t c p i p 軟件的最低層 負責接收i p 數據報并通過網絡發送之 或者 從網絡上接收物理幀 抽出i p 數據報 交給i p 層 網絡層負責相鄰計算機之間的通信 其功能包括三方面 1 處理來自傳輸層的分組發送請求 收到請求后 將分組裝入i p 數據報 填充報頭 選擇去往信宿機的路徑 然后將數據報發往適當的網絡接口 2 處理輸入數據報 首先檢查其合法性 然后進行尋徑 假如該數據報已 到達信宿機 則去掉報頭 將剩下部分交給適當的傳輸協議 假如該數據報尚未 到達信宿 則轉發該數據報 3 處理路徑 流量控制 擁塞等問題 傳輸層提供應用程序間的通信 其功能包括 一 格式化信息流 二 提供 5 東北大學碩士學位論文 第一章引言 可靠傳輸 為實現后者 傳輸層協議規定接收端必須發回確認 并且假如分組丟 失 必須重新發送 應用層向用戶提供一組常用的應用程序 比如電子郵件 文件傳輸訪問 遠 程登錄等 遠程登錄t e l n e t 使用t e l n e t 協議提供在網絡其它主機上注冊的接 口 t e l n e t 會話提供了基于字符的虛擬終端 文件傳輸訪問f t p 使用f t p 協議 來提供網絡內機器問的文件拷貝功能 圖1 1t c p i p 協議族分層結構示意圖 7 f i g i 1l a y e r s t r u c t u r eo f t c p i ps u i t e l 1 2 2t c p i p 特點 t c p i p 協議的核心部分是傳輸層的協議 t c p u d p 網絡層協議 i p 和物理 接口層 這三層通常是在操作系統內核中實現 因此用戶一般不涉及 編程時 編程界面有兩種形式 1 1 是由內核心直接提供的系統調用 f 2 使用以庫函數方式提供的各種函數 前者為核內實現 后者為核外實現 用戶服務要通過核外的應用程序才能實 現 所以要使用套接字 s o c k e t 來實現 6 東北大學碩士學位論文第一章引言 圖1 2 是t c p i p 協議核心與應用程序關系圖 直用程序1應用程序2 網絡應用編程界面 s o c k e t t c p i p 核心協議 物理介質 圖1 2t c 剛p 協議與應用程序關系圖嗍 f i g 1 2 r e l a t i o n b e t w e e n t h e t c p i p p r o t o c o l s a n d t h e a p p l i c a t i o n s l 8 1 1 2 3 套接字 s o c k e t s 套接字是網絡通信的基本構件 套接字是可以被命名和尋址的通信端點 使 用中的每一個套接字都有其類型和一個與之相連的進程 套接字存在于通信區域中 通信區域也叫地址族 它是一個抽象概念 主要 用于將通過套接字通信的進程的共有特性綜合在一起 套接字通常只與同一區域 中的套接字交換數據 也有可能跨越區域通信 但這只在執行了某種轉換進程后 才能實現 w i n d o w ss o c k e t s 只支持一個通信區域 網際域 a f i n e t 這個域 被網際協議族通信的進程使用 套接字都具有類型 它是根據用戶可見的通信特征進行分類的 應用程序被 假定為只在同一類型的套接字間通信 不過只要依據的通信協議支持 也完全可 以在不同類型的套接字間通信 w i n d o w ss o c k e t s 版本1 1 支持兩種套接字 面向 連接套接字 s o c ks t r e a m 和無連接套接字 s o c kd g r a m 在w i n d o w s 環境性實現s o c k e t s 是指實現了w i n d o w ss o c k e t s 規范所描述的全 部功能的一套軟件 一般來說 在w i n d o w s 下實現w i n d o w ss o c k e t s 功能都是通 7 東北大學碩士學位論文 第一章引言 過d l l 實現的 并且很多實現是純粹通過d l l 實現的 因此 本文中的w i n d o w s s o c k e t s 實現的提法可以說等價于w i n d o w s s o c k e t sd l l 8 東北大學碩士學位論文第二章系統開發環境介紹 第二章系統開發環境介紹 本論文首先是在一個嵌入式設備的模擬器上實現電子郵件功能和在線聊天功 能 然后把電子郵件功能移植到一個嵌入式l i n u x 系統上去運行 因此本文所應用 到的開發環境有兩個 一是嵌入式系統模擬器 另一是在嵌入式l i n u x 2 1 嵌入式系統模擬器 2 1 1 嵌入式設備和模擬器之間的差異 圖2 1 是嵌入式設備的工作環境 底層是一個嵌入式操作系統 各應用程序 是通過m m i m a n m a c h i n ei n t e r f a c e 程序實現 各個系統設備的消息發送 例如 按鍵 有新郵件等 都是通過此嵌入式操作系統的服務程序 s e r v i c e r o u t i n e 的系統調用實現的 圖2 1 嵌入式設備上的操作環境 f i 9 2 io p e r a t i n ge n v i r o n m e n t o ne m b e d d e dd e v i c e 雖說嵌入式設備的模擬器中的m m1 程序就是在w i n d o w s 模擬開發嵌入式系 統的應用程序 但是進行一些以下改變還是非常有必要的 1 由于由嵌入式0 s 轉變為w i n d o w s0 s 所以消息發送改變為w i n d o w s 進 程間的消息發送處理 2 由于不存在外設 所以要對外圍設備的動作進行模擬 并對外圍設備狀態 的進行監控 考慮上述兩中改變后的環境見圖2 2 9 東北大學碩士學位論文第二章系統開發環境介紹 口進程i 二二 二 w n 應用程序 圖2 2w i n d o w s 上操作環境 f i 9 2 2o p e r a t i n g e n v i r o n m e n to nw i n d o w s 2 1 2 模擬器的構成 嵌入式設備模擬器是在w i n d o w so s 是利用多線程來實現的 由以下三個功能 模塊構成 1 硬件模擬模塊 硬件模擬模塊有以下3 個功能組成 硬件狀態監控 操作模擬 應用程序狀態轉換模擬 f 2 1 事件轉換模塊 把硬件模擬模塊中的各種事件轉換成一個消息 事件 發送給m m i 程序模塊 并且使用一個線程來進行應用程序的管理 3 m m i m a n m a c h i n e i n t e r f a c e 程序模塊 嵌入式設備的實際動作在模擬器應用程序模擬的動作是通過動態連接庫 d 1 1 提供的 完成相應處理 最后給硬件模擬模塊發送一個消息 使硬件模擬模塊進 行相應的操作 這三個功能模塊相互之間的關系見圖2 3 1 0 東北大學碩士學位論文第二章系統開發環境介紹 圖2 3 模擬器功能模塊關聯圖 f i g 2 3r e l a t i o na m o n g t h em o d u l e so f s i m u l a t o r 各個模塊通信過程如下 硬件模擬模塊到事件轉換模塊 各個單獨的應用程序使用s e n d m e s s a g e 函數進行通信 事件轉換模塊到m m i 程序模塊 啟動一個線程進行通信 并發送一個 消息 m m i 程序模塊到硬件模擬模塊 各個單獨的應用程序使用s e n d m e s s a g e 函數進行通信 根據以上分析 可以得到事件處理的時序圖 圖2 4 是按鍵事件發生的時序圖 其它事件的時序圖和他類似 m m i 程序模塊是本嵌入式系統的核心部分 所有的a p p 都是在此進行處理的 這個函數的主要處理過程如下 1 初始化處理 從電源o f f 到電源o n 時的處理過程 a p p l i c a t i o nl i s t 初期化 e m u l a t i o nd e v i c e 初期化 各t a s k 初期化 2 事件取得 用g e t s i m e v e n t 函數取得事件轉換模塊發送來的事件 3 事件解析 根據p o w e r o n o f f 的狀態調用p r o c p o w e r o n o f f 進行事件解析 4 實時控制 根據所解析的事件進行相應的處理 型墮蘭塑主蘭堡壘查 苧三主墾塾塹查塹些坌絲 i 摹鬟鏟ii 鼉鏟l i 模塊 ll 覆塊l li l li ii 嚴u s e m j s q m l 7 l l i備鬻件處理 摹f 牛隊判 l 函憎齄 i l l 日e t i 聰v e n t f i i g e t s i 衛匹v e n t l 1 廣 s e n d l e s s a e0 鬯 圖2 4 按鍵事件發生時序圖 f i g 2 4s e q u e n c ed i a g r a mo f p r e s s i n gk e ye v e n t 2 2 嵌入式l i n u x 嵌入式l i n u x 4 j 則是按照嵌入式操作系統的要求而設計的一種小型操作系統 由一個k e r n e l 內核 及一些根據需要進行定制的系統模塊組成 其k e r n e l 很小 一般只有幾百k b 左右 即使加上其他必須的模塊和應用程序 所需的存儲空間也 很小 它有多任務 多進程的系統特征 有些還具有實時性 一個小型的嵌入式 l i n u x 系統只需要引導程序 l i n u x 微內核 初始化進程3 個基本元素 運行嵌入 式l i n u x 的c p u 可以是x 8 6 a l p h a s p a r c m i p s p p c 等 與這些芯片搭配的 主板都很小 與一張p c i 卡大小相當 有的甚至更小 嵌入式l i n u x 所需的存儲 器不是軟磁盤 硬盤 z i p 盤 c d r o m d v d 這些眾所周知的常規存儲器 它 使用r o m c o m p a c t f l a s h m s y s t e m s 的d i s k o n c h i p s o n y 的m e m o r y s t i c k i b m 的m i c r o d r i v e 等體積極小 與主板上的b i o s 大小相近 存儲容量不太大的存 儲器 它的內存可以使用普通的內存 也可以使用專用的r a m 目前嵌入式l i n u x 的應用非常的廣泛 而且根據相關的調查和專家的分析 嵌入式l i n u x 的應用會越來越多 是什么力量促使嵌入式l i n u x 在這么短的時間就 讓包括一些專家在內的用戶喜歡上它并使用它的呢 嵌入式l i n u x 究竟有什么 1 2 東北大學碩士學位論文第二章系統開發環境介紹 優點是別的嵌入式操作系統無法比擬的昵 經過一些簡單的分析 我們就很容易 得到嵌入式l i n u x 的優點 這些優點是非常明顯但是非常實際的 與其他的嵌入式操作系統相比l i n u x 的優勢在于 l i n u x 源代碼是開放的 強大的網絡功能 靈活性 強大的開發者作后盾 強大的工具集 4 1 3 東北大學碩士學位論文第三章嵌入式系統模擬器下電子郵件的設計和實現 第三章嵌入式系統模擬器下電子郵件的設 計和實現 3 1 基于s m t p 和p o p 3 協議的電子郵件功畿的設計和實現 3 1 1 協議概述 電子郵件是使用最為廣泛的應用層服務之一 許多用戶第一次接觸計算機網 絡就是發送電子郵件到遠端網絡節點或從遠端網絡節點接收電子郵件 t c p i i p 協 議族分開提供郵件報文格式和郵件傳輸的標準 目前 大部分i n t e m e te m a i l 系統 都使用簡單郵件傳輸協議 s i m p l e m a i l t r a n s f e r p r o t o c o ls m t p s m t p 已經成為 應用最廣泛的上層協議之一 s m t p 定義了一臺計算機上的郵件系統如何將郵件傳送到另一臺計算機上 與 大多數t c p i p 協議一樣 s m t p 協議也是一種純粹基于c s 計算機模型的應用層 協議 s m t p 的協議模型包括 個發送器和一個接收器 兩者都要訪問一個文件系 統進行信息存儲 盡管s m t p 并不提供絕對的端到端的可靠性的保障 但它仍然 能夠建立一個可以信賴的信息傳遞系統 因為它是基于t c p 傳輸協議之上的 這 也增加了它的可靠性 電子郵件信息的傳遞可以劃分為幾個階段 這幾個階段均由s m t p 協議模型 支持 如圖3 1 所示 從圖中我們可以看到 郵件是以文件的形式存儲的 對郵件 的操作都可以用文件的操作來完成 郵件發送的具體過程可以分以下四個步驟完 成 第一步 用戶向一個被稱為用戶代理的接口系統內提供輸入信息 這個接口 便于郵件信息的進入 第二步 信息被發送到s e n d e r s m t p 它為該過程分配一個任意的端口號并 與它的同層實體一r e c e i v e r s m t p 通過2 5 端口建立一個t c p 連接 在此連接建 立的過程中 接收者向發送者說明自己的身份 第三步 發送者就可以使用r f c 8 2 2 n 種描述的格式發送郵件信息了 最后 發送者發送終止連接消息 接收者對其進行確認 確認完畢后 t c p 連接就被釋放 到這步 整個的發送過程就已經完成 接收者就可以去接收此郵件了 當然 在真正實現的過程中 還要考慮很多其它的因素 例如對于嵌入式上的郵件發送 就要考慮發送的效率 就是發送的速度要盡量的快 占用的資源要盡量的少 還 1 4 耋北大學碩士學位論文第三章嵌入式系統模擬器下電子郵件的設計和實現 有對于各個實時性很高的事件要及時的響應等等 s e n d e r s m t p l j s m t p 發送者 命令 應替 接收者 s m t p 和郵件 s m t p f 統廣 圖3 1s m t p 協議模型示意圖 f i 9 3 1m o d e lo f s m t p p r o t o c o l 前面介紹的s m t p 傳輸方案暗示服務器必須在任何時候做好接收電子郵件的 準備 一旦用戶輸入郵件 服務器就試圖將其發送出去 如果服務器運行在具有 永久互聯網連接的計算機上 則能夠做到這一點 但對于并非 直連接互聯網上 的計算機 則無法達到目的 考慮到一般的用戶 要永久連接到互聯網上是不現 實的 那樣 對于一個沒有永遠連接的用戶是怎樣接收電子郵件的呢 這個問題的答案在于一個兩階段交付過程 在第一階段 在具有永久i n t e r a c t 連接的計算機上為每個用戶分配一個郵箱 這臺計算機運行一個s m t p 服務器 s m t p 服務器一直準備著接收電子郵件 在第二階段 用戶建立一個連接 然后運 行一個從永久郵箱檢索郵件的協議 這個協議把郵件傳輸到用戶使用的計算機 在這臺計算機上閱讀郵件 有兩個協議可允許遠程用戶從永久郵箱檢索郵件 郵局協議 p o s t0 伍c e p r o t o c o lp o p 3 和網絡消息訪問協議 i n t e m e tm e s s a g ea c c e s sp r o t o c o li m a p 4 雖 然 您可以使用兩種協議的任何一種 但是 它們的能力和使用方法是差別很大 的 下面論文將介紹p o p 3 協議 i m a p 4 協議和這兩個協議之間的區別將在下部 分介紹 p o p 3 采用的是一種離線的模式 下面我們來看它是怎樣工作的 當您打開郵 件程序時 它會先檢查是否已存在網絡連接 如果沒有 它就會建立 個連接通 道 通常是p p p p o i n t t o p o i n tp r o t o c o l 即點對點協議連接 然后 它會向p o p 3 服務器發出一個登錄請求 并把您的用戶名和密碼傳給服務器 如果服務器驗證 1 5 塑 壟主堡主堂壘笙查 苧三主壅全壟墨絲堡塑墨 皇量塹竺塑竺鹽查塞塾 合法 郵件程序就會把服務器上的郵件下載到本地 并刪除它們 這時 您就可 以斷開連接 閱讀這些郵件了 圖3 2 是p o p 3 協議模型示意圖 圖3 2p o p 3 協議模型示意圖 f 遮 3 2m o d e l o f p o p 3p r o t o c o l 初始時 服務器通過偵聽t c p 端口1 1 0 開始p o p 3 服務 當客戶主機需要使 用服務時 它將與服務器主機建立t c p 連接 當連接建立后 p o p 3 發送確認消息 客戶和p o p 3 服務器相互 分別 交換命令和響應 這一過程一直要持續到連接終 止 p o p 3 命令由一個命令和一些參數組成 所有命令以一個c r l f 對結束 命令 和參數由可打印的a s c h 字符組成 它們之間由空格間隔 命令一般是三到四個 字母 每個參數卻可達4 0 個字符長 p o p 3 響應由一個狀態碼和一個可能跟有附加信息的命令組成 所有響應也是 由c r l f 對結束 現在有兩種狀態碼 確定 o k 和 失敗 e r r 對于特定命令的響應是由許多字符組成的 在這些情況中 下面一一表述 在發送第一行響應和一個c r l f 之后 任何的附加信息行發送 他們也由c r l f 對結束 當所有信息發送結束時 發送最后一行 包括一個結束字符 十進制碼 4 6 也就是 和一個c r l f 對 如果信息中的任何一行以結束字符開始 此行 就是通過在那一行預先裝入結束而進行字符填充的 因此 多行響應由五個 c r l e c r l f 結束 當檢測多行響應時 客戶檢測以確認此行是否以結束字符開始 如果是的 而且其后的字符不是c r l f 此行的第一個字符 結束字符 將被拋棄 如果其后緊跟c r l f 從p o p 服務器來的響應終止 包括 c r l f 的行也不被認為 是多行響應的一部分了 在生命周期中 p o p 3 會話有幾個不同的狀態 一旦t c p 連接被打開 而且 p o p 3 服務器發送了確認信息 此過程就進入了 確認 狀態 在此狀態中 客戶必 須向p o p 3 服務器確認自己是其的客戶 一旦確認成功 服務器就獲取與客戶郵件 1 6 墜學碩士學位論文 g 嵌入式系統模擬器下電子郵件的設計和實現 相關的資源 此時這 過程進入了 操作 狀態 在此狀態中 客戶提出服務 當客 尸發出q u i t 命令時 此過程進入了 更新 狀態 在此狀態中 p o p 3 服務器釋放 在 操作 狀態中取得的資源 并發送消息 終止連接 p o p 3 服務器可以擁有一個自動退出登錄的記時器 此記時器必須至少可以記 錄1 0 分鐘 這樣從客戶發送的消息刁 可能刷新此記時器 當記時器失效時 p o p 3 會話并不進入 更新 狀態 而是關閉t c p 連接 而且不刪除任何消息 不向客戶 發送任何響應 3 1 2 功能的設計和實現 3 1 2 1 功能的設計 在模擬器系統中 模擬了整個嵌入式系統的狀態和操作 e m a i l 功能是這個嵌 入式系統的一個基本的功能 圖3 3 是此模擬器系統中的e m a i l 功能的構成圖 從 圖中我們可以看到 e m a i l 功能可以從m a i n m e n u e d i t m a i l b o x 等模塊中 啟動 然后通過發送接收模塊對e m a i l 的發送接收進行控制 最后是解析郵件發送 和接收協議與服務器進行通信 整個e m a i l 功能的核心部分就是對郵件發送和接收 過程中所使用t c p f l p 應用層協議的解析 只要成功解析了各個協議 e m a i l 發送 和接收的功能也就相應的完成了 最后的通信過程只不過是利用s o c k e t 進行服務 器端和客戶機端進行數據交換的過程 其間的數據交互的過程與協議無關 這樣 實現的好處就在于解析過程和通信過程完全的分開 模塊化就非常的好 相互之 間的影響非常的少 也就是說 解析過程中的問題不會影響通信過程 反之亦然 這對程序的編碼和測試都是非常有用的 從上面分析可以看到 e m a i l 功能實現的關鍵點就是在協議解析上 所有的數 據都是在這個部分處理的 而且又要與服務器進行相關的通信 如果把這兩部分 功能放在一起處理的話 程序的結構將非常復雜 而且也沒有通用性 所以非常 有必要把這兩部分分別處理 一個模塊專門用于協議數據的解析 而另一部分用 于與服務器通信 這樣在協議解析過程中就不用關心當前的網絡狀態 而在服務 器通信過程中也只管接收數據而不用在乎是什么數據 錯誤信息和正確信息處理 在這里處理是完全一樣的 解析過程和通信過程分開處理可以保持程序的靈活性 而且代碼也比較容易理解 郵件發送過程的設計是按照r f c 2 5 5 4 1 6 的描述完成的 為了更好地說明郵件的 發送過程 可使用發送過程的時序圖 參照圖3 4 來說明服務器和客戶機交互的 過程 1 7 東北大學碩士學位論文第三章嵌入式系統模擬器下電子郵件的設計和實現 圖3 3e a l l 構成圖 1 8 郵件發送接收模塊 i s m t pp r o p e l 模塊 s e r v e r 消息通知 發送新郵件 執行e h l o 命令 r 2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Y市F區檔案資源共享機制研究
- 2章市場供求分析
- XXXX年房地產形勢專題研究
- 新版中國共產黨支部工作條例(試行)學習
- 酒店員工行為規范與服務態度培養
- 遏制國有企業招標采購腐敗案
- 2025年時事政治考試題及參考答案(100題)
- 企業職工檔案管理
- 2025倉儲租賃合同范本
- 2025合同樣本汽車租賃合同示范文本
- 2024年安全員C3證考試題庫及解析
- 2024年山東省青島市中考地理試題卷(含答案及解析)+2023年中考地理及答案
- 《籃球原地運球》教案 (共三篇)
- 《手衛生知識培訓》培訓課件
- 倉庫作業風險防控措施計劃
- 智能制造工程專業專業課教學大綱匯編
- 實驗活動5 不同價態含硫物質的轉化 教學設計 高一下學期化學人教版(2019)必修第二冊
- 工商局股權轉讓協議范本(2024版)
- 2024年甘肅省蘭州市中考道德與法治試卷附答案
- 國家開放大學電大《11846商法》期末終考題庫及答案
- 2024成都語文中考試題研究備考 第五部分 古詩文閱讀 教材文言文考點講解-寫景篇【課件】
評論
0/150
提交評論