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

正文內(nèi)容

基于arm9的流媒體播放器的設(shè)計課程設(shè)計(存儲版)

2025-10-08 19:48上一頁面

下一頁面
  

【正文】 以 根據(jù)自己的需求 對 MPlayer 進行配置了,本文的配置為: ./configure prefix=/home/player hostcc=gcc cc=armlinuxgcc target=arm enablestatic disablewin32dll disableivtv disabledvdread 21 disabledvdreadinternal disabledvdnav disablelibdvdcssinternal enablefbdev disablemencoder disablelive disablemp3lib enablemad withextraincdir=/opt/toolchains/arm920teabi/lib/include withextralibdir=/opt/toolchains/arm920teabi/lib/lib enablelibavcodec_a disablelive 2amp。在驅(qū)動程序中會注冊每個按鍵所對應(yīng)的中斷, 每當有按鍵按下的時候就會進入到中斷處理函數(shù),在中斷處理函數(shù)里將記錄具體是哪個按鍵被按下。主要測試的是播放器的應(yīng)用程序能否按要求工作,對于常見的視頻格式是否能支持,為此準備了以下幾種多媒體格式的文件進行測試: MP MP AVI、 WMV、 MOV、。 int play_flags=0。 char name_tmp[WORD]。 exit(EXIT_FAILURE)。 if(new == NULL){ perror(malloc)。 tmpnext = head。 } /* 打印雙向鏈表每個節(jié)點的值 */ void print_list(pnode head) { pnode tmp = headnext。 node_tmp = paraprev。 29 } else wait(NULL)。 } //繼續(xù)播放 void continue_play(pid_t pid_tmp) { play_flags=1。 // strcpy(next_name, share_tmpname_tmp)。 printf(\nkey3 down prev\n)。 } else if(id_test 0){ } } //退出播放程序 void stop_play(struct share *share_tmp) { first_press=1。 char *p=NULL。 int key_tmp。 if (buttons_fd 0) { perror(open device button)。 void *shmadd=(void *)0。 int ret。 //保存目錄名字 DIR *dir。 } id_test=fork()。 } else if(id_test 0){ } } //播放上一文件 void pre_play(struct share *share_tmp,int mem_id,pnode head) { pnode node_tmp。 /* kill 原來的子進程和孫子進程 */ kill(share_tmpid_tmp,SIGKILL)。 printf(\nkey1 down, pause\n)。 share_paraid_tmp = getpid()。 void *shmadd=(void *)0。 } else { tmp= tmpnext。 tmp = new。 in。 head = (pnode)malloc(sizeof(node))。 }node,*pnode。要完成這一步工作本人還需要進一步的學習。 詳細的程序設(shè)計 請參考 參考 附件 A。 GQ2440 開發(fā)板有 6 個按鍵,它們均從 CPU 中斷引腳直接引出,屬于低電平觸發(fā) , 下 表 為各按鍵和中斷 源 的對應(yīng)關(guān)系。 ( 1) 配置 MPlayer。制作 yaffs 文件系統(tǒng)的工具是 mkyaffs2image,我們可以從網(wǎng)上下載和安裝好,然后使用如下命令 : makeyaffs2image rootfs 即可生成 根文件系統(tǒng)映像,把 下載到開發(fā)板 Flash 存儲器的指定位置即可工作。 Bin目錄和 sbin 目錄中包含了系統(tǒng)命令, usr 中包含的是用戶命令 。第二種方法是使用一些開源的工具構(gòu)建根文件系統(tǒng),例如使用 BusyBox、 TinyLogin 和 Embutils。 基于以上比較本文將選用 yaffs 作為根文件系統(tǒng)。 若系統(tǒng) 正常 掛載根文件系統(tǒng),則系統(tǒng)會出錯而 退出啟動,所以要為嵌入式系統(tǒng)構(gòu)建一個根文件系統(tǒng)。 endif 然后還要在 driver/video/Kconfig 中加入如下配置信息: config FB_S3C2410_T240320 Boolean “ inch 240X320 Toppoly LCD” depends on FB_S3C2410 Help inch 240X320 Toppoly LCD 接著可以使用 make menuconfig 命令進入內(nèi)核配置,選擇相應(yīng)的選項并退出保存,然后重新編譯內(nèi)核即完成了 LCD 驅(qū)動的移植工作。 xres 和 yres 則分別是屏幕的水平和垂直分辨率。mini2440_nand_info 。 S3C2440 的 NAND Flash驅(qū)動是以 platform 驅(qū)動的形式實現(xiàn)的,在執(zhí)行 probe()函數(shù)時,初始化 nand_chip 實例并運行 nand_scan()函數(shù) 掃描 NAND Flash 設(shè)備,最后調(diào)用 add_mtd_partitions()函數(shù)添加 BSP 文件中定義的分區(qū)表。 這時候可以回到 的源代碼根目錄下分別執(zhí)行如下命令: 9 make mini2440_defconfig; make zImage; mini2440_defconfig 是官方自帶的對 mini2440 的配置。 打開 Makefile 文件找到以下信息: export KBUILD_BUILDHOST : = $(SUBARCH) ARCH ? = $(SUBARCH) CROSS_COMPILE ? = 把它改為: export KBUILD_BUILDHOST : = $(SUBARCH) ARCH ? = arm CROSS_COMPILE ? = armlinux 其中, ARCH 是指定目標平臺為 ARM, CROSS_COMPILE 是指定交叉編譯器,這里指定為系統(tǒng)默認的交叉編譯器。其實 Mini2440 是參考三星公司的 SMDK2440 設(shè)計而來的,它們的核心電路基本是一樣的,而且內(nèi)核對SMDK2440 的支持非常豐富, 所以本文將使用 Mini2440 的配置并以 SMDK2440 為參考進行移植 Linux 內(nèi)核的移植 。 ( 4)配置和編譯。 NULL:這位用于表示開發(fā)商者或經(jīng)銷商 。而今 UBoot 作為一個主流Bootloader, 已經(jīng) 成功地被移植到包括 PowerPC、 ARM、 X8 MIPS、 NIOS、 XScale等主流體系結(jié)構(gòu)上的百種開發(fā)板,成為功能最多、靈活性最強,開發(fā)性最積極的開源 Bootloader。 交叉開發(fā)模式是指先在 主機 上編寫程序,然后通過交叉編譯 工具編譯程序 ,生成目標平臺上可運行的二進制 文件 ,最后下載到 具體的 目標平臺上 進行運行 [7]。 圖 為視頻播放器的硬件系統(tǒng)框圖 , 其中 S3C2440處理器除了 負責對音視頻文件進行解碼工作 外,還要負責對整個視頻播放器進行管理 和控制 ; LCD 為播放器的視頻輸出模塊 ; UDA1341 芯片為音頻的輸出模塊,負責將 經(jīng)處理器 解碼后得到的音頻數(shù)據(jù)轉(zhuǎn)換為模擬信號,并傳遞給麥克風等輸出裝置; Flash 存儲器負責對 Linux 內(nèi)核、根文件系統(tǒng)、應(yīng)用軟件和視頻文件的存儲工作;按鍵用于完成對視頻播 放 器的控制工作。 主要介紹播放器的硬件 整體 架 構(gòu)和軟件系統(tǒng)的層次 結(jié)構(gòu) 。在軟件方面基本上市面上的便攜 式視頻播放器 2 都 帶有嵌入式操作系統(tǒng),主要的操作系統(tǒng)有 Vxworks、 Palm OS、 Windows CE、 Linux、Android 以及廠家自己開發(fā)的操作系統(tǒng) 。 所謂嵌入式是指以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件、硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng) [1]。 本文提出了一種基于 ARM9 處理器,以嵌入式 Linux 為底層操作平臺的 嵌入式 視頻播放器的設(shè)計方案。面對廣闊的市場需求,海內(nèi)外的各大廠商也在 積極 研發(fā)自己的產(chǎn)品 以 搶占市場 。 所以可以選用 ARM 處理器 配合 Linux 進行產(chǎn)品 的 設(shè)計 ,這樣 可以充分的利用 Linux 開源的特性,根據(jù)需要修改和移植 一些免費 的 開源軟件 , 這樣不僅能 降低 產(chǎn)品研發(fā) 的 難度,加快產(chǎn)品的上市時間, 還 能省去一筆不菲的 軟硬件 授權(quán)費用。 第四章,視頻播放器的設(shè)計與實現(xiàn)。如圖 所示為 視頻播放器的 整個 軟件系統(tǒng)層次圖。 Bootloader 的移植 Bootloader 是在操作系統(tǒng)運行之前執(zhí)行的一小段程序,它在系統(tǒng)上電時開始執(zhí)行,初始化硬件設(shè)備、建立內(nèi)存空間的映射表 ,從而建立適當?shù)南到y(tǒng)軟硬件環(huán)境,為最終調(diào)用操作系統(tǒng)內(nèi)核做好準備 [6]。選擇的原則為,首先選擇 MCU 相同的開發(fā) 板 ,如果沒有,則選擇 MPU 相同的開發(fā)板作為參考,這樣能大大的降低移植的難度。 在 board 目錄下存放著許多 UBoot 支持的開發(fā)板的子目錄, 進行移植時要為具體的開發(fā)板建立目錄并添加相應(yīng)文件。對于嵌入式系統(tǒng)來說,有各種體系 結(jié)構(gòu) 的處理器平臺, 使用的外圍硬件也不一樣 。 Linux 的源代碼是開源的,可以到 Linux 的官方網(wǎng)站 : 8 載 Linux 源代碼 ,本文使用的源代碼為 。我們進入 件,這就是外國的開發(fā)者對 Mini2440 設(shè)計的 BSP,因為它對 Mini2440 的支持十分有限,所以 可以 不使用它,把它刪掉。 所以 接下來 還應(yīng)該 為具體的硬件 移植相應(yīng)的硬件驅(qū)動程序。 接下來還應(yīng)把開發(fā)板的 NAND Flash設(shè)置表和 NAND Flash本身的一些特性注冊進內(nèi)核,分別在 中加入以下代碼: static struct s3c2410_nand_set friendly_arm_nand_sets[] = { [0] = { .name = NAND, .nr_chips = 1, .nr_partitions = ARRAY_SIZE(friendly_arm_default_nand_part), .partitions = friendly_arm_default_nand_part, }, }。 LCD 顯示器自然是必不可少 的, 內(nèi)核已經(jīng)支持 S3C2440 的 LCD 控制器驅(qū)動,只要在 中注冊具體的 LCD硬件參數(shù)即可完成 LCD 驅(qū)動的移植工作。其中 s3c2410fb_mach_info 用于表示 LCD 顯示器的平臺信息。s3c24xx_uda134x_data, } }。 Yaffs 是第一個為 NAND Flash 存儲器設(shè)計的嵌入式文件系統(tǒng),適用于大容量的存儲設(shè)備,并且在 GPL 協(xié)議下發(fā)布,可免費獲得其代碼 [9]。按照 FHS 標準,根文件系統(tǒng)頂層目錄至少要包含如下的目錄:bin、 sbin、 boot、 root、 home、 etc、 dev、 opt、 mnt、 lib、 proc、 tmp、 usr、 var。 ( 1) 配置編譯 Busybox。 根據(jù) FHS 的標準還要在 rootfs 目錄里面添加如下幾個目錄:boot、 root、 home、 etc、 dev、 opt、 mnt、 lib、 proc、 tmp、 var。 MPlayer 是一款開源的多媒體播放器,以 GNU 通用公共許可證發(fā)布, MPlayer具有占用資源 低 、支持格式廣泛和輸出設(shè)備支持多的特點。1 | tee logfile ( 2) 配置好 MPlayer 就可以對 MPlayer 進行編譯了,這時候只要執(zhí)行 make 命令就可以 了。應(yīng)用程序可以 22 通過對按鍵驅(qū)動的設(shè)備文件進行讀取來獲知按鍵的狀態(tài), 并根據(jù)相應(yīng)的按鍵狀態(tài)進視頻播放器進行控制。經(jīng)過測試按鍵控制程序是能正常工作的,并且對于以上幾種視頻格式也能正常的播放,總體上達到了視頻播放器的設(shè)計要求。 int id_test。 27 }。 }
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1