色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

探究Microwindows的嵌入式GUI設計

電子工程師 ? 來源:搜易科技網 ? 作者:wangmeng ? 2021-03-24 10:26 ? 次閱讀

引言

嵌入式圖形用戶界面與存儲安全、嵌入式JAVA 虛擬機并稱為嵌入式系統中的三大關鍵技術。在嵌入式應用領域,伴隨著硬件技術的發展,傳統意義上的人機交互界面正趨于淡化,取而代之的是具有友好人機交互支持的嵌入式圖形界面。

嵌入式計算機系統以其關鍵部件的高性能、低價格等優勢為Embedded GUI 的發展奠定了堅實的市場和技術基礎;而基于Linux 開放源代碼、遵循不同授權條款的諸多Embedded GUI 軟件及其自由開發者,又大大推進了Embedded GUI 的應用進程,起到推波助瀾的作用,如Microwindows、MiniGUI 及QT/ Embedded 等。

嵌入式系統是以應用為中心、計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。嵌入式系統的這一定義也就界定了嵌入式系統對Embedded GUI 的基本要求。這些要求如下: (1) 輕量級、占用系統資源少; (2) 性能高,友好的人機互動; (3) 可靠性高; (4) 模塊架構,配置靈活,便于移植。

目前,在嵌入式應用領域比較成功的Embedded GUI主要有MiniGUI、Microwindows 和QT/ Embedded。

MiniGUI 和Microwindows 都是自由軟件,只是前者遵循L GPL 條款,后者遵循MPL 條款。這兩個系統的技術路線也有所不同。MiniGUI 的策略是首先建立在比較成熟的圖形引擎之上,如Svgalib 和LibGGI ,開發的重點在窗口系統、圖形接口上。

Microwindows 目前的開發重點則在底層的圖形引擎上,它不需要其它圖形系統的支持。在Linux 操作系統上,Microwindows 也可以充分利用Linux 提供的Framebuffer機制來顯示圖形。并且,Microwindows 還具有很強的移植性,能夠在大多數微處理器上運行。

QT/ Embedded 由于移植了大量原來基于QT 的XWindows 程序,提供了非常完整的嵌入式GUI 解決方案,再加上Opera 瀏覽器,可以說是一個成熟的商業軟件。然而,QT/ Embedded 不能運行在非QT 的軟件中,其源代碼也過于龐大。

作為一個開放源代碼項目,Microwindows 將現代圖形窗口技術的一些特性展現給了編程團體,而不需要諸如Microsof t Windows 或X Window 這樣占用較大磁盤和RAM 空間的高級窗口的支持。它直接面向顯示硬件本身,不需要任何操作系統或其它圖形系統的支持,可以在Linux 2. 0 以上的Framebuffer 系統上很好地運行。Microwindows 本身就被設計成便于移植、能夠在大多數硬件和軟件環境下運行的Embedded GUI。

Microwindows 最新版本0. 9 有如下新特性:

(1) 支持新的NXL IB 項目,NXL IB 對X11 的二進制程序可以不加修改地直接在Microwindows 里運行,而無需X11 Server 支持;

(2) 支持Sharp Zaurus、Tuxscreen、TriMedia 及Cygnus X11 平臺;

(3) 內建標準化校準(nxcal) 支持,如一個觸摸屏驅動程序可以支持包含iPAQ、Zaurus、ADS 和Tuxscreen 在內的大多數ARM 平臺;

(4) 增強了字符支持,包括BIG5 、GB2312 、EUCCN、EUCKR、EUCJ P 和J ISX0213 等;

(5) 大幅提高了X11 屏幕驅動程序和文本畫圖的速度;

(6) 32 位ARGB 硬件驅動支持單色Alpha ;

(7) 支持帶有HAVI 鍵盤映射的L IRC 鍵盤;

(8) 從源代碼中為html 和pdf 文檔自動生成支持基于Doxygen 的文檔。

總而言之,最新版本的Microwindows 在硬件驅動加速上、在圖形引擎算法上以及代碼質量上,都比原先的版本有較大的改進。

Microwindows 的API

Microwindows 采用分層體系結構設計,提供了豐富的API 支持,支持Win32/ WinCE GDI 和Nano-X兩種API 集。

Microwindows 體系結構

Microwindows 的體系結構由下至上,分別為具體硬件、驅動層、圖形引擎層和API 層,如圖1 所示。用戶可以根據具體應用需求對不同層的代碼進行修改或重寫。

(1) 設備驅動程序。

鍵盤驅動程序主要有兩個,分別是kbd _ tty. c 和kbd _ bios. c 。前者主要用于Linux 和EL KS 系統,而后者主要用于MSDOS 實模式。

鼠標驅動程序主要有三個:mou_gpm. c ,用于Linux 的一個GPM 驅動; mou _ ser. c ,用于Linux 和EL KS 系統;mou_gpm. c ,主要用于MSDOS 系統。

屏幕驅動程序有面向16 位EL KS、MSDOS 實模式的V GA 驅動( scr_bios. c、vgaplan4. c、memp14. c 、scr_here. c)和面向Linux 的Framebuffer ( scr_fb. c、fb. c 等) 兩種。這部分驅動程序最復雜,在設計時可以參考scr_fb. c 來設計自己的屏幕驅動程序。

(2) 設備獨立的圖形引擎。

Microwindows 的圖形引擎是設備獨立的。引擎的每一例程都接受SCREENDEVICE 結構的指針( PSD) 來作為第一個參數。PSD 說明了底層的顯示細節,如屏幕大小的x 、y 值,屏幕顏色ncolors ,以及諸如打開、關閉、畫線等函數指針。PSD 結構定義如下:

Microwindows 的API

Microwindows 提供兩個應用程序接口:一是Win32 接口,這種API 不是很成熟;二是Nano-X ,這種API 比較好,結構上清晰,功能上也完全。

在Microwindows 上的API 接口函數的基本模型都是用來初始化屏幕、鍵盤和鼠標的驅動程序,然后一直等待select () 消息循環。當事件發生時,這條信息將送到用戶程序。如果是用戶請求圖形操作,那參數將被編碼后送到適當的GdXXX 核心程序上。與原始圖形操作相對的窗口概念是被該層所控制的,也就是說該層的API 函數定義了窗口及其對應系統的概念。這樣,系統坐標就能被轉成屏幕上顯示的坐標,并且可將數據傳給GdXXX 核心程序,由它進行實際操作。該層亦定義圖形/ 顯示文件,并且會將此信息(包括裁減信息) 送到核心程序上。

Microwindows 的API 支持大多數圖形繪制、裁減、窗口工具條繪制及拖拉窗口等程序。Nano-X 最先是由Davin Bell 為minix 設計的,它被設計為C/ S 模式,一般是通過Unix Domain socket 在客戶與服務器端進行通信的,但沒有實現窗口管理,所以對窗口的處理需要使用系統提供的一個插件集,或者完全由應用程序員自已開發。另外,Nano-X 不是消息驅動的,而是基于X 協議模式。在這種模式下,驅動整個系統運行的可以說是請求與事件。

請求就是客戶端為了完成某一動作而對服務器端所發出的申請,并且為每一個請求都定義了一個標識數。每個請求的結構都是不同的,但類似如下結構:

事件是每個窗口系統必不可少的部分,它反映系統運行的狀態,一共有22 種。對于每個事件都要提供有關它的結構,但沒有必要提供22 種事件結構,有一些事件所需要的數據是一樣的,如所有鼠標的事件都使用一個事件結構表示,如下所示:

Microwindows 在仿真環境下的應用

Microwindows 最為顯著的優勢在于它可以在桌面計算機上仿真運行目標平臺的GUI 及其支撐軟件。這就意味著面向Linux 的Microwindows 應用軟件可以在桌面計算機的Linux 環境下編制和調試,而沒有必要建立跨平臺交叉編譯環境,并在目標平臺上對軟件進行編制和調試。這一點對于Embedded GUI 移植和開發而言,意義非同尋常。這完全歸功于Microwindows 的X Screen Driver ,而非Linux 的Framebuffer 。

我們在桌面計算機上的Linux 8. 0 仿真環境下運行Microwindows ,并通過一個簡單實例演示仿真環境下的Microwindows 應用編程。顯然,我們應采用Nano-X API。

仿真環境下Microwindows 主要的安裝步驟:

(1) 下載并安裝最新源代碼Microwindows20. 90. tar和最新字體microwindows2font s20. 90. tar。

(2) 修改安裝目錄下的配置文件,如mirowin/ src 下的config file ,主要包括以下幾項:

ARCH = LINUX-NATIVE;

/ / 高速系統為主機LINUX 建立應用程序

HAVE_FREETYPE_SUPPORT = Y;

