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

正文內(nèi)容

基于linux的嵌入式流媒體點(diǎn)播系統(tǒng)畢業(yè)論文-閱讀頁

2025-03-18 09:57本頁面
  

【正文】 自帶了 部分 Nand Flash驅(qū)動(dòng), 但是系統(tǒng)默認(rèn)的分區(qū)不是 該 項(xiàng)目 所需的。 cd vi arch/arm/machs3c2440/ //編輯平臺初始化文件 //創(chuàng)建 MTD 分區(qū)表 static struct mtd_partition mini2440_default_nand_part[] = { [0] = {.name = supervivi, //bootloader 分區(qū),對應(yīng) 設(shè)備塊 /dev/mtdblock0 .size = 0x00040000, //大小 256k .offset = 0,}, //起始地址 0x00000000 [1] = { .name = param, // supervivi 的參數(shù)區(qū),對應(yīng) 塊設(shè)備 /dev/mtdblock1 .offset = 0x00040000, .size = 0x00020210,}, //大小 128K [2] = { .name = Kernel, //內(nèi)核 分區(qū),大小為 5M,對應(yīng) /dev/mtdblock2 .offset = 0x00060000, .size = 0x00500000,}, //大小 5M [3] = { .name = root, //根 文件系統(tǒng)分區(qū),對應(yīng) /dev/mtdblock3 .offset = 0x00560000, .size = 1024 * 1024 * 1024, }, [4] = { .name = nand, //表示 整片的 nand flash .offset = 0x00000000, .size = 1024 * 1024 * 1024, }}。 19 //構(gòu)建一個(gè) s3c2410_platform_nand 類型的 mini2440_nand_info 結(jié)構(gòu)體 static struct s3c2410_platform_nand mini2440_nand_info = { .tacls = 20, //nand電平 nWE開始時(shí)間 .twrph0 = 60, // nWE持續(xù)時(shí)間 .twrph1 = 20, //nWE結(jié)束時(shí)間 .nr_sets = ARRAY_SIZE(mini2440_nand_sets), .sets = mini2440_nand_sets, .ignore_unset_ecc = 1,}。s3c_device_usb, amp。s3c_device_i2c0, amp。s3c_device_nand, 。 為內(nèi)核打補(bǔ)丁支持 yaffs2 Linux 支持的文件系統(tǒng)很多,論文采用的是 yaffs2 文件作為根文件系統(tǒng) 。 移植 DM9000 網(wǎng)卡驅(qū)動(dòng) 網(wǎng)卡 是 一 個(gè) 平 臺 設(shè) 備 , 在 目 標(biāo) 平 臺 初 始 化 代 碼 中/arch/arm/machs3c2440/ 填寫 相應(yīng)的結(jié)構(gòu)表 , 具體添加 如下: 添加網(wǎng)卡設(shè)備 的資源設(shè)置, 才能夠 和 DM9000 網(wǎng)卡驅(qū)動(dòng)接口 配合 使用 : static struct resource mini2440_dm9k_resource[] = { //片選信息 [0] = { .start = MACH_MINI2440_DM9K_BASE, .end = MACH_MINI2440_DM9K_BASE + 3, .flags = IORESOURCE_MEM}, [1] = { .start = MACH_MINI2440_DM9K_BASE + 4, 20 .end = MACH_MINI2440_DM9K_BASE + 7, .flags = IORESOURCE_MEM}, [2] = { .start = IRQ_EINT7, .end = IRQ_EINT7, //說明 中斷管腳接在 EINT7,上升沿觸發(fā)中斷 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,}}。 static struct platform_device mini2440_device_eth = { .name = dm9000, .id = 1, .num_resources = ARRAY_SIZE(mini2440_dm9k_resource), .resource = mini2440_dm9k_resource, .dev = { .platform_data = amp。 把上面做好的網(wǎng)卡平臺添加設(shè)備設(shè)備集中 static struct platform_device *mini2440_devices[] __initdata = { amp。s3c_device_lcd, amp。s3c_device_nand, amp。 移植 LCD 顯示驅(qū)動(dòng) 由于 內(nèi)核已經(jīng)支持 S3C2440 的 LCD 控制器驅(qū)動(dòng), LCD 工作中 最關(guān)鍵的就是 取決于 時(shí)鐘頻率 (Clock frequency)參數(shù) 的設(shè)置, 內(nèi)核是通過一個(gè)稱為“ pixclock”的參數(shù)來 調(diào)節(jié)。 cd vi arch/arm/machs3c2440/ mini2440 開發(fā)板 使用的是 統(tǒng)寶 , 把友善之臂已經(jīng)移植好的代碼加入,統(tǒng)寶 的配置和參數(shù)設(shè)置 如下。 //構(gòu)建 lcd 配置結(jié)構(gòu)體 mini2440_fb_info static struct s3c2410fb_mach_info mini2440_fb_info __initdata = { .displays = amp。 添加觸摸屏驅(qū)動(dòng) 由于 內(nèi)核 沒有包含支持 S3C2440 的觸摸屏驅(qū)動(dòng),因此 需要 添加 設(shè)計(jì) 一個(gè) 觸摸屏 驅(qū)動(dòng) 文件,放置 于 linuxsrc/drivers/input/touchscreen 目錄下,增 加 一 個(gè) 友 善 之 臂 提 供 的 文 件 。 vi +obj$(CONFIG_TOUCHSCREEN_S3C2410) += 22 移植 SD 卡驅(qū)動(dòng) 由于 已經(jīng)自帶了 S3C2440 芯片的 SD 卡驅(qū)動(dòng), 所以 只需在初始化代碼中加入 SD 平臺設(shè)備結(jié)構(gòu)就可以 。 并把 SD 卡結(jié)構(gòu)設(shè)備添加到目標(biāo)平臺設(shè)備集中 static struct platform_device *mini2440_devices[] __initdata = { amp。s3c_device_lcd, amp。s3c_device_nand, amp。 注意, 上面驅(qū)動(dòng) 修改 好之后, 每一步都要執(zhí)行 make menuconfig 在菜單選項(xiàng)中選中相應(yīng)的配置項(xiàng),這樣在編譯時(shí)修改的代碼才會起效。結(jié)果 如圖 54 所示 。由于MPlayer 是個(gè)開源軟件,內(nèi)置了多種解碼器,可以播放很多主流音視頻文件,被稱為嵌入式 linux 中最好的播放工具。 播放器 主界面 設(shè)計(jì) Qt/Embedded 是著名的圖形庫 Qt 開發(fā)商 Trolltech 專門面向嵌入式系統(tǒng)開發(fā)的 Qt 版本。 由于交叉編譯出來的應(yīng)用程序具有良好的可移植性,很多使用 Linux 開發(fā)的 Qt 應(yīng)用程序可以很方便 地移植到相應(yīng)的嵌入式系統(tǒng)上去??蛻舳塑浖譃椋阂曨l信息接收顯示模塊和視頻播放模塊, 每個(gè)模塊對應(yīng)一個(gè)窗體。選擇不同的按鈕進(jìn)入不同的播放模式,上面 角有個(gè) 多 選項(xiàng)卡, 選項(xiàng)卡里有 play 和localplay 不同的播放選項(xiàng)以及幫助信息 選項(xiàng) 。 圖 57 播放器主界面界面 圖形用戶界面( GUI)模塊主要負(fù)責(zé)用戶和系統(tǒng)的交互,本系統(tǒng)中 GUI 模塊本地播放 網(wǎng)絡(luò)播放 接受 信息 信息顯示 數(shù)據(jù)接收 解碼 播放 客戶操作 26 的開發(fā)主要由 Qt/Embedded 工具完成 [13]。 其中 QWidget類是所有用戶界面對象的基類 , 圖形用戶界面應(yīng)用程序的控制流 就是 該 類 負(fù)責(zé) 。 代碼的啟動(dòng)是從主函數(shù) main()開始的 ,在這里啟動(dòng)第一個(gè)界面即播放器的主界面。 ()。 QDialog 類是對話框窗口的基 類 ,對話框窗口是主要用于短期任務(wù)以及和用戶進(jìn)行簡要通訊的頂級窗口。 播放窗口按鍵 間 通信通過 signal 和slot 來接收信號, QT信號槽機(jī)制 signal 和 slot 機(jī)制真正實(shí)現(xiàn)了封裝的概念,這里 signal 和 slot 在聲明后 通過 connect( )函數(shù)來進(jìn)行調(diào)用。// 構(gòu)造一個(gè)父對象為 parent、名稱為 name 的對話 框 , 非模式 show()顯示,產(chǎn)生一個(gè)沒有邊際的窗體 ~ Main_vod ()。 //定義本地播放指針按鈕 MyButton* B__paly。//網(wǎng)絡(luò)播放 virtual void local_play_clicked()。 網(wǎng)絡(luò)播放和本地播放的函數(shù)定義如下: //網(wǎng)絡(luò)播放 //本地播放 void Main_vod::_play_clicked() void Main_vod::local_play_clicked() { { close()。 Net_play n_Vod。 ()。 ()。 } } 調(diào)用函數(shù) 實(shí)現(xiàn) 主界面 的顯示 Main_vod:: Main_vod ( QWidget* parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ) { //設(shè)置顯示窗體名字、大小及背景圖片 setName(Main_vod)。 setMaximumSize(QSize(268,200))。 //主界面多選按鈕 QPopupMenu *file=new QPopupMenu。 setFont(f)。 fileinsertItem(Local play,this,SLOT(local_play_clicked()))。 QMenuBar *menu。 menusetGeometry(QRect(0,0,268,10))。 //構(gòu)造本地播放按鈕名字、坐標(biāo)及背景圖片 B_local_play=new MyButton(this,B_local_play)。 B_local_playsetMinimumSize(QSize(47,47))。 B_local_playsetPaletteBackgroundPixmap(QPixmap::fromMimeSource(images/))。 //構(gòu)造網(wǎng)絡(luò)播放按鈕名字、坐標(biāo)及背景圖片 B__play=new MyButton(this,B__play)。 B__playsetMinimumSize(QSize(47,47))。 B__playsetPaletteBackgroundPixmap(QPixmap::fromMimeSource(images/))。 //播放窗口按鍵通信通過 signal 和 slot 來接收信號, signal 和 slot 機(jī)制真正實(shí)現(xiàn)了封裝 ,通過 connect( )函數(shù)來進(jìn)行調(diào)用。 29 connect(B__paly,SIGNAL(clicked()),this,SLOT( _play_clicked()))。 主 界面如下所示: 圖 58 播放器主界面 30 6 系統(tǒng)的集成與 調(diào)試 系統(tǒng) 采用 mini2440 開發(fā)板, 它采用 Samsung S3C2440 為微處理器, 同時(shí)具有豐富的硬件接口資源。 系統(tǒng)播放 將設(shè)計(jì)好的視頻 播放器 交叉編譯后 移植到 ARM平臺嵌入式系統(tǒng)中,啟動(dòng)開發(fā)板,進(jìn)入主界面,主界面會有網(wǎng)絡(luò)播放和本地播放選擇按鈕。點(diǎn)擊 本地播放 可以打開本地視頻文件播 放,該播放器同時(shí)支持播放、暫停、快進(jìn)、快退、音量控制等功能,該客戶端采用了 MPlayer 的視頻解碼及 S3C2440 內(nèi)置的 硬件編解碼器, 能支持目前主流的 avi 視頻格式, 播放效果如下所示。 開發(fā)了 加載 引導(dǎo) 程序,移植 了 內(nèi)核及設(shè)計(jì)了播放器主界面 。系統(tǒng)集成后基本 實(shí)現(xiàn)了視頻點(diǎn)播的功能,但是在播放高清視頻以及音視頻解碼同步方面有點(diǎn)小問題,有待于優(yōu)化。在后續(xù)的開發(fā)中,可以從以下幾個(gè)方面展開工作: ( 1)、設(shè)計(jì)基于 GPRS 網(wǎng)絡(luò)的視頻點(diǎn)播,實(shí)現(xiàn)用戶隨時(shí)隨地觀看視頻。 ( 3)、 播放更多格式的視頻,提供更多的人性化用戶界面選擇。隨著嵌 入式產(chǎn)品的發(fā)展,視頻壓縮算法的進(jìn)步,嵌入式 Linux 視頻點(diǎn)播系統(tǒng)必然會有廣闊的發(fā)展空
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1