基於Linux和MiniGUI的嵌入式系統軟體發展指南-DelphiK.Top討論區.docVIP

基於Linux和MiniGUI的嵌入式系統軟體發展指南-DelphiK.Top討論區.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基於Linux和MiniGUI的嵌入式系統軟體發展指南-DelphiK.Top討論區

基於 Linux 和 MiniGUI 的嵌入式系統軟體發展指南(一) /developerWorks/cn/linux/embed/minigui/guide/part1/index.shtml 選擇MiniGUI-Threads 或者 MiniGUI-Lite 魏永明 (ymwei@) 自由撰稿人 2001 年 6 月 自 MiniGUI 從 1998 年底推出以來,越來越多的人開始選擇 MiniGUI 在 Linux 上開發即時嵌入式系統。爲了幫助嵌入式軟體發展人員使用 MiniGUI編寫出更好的應用程式,我們將撰寫一系列文章講解基於 Linux 和 MiniGUI 的嵌入式系統軟體發展,並冠名基於 Linux 和 MiniGUI 的嵌入式系統軟體發展指南。本文是該系列文章的第一篇,將講述如何針對具體專案選擇使用 MiniGUI-Threads 或者 MiniGUI-Lite 版本,並比較不同版本對系統軟體結構的影響。 1:引言 自 MiniGUI 從 1998 年底推出以來,越來越多的人開始選擇 MiniGUI 在 Linux 上開發即時嵌入式系統。MiniGUI 系統也逐漸成熟,並在各種嵌入式系統中扮演了重要的角色。爲了幫助嵌入式軟體發展人員使用 MiniGUI編寫出更好的應用程式,我們將撰寫一系列文章講解基於 Linux 和 MiniGUI 的嵌入式系統軟體發展,並冠名基於 Linux 和 MiniGUI 的嵌入式系統軟體發展指南。該系列文章將講述如何在基於 Linux 的系統上利用 MiniGUI 開發具有圖形用戶介面支援的嵌入式系統軟體,其內容不僅僅限於 MiniGUI 的編程,還會涉及到一些 Linux 下嵌入式系統軟體發展的技巧。系列文章的初步規劃如下: 如何針對特定專案選擇 MiniGUI-Threads 和 MiniGUI-Lite 理解消息迴圈和視窗過程 對話方塊和控制項編程 使用 GDI 函數 MiniGUI 和 Linux 系統調用 MiniGUI-Lite 與進程間通訊 將 MiniGUI 及應用程式移植到特定平臺 利用 autoconf 介面編寫跨平臺代碼 如何調試 MiniGUI 應用程式 本文是該系列文章的第一篇,將講述如何針對具體專案選擇使用 MiniGUI-Threads 或者 MiniGUI-Lite 版本,並比較不同版本對系統軟體結構的影響。 2:MiniGUI-Threads 和 MiniGUI-Lite 的區別 大家都知道,我們可以將 MiniGUI 編譯成兩個截然不同的版本,一個是 MiniGUI-Threads,一個是 MiniGUI-Lite。這兩個版本適用于不同的應用需求。在選擇到底使用 MiniGUI-Threads 還是 MiniGUI-Lite 之前,我們首先需要瞭解這兩個版本之間的區別。 MiniGUI-Threads 是 MiniGUI 的最初版本。MiniGUI 最初爲一個工業控制系統開發的,該系統功能單一,但卻需要非常高的即時性,因此考慮將 MiniGUI 開發成一個基於多線程的圖形用戶介面支援系統。因爲在傳統的 UNIX/Linux 系統上,典型的 GUI 系統(比如 X)採用傳統的基於 UNIX 套接字的客戶/伺服器系統結構。在這種體系結構下,客戶建立視窗、繪製等等都要通過套接字傳遞到伺服器,由伺服器完成實質工作。這樣,系統非常依賴於 UNIX 套接字通訊。而大家都知道,UNIX 套接字的資料傳遞,要經過內核,然後再傳遞到另外一個程式。這樣,大量的資料在客戶/內核/伺服器之間傳遞,從而增加了系統負荷,也佔用了許多系統資源。這對許多嵌入式系統,尤其是即時性要求非常高的系統來說,是不可接受的。 爲了解決這個問題,MiniGUI 首先採用了線程機制(類似Windows CE),所有的應用程式都運行在同一個位址空間,這樣,大大提高了程式之間的通訊效率,並且特別適合於即時性要求非常高的系統。這就是 MiniGUI-Threads。基於 MiniGUI-Threads 的程式,可以具有多個線程,每個線程有不同的功能和任務,並且可以建立各自的窗口,不同的線程之間,可以通過 MiniGUI 提供的消息傳遞機制進行事件傳送和同步。 但顯然,這種基於線程的結構也導致了系統整體的脆弱――如果某個線程因爲非法的資料訪問而終止運行,則整個進程都將受到影響。不過,這種體系結構對即時控制系統等時間關鍵的系統來講,還是非常適合的。 爲了解決 MiniGUI-Threads 版本因爲線程而引入的一些問題,同時也爲了讓 MiniGUI更加適合於嵌入式系統,我們決定開發一個 MiniGUI-Lite 版本。這個版本的開發目的是: 保持與原先 MiniGUI 版本在源代碼級

您可能关注的文档

文档评论(0)

busuanzi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档