freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

嵌入式linux基于minigui信息終端軟件開發(fā)論文-資料下載頁

2024-11-07 21:13本頁面

【導(dǎo)讀】隨著信息技術(shù)日新月異的發(fā)展,嵌入式系統(tǒng)在信息終端上的應(yīng)用越來越廣泛。而加速終端設(shè)備的普及和發(fā)展。因為MiniGUI具有輕型,占用資源少,高性能,高可??啃缘忍攸c,所以MiniGUI能夠好的提供一個滿足需要的開發(fā)基礎(chǔ)平臺。隨著家用電器的增多,使得人們需要一個方便的智能終端進(jìn)行統(tǒng)一操控。系統(tǒng)開關(guān)控制顯示、智能家居系統(tǒng)定時控制顯示等功能。最后,本文對智能家居終端開。發(fā)進(jìn)行了總結(jié),并對需要進(jìn)一步解決的問題進(jìn)行了討論。

  

【正文】 資金投入量,但卻不能擁有單步運行,跟蹤,斷點設(shè)置,寄存器查看等高級調(diào)試功能,而只能通過打印串口進(jìn)行調(diào)試,給調(diào)試帶來了一些不便。我們采用了這種方法,下面是這種開發(fā)模式下的開發(fā)流程: 見圖 Linux 下的應(yīng)用程序全部都是用 C 代碼開發(fā)的。用 C 代碼開發(fā)應(yīng)用程序,首先遇到的問題就是 C 庫的問題,對 于 Linux 而言,就和 Redhat Linux 這種 JXARM92410 這種有 MMU的處理器平臺上的 PC Linux 完全一樣,用的都是不過是用不同的編譯器編譯而己。 JXARM92410 提供了編譯好的 glibc 庫 (.so 文件 )和靜態(tài)庫 (.a 文件 ),安裝在usr/local/arm/ 目錄下,在應(yīng)用程序中指定 了 編譯器的路徑后,就會自動鏈接這些庫文件 [911]。 畢業(yè)設(shè)計 (論文 ) 第 18 頁 圖 開發(fā)調(diào)試流程 操作系統(tǒng)的裁減 為了滿足客戶的特定需要 Linux 支持各種常見的硬件和文件系統(tǒng),這大大增加了內(nèi)核的規(guī)模,降低了執(zhí)行效率。而對于一個成熟的嵌入式系統(tǒng)來說,其硬件往往非常固定,并且由于嵌入式系統(tǒng)的特殊性對操作系統(tǒng)的大小有嚴(yán)格要求,所以需要對 Linux 內(nèi)核進(jìn)行裁減,去掉其中不需要的功能模塊。對內(nèi)核修改后需要重新編譯才即可生效,下面列出內(nèi)核編譯過程中需要用到的命令及作用。 make menuconfig: 核心配置命令,使用 make config 命令在不修改代碼的情況,就在宿主機(jī)上編輯源文件 開 始 使用交叉編譯工具gcc 編譯源文件 在宿主機(jī)上運行 mini 作為開發(fā)板的顯示終端 Mount :/tftpboot/ /mnt/nfs 進(jìn)入可執(zhí)行文件所在目錄運行程序 調(diào)試成功 結(jié)束 畢業(yè)設(shè)計 (論文 ) 第 19 頁 可以對內(nèi)核進(jìn)行裁減,把 floppy, SMP, SCSI, ISDN, joystick 等不需要模塊從內(nèi) 核中去掉。 make dep: 尋找模塊間的依存關(guān)系。 make clean: 清除以前構(gòu)核產(chǎn)生的所有目標(biāo)文件,模塊文件,核心以及一些臨時文件。 make rmporper: 刪除所有 在 構(gòu)核過程中產(chǎn)生的所有文件,即除了做 make clean 外,還要刪除 .config, .depend 等文件,把核心源碼恢復(fù)到原始的狀態(tài)。 Make: 構(gòu)建內(nèi)核。通過各目錄下的 Makefile 文件進(jìn)行。會在各個目錄下產(chǎn)生很多文件,若核心代碼沒有錯誤,產(chǎn)生文件核心文件 vmLinuxe。 make zlmage: 在 make 的基礎(chǔ)上產(chǎn)生壓縮的核 心映象文件。 make bzlmage: 在 make 的基礎(chǔ)上產(chǎn)生壓縮比例更大的核心映象文件,在核心太多時進(jìn)行。 make modules: 編譯模塊文件,在 make config 時所配置的所有模塊將在這時編譯,形成模塊目標(biāo)文件,并把這些目標(biāo)存在 modules 目錄中。 make modules install: 把上面編譯好的模塊目標(biāo)文件安裝在目標(biāo)中。 把經(jīng)過裁減編譯沒有錯誤的內(nèi)核 映像 文件燒寫到 Flash 里,重新啟動,新內(nèi)核就可以運行了。 畢業(yè)設(shè)計 (論文 ) 第 20 頁 4 MiniGUI的安裝和移植 MiniGUI 的特點和體系結(jié)構(gòu) MiniGUI 是由原清華大學(xué)教師魏永明主持開發(fā)的輕量級圖形系統(tǒng),現(xiàn)遵循 GPL 公約。能跨多種操作系統(tǒng),主要運行于 linux 及一切具有 POSIX 線程支持的 POSIX 兼容系統(tǒng),包括普通嵌入式 Linux、 eCos、 uC/OSII、 VxWorks 等系統(tǒng),是國內(nèi)最早的自由軟件之一。 MiniGUI的特點 MiniGUI 的主要特點有: 1. 遵循 GPL 條款的純自由軟件。 2. 提供了完備的多窗口機(jī)制。 3. 多字符集和多字體支持,目前支持 ISO8859 GB2312 及 Big5 等字符集,并且支持各種光柵字體和 TrueType、 Type 1 等矢量字體。 4. 全拼和五筆等漢字輸入法支持。 5. BMP、 GIF、 JPEG 及 PCX 等常見圖像文件的支持。 6. Windows 的資源文件支持,如位圖、圖標(biāo)、光標(biāo)、插入符、定時器及加速鍵等。 7. 可移植性好。 MiniGUI的體系結(jié)構(gòu) 從整體結(jié)構(gòu)上看, MiniGUI 是分層設(shè)計的。在最底層, GAL 和 IAL 提供底層圖形接口以及鼠標(biāo)和鍵盤的驅(qū)動;中間層是 MiniGUI 的核心層,包括窗口系統(tǒng)必不可少的各個模塊;最頂層是 API,即編程接口。 GAL 和 IAL 為 MiniGUI 提供了底層的 Linux控制臺或者 X Window 上的圖形接口以及輸入接口,而 Pthread 用于提供內(nèi)核級線程支持的 C 函數(shù)庫。利用 GAL 和 IAL,大大提高了 MiniGUI 的可移植性,并且使程序的開發(fā)和調(diào)試變得更加容易??梢栽?X Window 上開發(fā)和調(diào)試自己的 MiniGUI 程序,通過重新編譯就可以讓 MiniGUI 應(yīng)用程序運行在特殊的嵌入式硬件平臺上 [1012]。 畢業(yè)設(shè)計 (論文 ) 第 21 頁 圖 MiniGUI 的體系結(jié)構(gòu) MiniGUI 的安裝 MiniGUI 工適用于多種平臺,針對我們的 JXARM92410 開發(fā)版必須對 MiniGUI 進(jìn)行對特定硬件平臺的修改,才能產(chǎn)生在我們的開發(fā)板上運行的程序 .從飛漫軟件公司的網(wǎng)站 下載到,我們使用的版本是: : MiniGUI 庫函數(shù)源代碼。 : MiniGUI 所使用的資源。 ,:一些小例子。 在 PC 機(jī)上建立 minigui 目錄,將這些壓縮包都放在這個目錄下,然后 解壓。 編譯 libminigui,這個是 minigui 運行所必需的庫文件,必須編譯成功 [Root] cd /root/ [Root] ./configure 最簡單的編譯方式,讓它自己去配置,這里采用缺省的 Thread 模式而不是 Lite 模式,因為這種方式在 PC 機(jī)上使用最方便,后面移到板子上再改成 Lite 模式即可。 然后安裝 minigui 的資源庫: [Root] cd /root/ [Root] make install 修改 /etc/ 文件,在里面最后新加入一行 /usr/local/lib 畢業(yè)設(shè)計 (論文 ) 第 22 頁 然后執(zhí)行: [Root] ldconfig [Root] vi /usr/local/etc/ 修改以下內(nèi)容: [system] GAL engine gal_engine=fbcon gal_engine=qvfb //修改 IAL engine ial_engine=console ial_engine=qvfb //修改 mdev=/dev/mouse mtype=IMPS2 [fbcon] defaultmode=1024x76816bpp [qvfb] defaultmode=640x48016bpp //修改 display=0 最后安裝一個 qvfb 模擬器,用來 虛擬 Framebuffer。完成以上工作后, MiniGUI 就安裝完畢。 MiniGUI 的移植 1. 交叉編譯工具的安裝 首先,以 root 用戶登錄 linux 系統(tǒng)。 在主機(jī)下安裝交叉編譯器: rpm –ivh 默認(rèn)安裝路徑為: /usr/local/arm 2. 在 lib 目錄中配置 lib /configurehost=armunknownLinuxdisableliteprefix=/miniguifree/nfsroot 畢業(yè)設(shè)計 (論文 ) 第 23 頁 enablesmdk2410ial=yes 修改 configure,指明對特定硬件平臺的編譯器,連接器,在我們的 PC 機(jī)的根目錄的 /opt 目錄中存在適用于 S3C2410 的編譯器,連接器,故在文件開頭處增加: CC=/usr/local/arm/CPP=/usr/local/arm/LD=/usr/local/arm/AR=/usr/local/arm/RANLIB=/usr/local/arm/STRIP=/usr/local/arm/此外還要對 lib中源文件 src/ial 目錄中的 進(jìn)行修改,告訴 minigui 確定的 LCD設(shè)備名和如何從內(nèi)核中讀取觸摸屏的坐標(biāo)值。然后執(zhí)行 make, make install。由于定義了prefix=/minigui,所以生成的文件將存放在 /minigui 目錄中,我們采用的動態(tài)連接,所以進(jìn)入 /minigui 目錄中,刪除一些重復(fù)的文件和靜態(tài)庫,然后執(zhí)行/usr/local/arm/*,最終的庫文件的大小可縮減到在 1M 以內(nèi)。 3. 在 目錄中配置 res 修改 文件,指明 TOPDIR=/minigui。 Make install 即可。 4. 在 目錄中配置 mgsampIe ./configurebuild=1686pcLinuxgnuhost=armLinuxprefix=/minigui/LDFLAGS= I/minigui/lib CPPFLAGS=I/minigui/include CFLAGS=I/minigui/include make 即可 5. 添加相應(yīng)文件到 ramdisk 將 /minigui/lib 中 所 有 的 庫 文 件 copy 到 ramdisk 的 /lib 中,將 /minigui /usr/local/lib/minigui 目錄 copy 到 ramdisk 的 /lib 目錄中。同時在 ramdisk 中建立 /usr/local目錄,在該目錄中建立 lib 目錄, ln s /lib lib。 copy /miniguifree/ 文件到ramdiak 中的 /mnt/etc 目錄中。 copy 相應(yīng)的程序到 ramdisk 的 /bin 目錄即可。 畢業(yè)設(shè)計 (論文 ) 第 24 頁 Ramdisk Linux 系統(tǒng)除了內(nèi)核外,還必須有一個根目錄 (rootfs),里面包含了 Linux 的第一個進(jìn)程 init,用于交互的 shell 以及其他文件系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)工具等等。 在 rootfs 中一般包括 : 1. 一個 C 庫 :在 Linux 操作系統(tǒng)支持動態(tài)連接的 lib,它可以減少相同代碼的拷貝,節(jié)約內(nèi)存,也可以靜態(tài)連接,以減少動態(tài)調(diào)入時的 CPU 花費,常見的有 glibc, uclib, diet libc 等。 2. 一個用于交互的 shell:標(biāo)準(zhǔn)的 Linux 發(fā)行版中,常見的 shell 是 bash,ash 是 bash的一個小尺寸 的版本,它裁減了 bash 的一些功能,使得體積減小到 30KB 左右,是對體積敏感的嵌入式系統(tǒng)的首選。 3. 一個工具集 :在一個嵌入式系統(tǒng)中同樣不能缺少許多小工具, 比如 Is,mount, df, ps 等等,通常有兩種方法實現(xiàn)工具集,一是編譯一個個獨立的 mount,Is, ps 等工具,但這種方法既麻煩,尺寸又大。 Busybox 是一個微型工具集,具有模塊化,可擴(kuò)展,小尺寸以及適合多種 libc 等特點,它包含 file 工具集, shell 工具集, find 工具集, text 工具集, grep 工具集, gzip 工具集, tar 工具集等等,并且在動態(tài)連接 libc 時大小只有 200KB 左右,非常適合取嵌入式系統(tǒng),它是建立 Ramdisk 時的主要工具和內(nèi)容。對嵌入式系統(tǒng)來說 tel 服務(wù)器是個可選項,它提供網(wǎng)絡(luò)管理和調(diào)試功能,常用的是 tiny tel 服務(wù)器才 40KB 左右。 ftp 服務(wù)器也是一個可選項,它提供遠(yuǎn)程下載升級的能力。創(chuàng)建 8M 文件系統(tǒng)映像的過程如下 : dd if=/dev/zero of= bs=1k count=8192 lo setup/ dev/loop0 mke 2fs m 0 / dev/loop0 mount/ dev/loop0/ mnt cd /mnt 之后,建立系統(tǒng)必須的 bin, etc, dev, mnt, lib, proc, var, sbin, tmp,等目錄,并把系統(tǒng)文件,工具集文件,配置文件等前面準(zhǔn)備的文件拷貝到相應(yīng)相應(yīng)的目錄里, 再 umount /mnt 畢業(yè)設(shè)計 (論文 ) 第 25 頁 losetup d /dev/loop0 sync gzip 生成壓縮的 Linux 的文件系統(tǒng)映像
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1