/ / 設置對Free Type 和T1lib 字體的支持

HAVE_ T1LIB_SUPPORT = Y;

HAVE_HZK_SUPPORT = Y;

X11 = Y;

SCREEN_WIDTH = 640 ;

SCREEN_HEIGHT = 480 ;

SCREEN_PIXTYPE = MWPF_TRUECOLOR0888 ;

Microwindows 在桌面Linux 8. 0環境下的運行效果如圖2 所示。

結束語

嵌入式相關研究和應用正在以前所未有的速度發展著,而作為嵌入式系統核心內容之一的Embedded GUI 一定會隨著嵌入式系統的發展處于舉足輕重的地位。具有高可移植性、豐富API 支持、開放源代碼及可仿真運行的Microwindows ,在諸多Embedded GUI 技術中必將脫穎而出。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5125

    文章

    19438

    瀏覽量

    312986
  • API
    API
    +關注

    關注

    2

    文章

    1554

    瀏覽量

    63273
  • PSD
    PSD
    +關注

    關注

    0

    文章

    35

    瀏覽量

    45523
  • GUI
    GUI
    +關注

    關注

    3

    文章

    671

    瀏覽量

    40563
收藏 0人收藏

    評論

    相關推薦

    飛凌嵌入式2025嵌入式及邊緣AI技術論壇圓滿結束

    飛凌嵌入式「2025嵌入式及邊緣AI技術論壇」在深圳深鐵皇冠假日酒店盛大舉行,此次活動邀請到了200余位嵌入式技術領域的技術專家、企業代表和工程師用戶,共享嵌入式及邊緣AI技術的盛宴!
    的頭像 發表于 04-28 13:57 ?619次閱讀
    飛凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及邊緣AI技術論壇圓滿結束

    飛凌嵌入式「2025嵌入式及邊緣AI技術論壇」議程公布

    4月22日,飛凌嵌入式“2025嵌入式及邊緣AI技術論壇”將在深圳舉行,論壇以“新生態,智未來”為主題,旨在匯聚行業智慧,探討嵌入式技術與邊緣AI的深度融合與創新應用。
    的頭像 發表于 04-02 15:12 ?367次閱讀
    飛凌<b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及邊緣AI技術論壇」議程公布

    嵌入式主板的概述與發展

    隨著科技的迅猛發展,嵌入式系統在現代電子產品中扮演著越來越重要的角色。嵌入式主板作為嵌入式系統的核心組件之一,承擔著控制、處理和通訊等多種功能。本文將對嵌入式主板的基本概念、構成部分、
    的頭像 發表于 01-13 16:30 ?603次閱讀
    <b class='flag-5'>嵌入式</b>主板的概述與發展

    ARM架構嵌入式主板特點

    嵌入式主板可以理解為嵌入在設備中用于控制和數據處理的CPU板,也就是設備的“大腦”。當主板嵌入到設備中,當然對主板的體積和功耗會有更嚴格的要求(嵌入式主板的散熱問題)。如今
    的頭像 發表于 12-31 16:03 ?741次閱讀
    ARM架構<b class='flag-5'>嵌入式</b>主板特點

    新手怎么學嵌入式?

    新手怎么學嵌入式? 在科技飛速發展的今天,嵌入式技術已經滲透到我們生活的各個角落,從智能手機到智能家居,從汽車電子到醫療設備。對于新手而言,嵌入式技術就像是一座充滿神秘和機遇的寶藏,等待著大家去挖掘
    發表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指將人工智能技術應用于嵌入式系統中的一種技術。嵌入式系統是嵌入到其他設備或系統中的計算機系統,通常用于控制、監測或執行特定任務,如智能手機、智能家居設備、智能汽車等中的
    的頭像 發表于 12-11 09:23 ?757次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工智能

    嵌入式系統開發與硬件的關系 嵌入式系統開發常見問題解決

    嵌入式系統開發與硬件的關系 嵌入式系統是專為特定應用設計的計算機系統,它們通常嵌入在所控制的設備中。這些系統的關鍵特點是它們與硬件的緊密集成,這意味著軟件必須為特定的硬件平臺量身定制。以下是
    的頭像 發表于 12-09 09:38 ?741次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    在現代科技浪潮中,嵌入式技術已成為支撐各種智能設備和系統運行的核心力量。那么,究竟什么是嵌入式嵌入式系統,顧名思義,是將計算機的硬件和軟件嵌入到某種設備或系統中,以實現特定功能的計算
    的頭像 發表于 10-16 10:14 ?2299次閱讀

    GUI Guider全新版本上線

    GUI Guider v1.8.1上線啦!這一版本為嵌入式HMI開發帶來了多項新功能和改進,旨在為您提供更加高效、便捷的嵌入式HMI開發體驗。
    的頭像 發表于 10-14 11:37 ?2087次閱讀

    AMD 面向嵌入式系統推出高能效 EPYC 嵌入式 8004 系列

    AMD 憑借其 EPYC? 嵌入式處理器不斷樹立行業標準,為網絡、存儲和工業應用提供卓越的性能、效率、連接與創新。今天,我們正以第四代 AMD EPYC 嵌入式 8004 系列處理器擴展這一
    發表于 10-11 13:58 ?900次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統的核心組件,是一種用于控制和數據處理的計算機硬件,其設計旨在嵌入特定設備中執行專門任務。嵌入式主板如同是設備的“大腦”,主要功能是根據需要管理和控制設備
    的頭像 發表于 09-30 10:05 ?1358次閱讀

    EsDA,一站嵌入式軟件

    EsDA是一套面向工業智能物聯領域的嵌入式系統設計自動化工具集,包含實時操作系統AWorksLP、低代碼開發平臺AWStudio、資源管理平臺AXPI、跨平臺GUI引擎AWTK和云服務平臺ZWS
    的頭像 發表于 09-15 08:10 ?545次閱讀
    EsDA,一站<b class='flag-5'>式</b><b class='flag-5'>嵌入式</b>軟件

    七大嵌入式GUI盤點

    嵌入式圖形用戶界面(GUI)是一種為嵌入式系統設計的用戶界面,它可以讓用戶通過圖形化的方式與設備進行交互。以下是對七種嵌入式 GUI 的盤點
    發表于 09-02 10:58

    嵌入式linux開發的基本步驟有哪些?

    嵌入式Linux開發是一個復雜的過程,涉及到硬件選擇、操作系統移植、驅動開發、應用程序開發等多個方面。以下是嵌入式Linux開發的基本步驟,以及每個步驟的說明。 硬件選擇 在開始嵌入式Linux開發
    的頭像 發表于 09-02 09:11 ?917次閱讀

    嵌入式開發前景怎么樣?

    嵌入式開發前景非常廣闊,這主要得益于物聯網、人工智能、大數據等技術的快速發展,以及嵌入式系統在各個領域的廣泛應用。以下是對嵌入式開發前景的詳細分析
    的頭像 發表于 07-10 09:00 ?3810次閱讀
    <b class='flag-5'>嵌入式</b>開發前景怎么樣?
    主站蜘蛛池模板: 国产亚洲精品 在线视频 香蕉 | 在线免费观看日本 | 成年女人免费播放影院 | 黄色网址在线免费观看 | 日韩综合网 | 性夜夜春夜夜爽AA片A | 成人特级毛片 | 精品 在线 视频 亚洲 | 俄罗斯女人Z0ZOZO | 久久4k岛国高清一区二区 | 一区精品在线 | 日本午夜看x费免 | 国产亚洲中文字幕视频 | 久久国产乱子伦精品免费M 久久国产露脸老熟女熟69 | 国产真实女人一级毛片 | 高清mv视频免费观看 | 成人在线视频免费看 | 色爰情人网站 | 中字幕久久久人妻熟女天美传媒 | 大胸美女被吊起来解开胸罩 | 97成人碰碰在线人妻少妇 | 国产一区二区波多野结衣 | 亚洲 欧美 中文 日韩 另类 | 日韩欧无码一区二区三区免费不卡 | 中国特级黄色大片 | 抽插内射高潮呻吟V杜V | 宝贝乖女好紧好深好爽老师 | 免费看国产精品麻豆 | 亚洲中文字幕一二三四区苍井空 | 久久久国产精品免费A片蜜臀 | 黄色三级在线观看 | 琪琪婷婷五月色综合久久 | 久久成人国产精品一区二区 | 漂亮的保姆3集电影免费观看中文 | 37大但人文艺术A级都市天气 | 亚洲中文字幕日本在线观看 | 日本69xxxxx| 亚洲精品高清中文字幕完整版 | 国产久久精品热99看 | 国产免费高清mv视频在线观看 | 国产午夜在线精品三级a午夜电影 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品