?? readme.zh
字號:
名稱 MiniGUI - 面向實時嵌入式 Linux 系統的小型跨平臺圖形用戶界面支持系統目錄 1. 介紹 2. 什么是 MiniGUI-Lite 3. MiniGUI 版本 1.6 的新功能特點 4. 在 Linux 上安裝 MiniGUI 5. Linux 上的安裝及配置示例 6. 開發歷史 7. 有關作者 8. 如果遇到問題 9. 版權信息 10. 在商業或專有系統中的使用 MiniGUI1. 介紹 MiniGUI 是一個遵循 GPL 條款的自由軟件項目. 該項目由北京飛漫軟件技術 有限公司主持. MiniGUI 的目標是提供一個穩定的、輕量級的跨操作系統圖形用戶界面支持系統, 尤其適合基于 Linux/uClinux, eCos, uC/OS-II, VxWorks 等的實時嵌入式系統. MiniGUI 為應用程序定義了一組輕量級的窗口和圖形設備接口. 利用這些接口, 每個 應用程序可以建立多個窗口, 而且可以在這些窗口中繪制圖形, 且互不影響. 用戶也可以利用 MiniGUI 建立菜單, 按鈕, 列表框等常見的 GUI 元素. MiniGUI 由三個函數庫組成: libminigui, libmgext 以及 libvcongui. libminigui 是提供窗口管理和圖形接口的核心函數庫, 也提供了大量的標準控件; libmgext 是 libminigui 的一個擴展庫, 提供了一些有用的控件, 同時提供了一些 方便而且有用的用戶界面函數, 比如 "文件打開" 對話框; libvcongui 則提供了 一個應用程序可用的虛擬控制臺窗口, 從而可以方便地在 MiniGUI 環境中運行 字符界面的應用程序. 用戶可以將 MiniGUI 配置成 "MiniGUI-Threads" 或者 " MiniGUI-Lite". 運行在 MiniGUI-Threads 上的程序可以在不同的線程中建立多個窗口, 但所有 的窗口在一個進程中運行. 相反, 運行在 MiniGUI-Lite 上的每個程序是單獨 的進程, 每個進程也可以建立多個窗口. MiniGUI-Threads 適合于具有單一 功能的實時系統, 而 MiniGUI-Lite 則適合于類似于 PDA, STB 和瘦客戶機 的復雜嵌入式系統. 用戶還可將 MiniGUI V1.5.x 編譯成單進程的版本,該版本下的應用程序可 單獨執行,而不需首先運行 mginit 程序。 MiniGUI 的最新穩定版是版本 1.5.3; 最新開發版是版本 1.9.x. 您可以在 我們的主頁上找到最新的 MiniGUI 相關信息: http://www.minigui.org 2002 年 9 月, 由 MiniGUI 的主要開發者創立的北京飛漫軟件技術有限公司成立, MiniGUI 的開發主持和維護工作從松散組織轉向商業機構. 相關信息可從如下站點 獲得: http://www.minigui.com2. 什么是 MiniGUI-Lite 最初的 MiniGUI 基于 POSIX 兼容的線程庫, 而這種體系結構非常適合大多數 傳統的嵌入式操作系統, 比如 eCos, uC/OS-II 以及 VxWorks 等. 但是, 如果我們使用嵌入式 Linux, 則類似 X Window 那樣的體系結構將帶來更好的 穩定性及伸縮性, 因為每個進程的地址空間都是獨立的, 而且可以使用諸如 共享庫這樣的機制. 現在, 用戶可以使用 MiniGUI-Lite 以 Linux 進程的形式一次運行多個 MiniGUI 程序. MiniGUI-Lite 是原先 MiniGUI 版本的一個輕量級版本, 因為不再需要 LinuxThreads 庫. 用戶可以從一個稱為 "mginit" 的程序中運行其它基于 MiniGUI-Lite 的程序. 和 X Window 類似, "mginit" 程序稱為服務器, 而其它程序 稱為客戶. 客戶通過 UNIX 域套接字連接到服務器, 而服務器接受來自客戶的請求. 服務器為客 戶提供共享資源, 并向頂層客戶發送鼠標和鍵盤事件. 如果某個客戶由于某個原因 終止, 服務器并不會受到影響, 而可以繼續正常運行. 在我們發布的源代碼當中, 有一個軟件包稱為 "MDE". 在這個軟件包中, 有一個 "mginit" 程序可創建一個虛擬控制臺窗口. 你可以從該控制臺的命令行 啟動其它程序, 甚至可以利用 "gdb" 調試程序. 用戶可以在一個基于 MiniGUI-Lite 的程序中創建多個窗口, 但不能啟動新線程創建 窗口. 因此, 原先 MiniGUI 中的某些函數不能再使用了, 但大多數的 MiniGUI-Lite API 和原先的 MiniGUI 版本是兼容的. 從原先的 MiniGUI 移植到 MiniGUI-Lite 相當簡單. MiniGUI 的源代碼默認配置為 MiniGUI-Lite. 在運行 "./configure" 配置 MiniGUI 時, 你可以使用如下命令禁止 MiniGUI-Lite, 而編譯成原先的 MiniGUI 版本: $ ./configure --disable-lite 為了明確區分, 我們將基于 PThread 的 MiniGUI 稱為 "MiniGUI-Threads".3. MiniGUI 版本 1.6 的新功能特點 MiniGUI 1.6 版本中增加了如下新的功能特色: * 更多操作系統支持。包括普通嵌入式 Linux、uClinux、eCos、uC/OS-II、以及 傳統的實時嵌入式操作系統,如 VxWorks。 * 提供了高級二維繪圖函數,可以設置線寬、線型、填充模式等。 * 更多硬件開發板支持。包括 Intel DMG 機頂盒、Sigma Designs RealMagic 機頂盒、S3C2410 開發板、華恒 ARM2410 開發板、 WinBond SVPxx 可視電話等等。 * 提供了界面的皮膚支持,可幫助您編寫華麗的用戶界面。 * 更多控件支持。包括透明控件支持,ScrollView 和 ScrollWnd 控件、增強 編輯框控件、ListView 控件及網格控件等。 * 我們可以將 MiniGUI 所使用的資源,諸如位圖、圖標和字體等編譯到函數庫中, 這樣 MiniGUI 的運行就不需要在文件系統中單獨存放資源文件了,包括 MiniGUI.cfg 配置文件在內,而且將提高 MiniGUI 的初始化速度。這個特性非常 適合 uClinux/eCos/uCOS-II 等小型嵌入式操作系統。 * 我們可以將 MiniGUI 配置成以單進程形式運行的版本,也就是說,如果您的 系統足夠簡單,則可以不需要線程支持或者 mginit 程序。 * 我們針對 uClinux 等小型嵌入式操作系統優化了 MiniGUI 的內存使用。 * 我們現在可以使用 make menuconfig 來配置 MiniGUI,從而提供給您非常 便利的配置和定制界面。4. 在 Linux 上安裝 MiniGUI 4.1 安裝前的準備 1) 選擇圖形引擎 如果您的 Linux 內核支持 FrameBuffer, 則可以使用內建于 MiniGUI 的 圖形引擎 -- 即 "私有引擎". 這樣, 就沒有必要安裝下面提到的其它圖形 函數庫作為 MiniGUI 的圖形引擎了. 而且, Native 引擎是唯一支持 MiniGUI-Lite 的引擎, 如果您要將 MiniGUI 配置為 MiniGUI-Lite, 也沒有必要安裝 其它的圖形庫作為引擎. Native 引擎既可以支持 MiniGUI-Threads, 也可以支持 MiniGUI-Lite. 需要 注意的是, Native 引擎目前還不能提供對 "fbvga16" (標準 VGA 16 色模式) 的良好支持. 而且需要注意 Native 引擎目前只能運行在 Linux FrameBuffer 之上. 如果您的 Linux 內核不支持 FrameBuffer, 則可以使用 SVGALib 作為圖形 引擎. SVGALib 是一種直接訪問圖形芯片的老的圖形函數庫. 因此, 如果 使用 SVGALib, 則需要獲得 root 權限才能讓 MiniGUI 程序支持進行 圖形芯片的 I/O 操作. 需要注意的是, 因為 SVGALib 是一種老的圖形庫, 所以不能對大部分流行 的顯示卡提供良好支持. 然而, 如果您的顯示芯片是 VESA 兼容的, 則 SVGALib 可以通過 VESA BIOS 2.0 提供的接口良好運行. 許多顯示芯片都是 VESA 兼容的, 但某些不是, 比如 Intel 的 i810 芯片組. 你也可以使用 LibGGI 作為 MiniGUI 的圖形引擎. LibGGI 是一種新的面向 Linux 的圖形引擎, 它也可以穩定地運行在 Linux FrameBuffer 之上. 最 主要的是, 運行在 LibGGI 之上的應用程序可以方便地運行在 X Window 之上, 而且不需要重新編譯. 注意, SVGALib 和 LibGGI 不能用來支持 MiniGUI-Lite. 對于 MiniGUI 應用開發者來講, 另外一個可選的圖形引擎是 QVFB. QVFB 是 運行在 X Window 上的一個虛擬 FrameBuffer 程序. 利用它, 我們可以在 X Window 上運行和調試 MiniGUI 程序. 2) 安裝引擎 如果您決定使用 Native 引擎, 則沒有必要預先安裝某個特定的圖形庫. Native 引擎已經內建于 MiniGUI 當中. 如果要使用 SVGALib 作為圖形引擎, 則需要安裝 "svgalib-1.4.3" 軟件包. 請從如下 FTP 站點下載: ftp://ftp.minigui.net/pub/minigui/dep-libs 或者從 HTTP 站點下載: http://www.minigui.com/download/cindex.shtml 并將上述兩個軟件包安裝到您的系統當中. 安裝過程將覆蓋系統中老的 SVGALib, 但并不會影響您的系統. 如果您使用 LibGGI 作為圖形引擎, 請從 http://www.ggi-projects.org 下載 最新的 GGI 源代碼, 并安裝之. 或者, 也可以從我們的站點上下載: http://www.minigui.org/download/cindex.shtml 3) 下載 MiniGUI 在下載并安裝好圖形引擎之后, 請從我們的站點上下載如下 tar.gz 軟件包并解開: * libminigui-1.3.x.tar.gz: MiniGUI 函數庫源代碼, 其中包括 libminigui, libmywins, libmgext, 和 libvcongui. * minigui-res-1.3.x.tar.gz: MiniGUI 所使用的資源, 包括基本字體, 圖標, 位圖和鼠標光標. * mde-1.3.x.tar.gz: MiniGUI 的綜合示例程序. 4.2 安裝 MiniGUI 的資源文件 我們首先要安裝 MiniGUI 的資源文件. 請按照如下步驟: 1) 使用 "tar" 命令解開 "minigui-res-1.3.x.tar.gz". 可使用如下命令: $ tar zxf minigui-res-1.3.x.tar.gz 2) 改變到新建目錄中, 然后以超級用戶身份運行 "make" 命令: $ su -c make install 4.3 配置和編譯 MiniGUI MiniGUI 使用了 "automake" 和 "autoconf" 接口, 因而 MiniGUI 的配置和編譯 非常容易: 1) 使用 "tar" 解開 "libminigui-1.3.x.tar.gz" 到新的目錄: $ tar zxf libminigui-1.3.x.tar.gz
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -