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

正文內(nèi)容

基于嵌入式linux的ktv點歌系統(tǒng)畢業(yè)設(shè)計論文)word格式(編輯修改稿)

2025-01-04 10:20 本頁面
 

【文章內(nèi)容簡介】 行壓縮,并加入一段解壓的啟動代碼。 本實驗采用make zImage。 make zImage 生成的 Linux 映像文件 zImage 保存在/home/cvtech/jx2410/linux/arch/arm/boot/目錄下。 燒寫 Linux 映像 zImage 圖 Block device 配置選項 成功編 譯 Linux 內(nèi)核后,通過 JX2410 的 uboot 將核心下載到 SDRAM,另外內(nèi)核啟動過程將加載 RAMDISK 文件系統(tǒng),因此下載 zImage 之前,開發(fā)板需加載了根文件系統(tǒng) 。將 zImage 復(fù)制到宿主機 /tftpboot/目錄下,運行命令 cp /home/cvtech/jx2410/linux/arch/arm/boot/zImage /tftpboot 啟動 uboot,并在 uboot 中使用 tftp 下載 和 zImage。 然后啟動 mini: 命令為 mini 將 JXARM92410的串口 0與 PC的串口0連接,將 JXARM92410的網(wǎng)卡和 PC的網(wǎng)卡使用直連網(wǎng)線進行連接,或?qū)XARM92410和 PC機使用普通網(wǎng)線接入同一局域網(wǎng)。然后將 JXARM92410上 9 電,正常情況下將在 mini中看到 BootLoader菜單界面。然后在 BootLoader中按照如下 命令 進行: JX2410 tftp 30800000 RTL8019AS Founded! MAC : 0x80x00x3e0x260xa0x5b MAC: 0x0:0x0:0x0:0x0:0x0:0x0 TFTP from server 。 our IP address is Filename 39。39。. Load address: 0x30800000 Loading: done Bytes transferred = 4632504 (46afb8 hex) JX2410 tftp 30008000 zImage RTL8019AS Founded! MAC : 0x80x00x3e0x260xa0x5b MAC: 0x0:0x0:0x0:0x0:0x0:0x0 TFTP from server 。 our IP address is Filename 39。zImage39。. Load address: 0x30008000 Loading: done Bytes transferred = 871740 (d4d3c hex) JX2410 go 30008000 Unpressing Linux.............................................................. done, booting the kernel. 10 Linux version (root@LinuxLizm) (gcc version 20202020 (release)) 133 四 11月 18 11:07:55 CST 2020 CPU: ARM/CIRRUS Arm920Tsid(wb) revision 0 Machine: SamsungSMDK2410 制作板上根文件系統(tǒng) 根文件系統(tǒng)為 Linux 提供了 init 程序、 shell 命令、設(shè)備文件節(jié)點和運行 時 的庫文件等。內(nèi)核在沒有正確的根文件系統(tǒng)的情況下運行會出現(xiàn) panic 錯誤信息而終止。 在一個已建好的文件系統(tǒng)上進行修改 進入 /home/cvtech/jx2410/root 目錄并修改 ramdisk 文件系統(tǒng) : cd /home/cvtech/jx2410/root/ 創(chuàng)建一個掛載 ramdisk文件系統(tǒng)的目錄: mkdir rd 解壓縮 : gunzip 在 /home/cvtech/jx2410/root/目錄下會生成 ramdisk, ramdisk為解開后的 Linux的文件系統(tǒng)映像文件。 再將 ramdisk文件系統(tǒng)映像文件 mount到新建目錄 rd中: mount –o loop ramdisk rd/ 進入 rd目錄: cd rd/ 列出目錄中文件: ls 在命令終端中會看到以下顯示: bin dev etc lib linuette mnt proc qt sbin tmp usr var 這個就是 Linux的文件系統(tǒng),與目標(biāo)板啟動后的文件系統(tǒng)完全一樣。 此時用戶可以加入自己的應(yīng)用程序。卸裝文件系統(tǒng): umount rd 壓縮新生成的 ramdisk文件系統(tǒng)映像文件: 11 gzip ramdisk 得到的 就是新生 成的目標(biāo)根文件系統(tǒng)。 建立根文件系統(tǒng) 由于創(chuàng)維特提供的 ramdisk 文件系統(tǒng) 只 有 12MB,不能滿足本系統(tǒng)的要求,所以必須自己建立根文件系統(tǒng),根據(jù)本系統(tǒng)所使用的 MiniGUI 和 mSQL 軟件的庫文件大小并經(jīng)過試驗后得出將根文件系統(tǒng)大小設(shè)為 18MB。詳見參考文獻 [2]。 建立 loop 目錄為根文件系統(tǒng)臨時掛載點 : mkdir /mnt/loop 建立文件系統(tǒng)映象 : dd if=/dev/zero of=/tmp/ramdisk bs=1M count=18 注意可根據(jù)自己的需要建立大小合 適的文件系統(tǒng),更改 count 大小即可。 此處以 dd 命令建立了一個 18MB 文件系統(tǒng)映象,存于 /tmp/ramdisk,并以 .dev/zero對它進行初始化。用這種方式對文件系統(tǒng)進行初始化,稍后當(dāng)我們使用 gzip 命令壓縮整個映象時,將讓文件系統(tǒng)中未使用的部分獲得最大壓縮比。 將 /dev/loop0 格式化為 ext2 文件系統(tǒng) : mke2fs –t ext2 –F –v –m 0 /tmp/ramdisk 把 ramdisk 掛載到目錄 /mnt/loop 上 : mount o loop /tmp/ramdisk /mnt/loop 拷貝系統(tǒng)中所用到的庫文件、頭文件到 ramdisk 的 lib 和 include 目錄中,同時還有一些基本的應(yīng)用程序、設(shè)備文件、 init 初始化文件等均放在 ramdisk 所掛載的 /mnt/loop 下。 卸載文件系統(tǒng),得到的 /tmp/ramdisk 就是文件系統(tǒng)映像: umount /mnt/loop 壓縮新生成的 ramdisk文件系統(tǒng)映像文件: gzip ramdisk 就生成了新的根文件系統(tǒng) LCD 驅(qū)動 和 網(wǎng)絡(luò)驅(qū)動 本系統(tǒng)所用的圖形系統(tǒng) MiniGUI 訪問圖形設(shè)備是通過設(shè)備文件 /dev/fb 進行的,這是 LCD 的設(shè)備文件,該文件的操作是在 LCD 驅(qū)動程序中實現(xiàn)的。 LCD 12 驅(qū)動的主要工作是:首先初始化 LCD 控制器,分配顯示緩沖區(qū);第二,編寫 fb_ops結(jié)構(gòu)體中的成員函數(shù);最后實現(xiàn)文件操作結(jié)構(gòu)體 file_operations 中的主要函數(shù)。設(shè)備文件 /dev/fb 對應(yīng)一個幀緩沖設(shè)備 Framebuffer。 FrameBuffer 幀緩沖設(shè)備 FrameBuffer 機制模仿顯卡的功能,將顯卡硬件結(jié)構(gòu)抽象掉,可以通過 FrameBuffer 的讀寫直接對顯存進行操作。用戶可以將 FrameBuffer 看成是顯示內(nèi)存的一個映像,將其映射到進程地址空間后,就可以直接進行讀寫操作,而寫操作可以立即反映在屏幕上。 FrameBuffer 驅(qū)動主要基于以下兩個文件: linux/include/linux/、 linux/drivers/video/; 其中, 定義了幾乎所有的重要結(jié)構(gòu),以下 3 個結(jié) 構(gòu) 尤為重要: struct fb_info、 struct fb_var_screeninfo、 struct fb_fix_screeninfo; Linux 幀緩沖設(shè)備定義了 struct fb_info 結(jié)構(gòu)體作為驅(qū)動層的接口, fb_info 記錄了幀緩沖的全部信息,包括設(shè)置參數(shù)、狀態(tài)、操作函數(shù)指針等;每個幀緩沖設(shè)備均有一個 fb_info 結(jié)構(gòu) 體與之對應(yīng)。 struct fb_var_screeninfo 和 struct fb_fix_screeninfo 是兩個記錄設(shè)備狀態(tài)的結(jié)構(gòu)體。 JXARM924101 開發(fā)板 Linux 顯示( FrameBuffer)驅(qū)動程序 Linux 內(nèi)核啟動時將自動加載定義在 /linux/drivers/video/ 文件的FrameBuffer 驅(qū)動,它是由一個全局變量 fb_drivers 定義的,所以將 JXARM92410的顯示驅(qū)動添加到 fb_drivers 中,以支持目標(biāo)板 FrameBuffer 驅(qū)動。 static struct{ const char *name; int ( * init)( void); int ( * setup)( char *); }fb_drivers[]_initdata={ ifdef CONFIG_FB_S3C2410 {―s3c2410‖, s3c2410fb_init, s3c2410fb_setup}, endif } 13 其中 s3c2410fb_init 是 JXARM92410 的 FrameBuffer 初始化函數(shù),該函數(shù)由內(nèi)核初始化時調(diào)用一次,它主要進行 LCD 相關(guān)硬件初始化以及注冊 FrameBuffer驅(qū)動程序等。 JXARM924101 開發(fā)板 FrameBuffer 驅(qū)動中重要的數(shù)據(jù)結(jié)構(gòu): struct s3c2410fb_info、 struct fb_var_screeninfo、 struct fb_fix_screeninfo、 struct file_operations s3c2410fb_ops 對幀緩沖設(shè)備的操作是通過 s3c2410fb_ops 中的函數(shù)來實現(xiàn)的 。 網(wǎng)絡(luò)驅(qū)動 Linux 的網(wǎng)絡(luò)系統(tǒng)主要是基于 BSD Unix 的 socket 機制。在系統(tǒng)和驅(qū)動程序之間定義有專門的數(shù)據(jù)結(jié)構(gòu)( sk_buff)進行數(shù)據(jù)的傳遞。系統(tǒng)里支持對發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的緩存,提供流量控制機制,提供多協(xié)議的支持。 Linux 中,有一個網(wǎng)絡(luò)設(shè)備抽象接口,這個接口提供了對所有網(wǎng)絡(luò)設(shè)備的操作方法。由以 dev_base 為頭指針的設(shè)備鏈表來集體管理所有網(wǎng)路設(shè)備,其中每個 元素代表一個網(wǎng)絡(luò)設(shè)備接口。該接口由數(shù)據(jù)結(jié)構(gòu) struct device 來表示網(wǎng)路設(shè)備在內(nèi)核中的運行情況,所有的設(shè)備都由該結(jié)構(gòu)描述并建立在統(tǒng)一的接口之上。這些設(shè)備既可以是純軟件的網(wǎng)絡(luò)設(shè)備接口,也可以是具體的硬件網(wǎng)絡(luò)設(shè)備接口。 數(shù)據(jù)結(jié)構(gòu) device 中有很多訪問網(wǎng)絡(luò)設(shè)備的基本函數(shù)接口,包括 提 供設(shè)備初始化和系統(tǒng)注冊用的 init 函數(shù)、打開和關(guān)閉網(wǎng)絡(luò)設(shè)備的 open 和 stop 函數(shù)、處理數(shù)據(jù)包發(fā)送的函數(shù) hard_start_xmit 以及中斷處理函數(shù)等。 14 4 圖形界面( MiniGUI)應(yīng)用程序開發(fā) MiniGUI 簡介 MiniGUI 是基于自由軟件項目開發(fā)的一個輕量級的圖形用戶界面支持系統(tǒng),它為在資源緊缺的嵌入式系統(tǒng)中實現(xiàn)圖形界面顯示提供良好的支持。它的編程風(fēng)格與在 Windows 環(huán)境下用 API 進行圖形界面應(yīng)用程序開發(fā)非常相似。詳情見參考文獻 [7]。 MiniGUI 的安裝及配置 MiniGUI 的安裝 安裝 libminigui [root]mkdir /home/work [root]cd /home/work 解壓 并安裝 庫文件 [root]tar zxf [root]cd [root]./configure [root]make [root]make install 安裝 minigui 資源文件 解壓并安裝 資源 文件 [root]tar zxf [root]cd /home/work/ [root]make install MiniGUI 的 默認安裝路徑為 /usr/local/lib 修改 文件,配置修改如下: …… [system] GAL engine gal_engine=qvfb IALengine 15 ial_engine=qvfb …… [qvfb] defaultmode=800x60016bpp 3 、安裝 qvfb ,因為 RedHat9 里面沒有,從地址:。 [root]tar zxf [root]cd [root]./configure [root]make [root]make install 把 qvfb 的安裝路徑加到可執(zhí)行路徑中去, qvfb 裝在 /usr/local/bin 下 [root]vi /etc/profile 在 Path manipulation 下面加一行 pathmunge /usr/loca
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1