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

正文內(nèi)容

基于嵌入式linux的ktv點歌系統(tǒng)畢業(yè)設(shè)計論文)word格式-在線瀏覽

2025-02-01 10:20本頁面
  

【正文】 嵌入式 KTV 點歌 系統(tǒng)概述 本系統(tǒng)設(shè)計主要使用了 mSQL 管理數(shù)據(jù),操作系統(tǒng)使用 Linux,用戶圖形界面使用了 MiniGUI。 點歌系統(tǒng)由客戶端、服務(wù)器組成。服務(wù)器充當(dāng)數(shù)據(jù)管理員的角色,可以對數(shù)據(jù)進行增刪改查操作。 論文的主要工作 搭 建開發(fā)平臺。 對 Linux 內(nèi)核進行裁剪,制作根文件系統(tǒng)。 進行 MiniGUI 應(yīng)用程序的編寫,做出 KTV 點歌系統(tǒng)的圖形化界面,其中包括主機端和客戶端。 將 mSQL 嵌入到 MiniGUI 中進行程序設(shè)計。 交叉編譯程序,使系統(tǒng)在開發(fā)板上運行起來。目標(biāo)處理器采用 Samsung 公司的S3C2410X 微處理器。系統(tǒng)具有體積小、功耗低、處理能力強等特點。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中集成了以下的部件: 16KB 指令 Cache、 16KB 數(shù)據(jù) Cache、 MMU、外部存儲控制器、 LCD 控制器( STN 和 TFT)、 NAND Flash 控制器、 4 個 DMA 通道、 3 個 UART 通道、 1 個 I2C 總線控制器、 1 個 I2S 總線控制器,以及 4 個 PWM定時器和 1 個內(nèi)部定時器、通用 I/O 口、實時時鐘、 8 通道 10 位 ADC 和觸摸屏接口、 USB 主、 USB 從、 SD/MMC 卡接 口等。 交叉編譯工具鏈 交叉編譯工具鏈的目的是為了在一個平臺體系結(jié)構(gòu)下能編譯、鏈接、處理和調(diào)試另一個平臺體系結(jié)構(gòu)下的程序,使得編譯生成的程序能夠在另一個平臺下運行。 與 JXARM924101 開發(fā)板配套的光盤里有交叉編譯工具鏈,版本號為,解壓在宿主機的 /usr/local/arm/ 目錄下。具體情況可見參考文獻 [1]。 在宿主機上執(zhí)行: $setup,然后 5 選擇 System service,將其中的 tftp 一項選中,并去掉 ipchains 和 iptable 兩項服務(wù),還要選擇 Firewall configuration,選中 No firewall。 配置 NFS 服務(wù) 本系統(tǒng)已安裝 NFS 服務(wù)器程序,僅需配置。用命令 $/etc/,設(shè)置 生效。在宿主機端 Linux下執(zhí)行: mini –s 圖 mini配置 1 第一次使用時需要對串口進行配置, 參照 上 圖 ,相應(yīng)輸入左邊的―A‖、 ―B‖等字符將出現(xiàn)配置各自參數(shù)的界面,分別配置成 上 述設(shè)置 , 保存 并退出后 將啟動 mini程序,此時將 JXARM92410的 UART0連接到 PC機串口并將JXARM92410上電 既可 。將 Linux 內(nèi)核移植到 ARM 的時候要打上 ARM 公司的補丁。該系統(tǒng)除了完成基本的內(nèi)核移植外,還完善了大量外圍設(shè)備的驅(qū)動。移植的難度也取決于 兩種硬件平臺的差異。 由于 Linux 內(nèi)核具備可移植性的特點,并且已經(jīng)支持了各種體系結(jié)構(gòu)的很多種目標(biāo)板,很容易從中找到 和 自己硬件類似的目標(biāo)板。內(nèi)核移植工作, 主要 就是添加開發(fā)板初始化和驅(qū)動程序的代碼。下面進行 ARM S3C2410 平臺內(nèi)核代碼移植。這樣,參考板上的設(shè)備驅(qū)動程序多數(shù)可以直接使用。這就需要根據(jù)硬件修改或者開發(fā)驅(qū)動程序。對于交叉開發(fā),在編譯之前要在頂層的 Makefile 中設(shè)置 ARCH、 CROSS_COMPILE 和EXTRA_VERSION 變量,然后才能選擇配置出特定的體系結(jié)構(gòu)平臺。該選項將載入 jx2410的標(biāo)準(zhǔn)配置文件 configjx2410,此文件保存在 /home/cvtech/jx2410/linux 目錄下,不要修改此文件。 建立依賴關(guān)系 make dep 編譯 8 編譯:可以通過 make 或者 make zImage 進行編譯,他們的差別在于 make zImage 將 make 生成的核心進行壓縮,并加入一段解壓的啟動代碼。 make zImage 生成的 Linux 映像文件 zImage 保存在/home/cvtech/jx2410/linux/arch/arm/boot/目錄下。將 zImage 復(fù)制到宿主機 /tftpboot/目錄下,運行命令 cp /home/cvtech/jx2410/linux/arch/arm/boot/zImage /tftpboot 啟動 uboot,并在 uboot 中使用 tftp 下載 和 zImage。然后將 JXARM92410上 9 電,正常情況下將在 mini中看到 BootLoader菜單界面。 our IP address is Filename 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 。zImage39。內(nèi)核在沒有正確的根文件系統(tǒng)的情況下運行會出現(xiàn) panic 錯誤信息而終止。 再將 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)完全一樣。卸裝文件系統(tǒng): umount rd 壓縮新生成的 ramdisk文件系統(tǒng)映像文件: 11 gzip ramdisk 得到的 就是新生 成的目標(biāo)根文件系統(tǒng)。詳見參考文獻 [2]。 此處以 dd 命令建立了一個 18MB 文件系統(tǒng)映象,存于 /tmp/ramdisk,并以 .dev/zero對它進行初始化。 將 /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 下。 LCD 12 驅(qū)動的主要工作是:首先初始化 LCD 控制器,分配顯示緩沖區(qū);第二,編寫 fb_ops結(jié)構(gòu)體中的成員函數(shù);最后實現(xiàn)文件操作結(jié)構(gòu)體 file_operations 中的主要函數(shù)。 FrameBuffer 幀緩沖設(shè)備 FrameBuffer 機制模仿顯卡的功能,將顯卡硬件結(jié)構(gòu)抽象掉,可以通過 FrameBuffer 的讀寫直接對顯存進行操作。 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)。 JXARM924101 開發(fā)板 Linux 顯示( FrameBuffer)驅(qū)動程序 Linux 內(nèi)核啟動時將自動加載定義在 /linux/drivers/video/ 文件的FrameBuffer 驅(qū)動,它是由一個全局變量 fb_drivers 定義的,所以將 JXARM92410的顯示驅(qū)動添加到 fb_drivers 中,以支持目標(biāo)板 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)的 。在系統(tǒng)和驅(qū)動程序之間定義有專門的數(shù)據(jù)結(jié)構(gòu)( sk_buff)進行數(shù)據(jù)的傳遞。 Linux 中,有一個網(wǎng)絡(luò)設(shè)備抽象接口,這個接口提供了對所有網(wǎng)絡(luò)設(shè)備的操作方法。該接口由數(shù)據(jù)結(jié)構(gòu) struct device 來表示網(wǎng)路設(shè)備在內(nèi)核中的運行情況,所有的設(shè)備都由該結(jié)構(gòu)描述并建立在統(tǒng)一的接口之上。 數(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ù)等。它的編程風(fēng)格與在 Windows 環(huán)境下用 API 進行圖形界面應(yīng)用程序開發(fā)非常相似。 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 里面沒有,從地址:。 環(huán)境搭建好了,可以進行測試了: 解壓 ,此包里包含的是一 些例子: [root]tar zxf [root]./configure [root]make [root]cd src [root]qvfbamp。 [root]cd /home/work/[root]./helloworld 可以看到在 qvfb 中的執(zhí)行效果了。 16 MiniGUI 的本地運行環(huán)境設(shè)置 MiniGUI 默認配置實用 NATIVE/FBCON 圖形引擎,這個圖形引擎是建立在Framebuffer 基礎(chǔ)上的,所以在 Linux 系統(tǒng)下使用 MiniGUI 要激活 Framebuffer 設(shè)備驅(qū)動程序。 為了使 MiniGUI 應(yīng)用程序能正確找到需要的 MiniGUI 函數(shù)庫,需要設(shè)置系統(tǒng)的默認路徑,即修改 /etc/ 文件,在此文件的最后一行增加目錄“ /usr/local/lib” ,然后保存文件。使用命令: [root]/sbin/ldconfig。詳情見參考文獻 [3]。 static CTRLDATA CtrlAddSong[] = { { static,WS_VISIBLE | SS_SIMPLE,20,50,40,20, IDC_SNO,編號 ,0,WS_EX_NONE }, { edit,WS_VISIBLE | WS_BORDER | WS_TABSTOP, 90, 50, 150, 25,IDC_ESNO,0,WS_EX_NONE }, { static,WS_VISIBLE | SS_SIMPLE,260, 50, 40, 20, IDC_SNAME,歌名 ,0,WS_EX_NONE }, { edit,WS_VISIBLE | WS_BORDER | WS_TABSTOP, 330, 50, 150, 25,IDC_ESNAME,0,WS_EX_NONE }, { static,WS_VISIBLE | SS_SIMPLE,20, 125, 40, 20, IDC_STYPE,類型 ,0,WS_EX_NONE }, { edit,WS_VISIBLE | WS_BORDER | WS_TABSTOP, 90, 125, 150, 25,IDC_ESTYPE,0,WS_EX_NONE }, { static,WS_VISIBLE |
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1