- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 版本在源代碼級
您可能关注的文档
- 关于新建计算机网络教室的情况说明-商洛职业技术学院.doc
- 关于教室借用启用新程序的通知.doc[Download].doc
- 关于曲线拟合方法的探讨.doc
- 关于报批《识别卡记录技术第2部分磁条——低矫顽力》等2项国家标准的函.doc
- 关于申请评选表彰全国煤炭工业系统先进集体和劳动模范、先进工作者的函.doc
- 关于登录校园网教学管理系统进行网上申请学位的通知.doc
- 关于确定计算机应用工程系专任教师专业发展方向和-益阳职业技术学院.doc
- 关于经济学的技术与方法-Tamu.edu.doc
- 关于统一安装杀毒软件的通知.doc
- 关于近日大量学校电脑感染勒索病毒的说明.docx.doc
- 2024年江西省寻乌县九上数学开学复习检测模拟试题【含答案】.doc
- 2024年江西省省宜春市袁州区数学九上开学学业水平测试模拟试题【含答案】.doc
- 《GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语》.pdf
- 中国国家标准 GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语.pdf
- GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- 《GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构》.pdf
- 中国国家标准 GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 中国国家标准 GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 《GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南》.pdf
文档评论(0)