




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計說明書 第II頁基于ARM9的視頻監(jiān)控系統(tǒng)摘 要論述了基于ARM微核的微處理器上的嵌入式Linux操作系統(tǒng)的移植技術(shù),結(jié)合具體實(shí)例給出了在特定硬件平臺上的實(shí)現(xiàn)過程,并且詳細(xì)說明了如何建立交叉開發(fā)環(huán)境的方法。對其他嵌入式操作系統(tǒng)的開發(fā)同樣具有參考意義。關(guān)鍵詞 :操作系統(tǒng);ARM;LinuxAbstract PortingtechniqueofembeddedLinuxoperatingsystembasedonARMisdiscussedinthispaper.Theportingprocessonthespecialhardwareplatformisi
2、mplementedandcross2compileenvironmentisbuildedwiththeconcreteexamples.TheembeddedLinuxportingishelpfultoexploitotherembededoperatingsystem.Keywords: operatingsystem;ARM;Linux 目 錄1. 課程設(shè)計目的12. 課程設(shè)計題目描述和要求12.1 設(shè)計的意義12.2 設(shè)計實(shí)現(xiàn)功能要求12.3 設(shè)計用到的設(shè)備13. 課程設(shè)計報告內(nèi)容23.1系統(tǒng)的工作原理23.2建立Linux開發(fā)環(huán)境23.2.1安裝Fedora9.023.
3、2.2建立交叉編譯環(huán)境23.2.3解壓安裝源代碼和工具33.2.4配置網(wǎng)絡(luò)文件系統(tǒng)NFS服務(wù)33.3 定制Linux內(nèi)核43.4 制作目標(biāo)文件系統(tǒng)映象113.5 移植bootloader113.6 移植Linux內(nèi)核123.7移植根文件系統(tǒng)13總 結(jié)14參考文獻(xiàn)15課程設(shè)計說明書 第15頁1. 課程設(shè)計目的1) 掌握Linux開發(fā)壞境的搭建;2) 了解Linux內(nèi)核的配置和文件系統(tǒng)的制作;3) 掌握bootloader、內(nèi)核和文件系統(tǒng)的移植;4) 鞏固本學(xué)期所學(xué)的關(guān)于“嵌入式Linux操作系統(tǒng)”方面的知識。2. 課程設(shè)計題目描述和要求2.1 設(shè)計的意義伴隨著嵌入式技術(shù)、圖像處理技術(shù)和無線網(wǎng)絡(luò)傳
4、輸技術(shù)的發(fā)展,傳統(tǒng)模擬視頻監(jiān)控系統(tǒng)和基于PC的遠(yuǎn)程視頻監(jiān)控系統(tǒng)由于自身的不足,已經(jīng)無法滿足現(xiàn)代社會應(yīng)用中不斷涌現(xiàn)出來的新需求,于是基于嵌入式技術(shù)的無線網(wǎng)絡(luò)數(shù)字視頻監(jiān)控系統(tǒng)就應(yīng)因而生了。例如遠(yuǎn)程監(jiān)控、遠(yuǎn)程教學(xué)、遠(yuǎn)程醫(yī)療診斷、遠(yuǎn)程購物、遠(yuǎn)程探視、電視電話會議等應(yīng)用都迫切需要高質(zhì)量的網(wǎng)絡(luò)視頻傳輸?shù)闹С?。考慮到了所用的硬件設(shè)備大部分都已經(jīng)具備和我們所學(xué)到的知識及本身的能力有限,選擇基于ARM9的視頻監(jiān)控系統(tǒng)作為我們本次的課程設(shè)計題目是比較實(shí)際而且比較容易掌握嵌入式開發(fā)的基本方法,這也為將來實(shí)現(xiàn)無線視頻監(jiān)控系統(tǒng)打下堅實(shí)的基礎(chǔ)1。2.2 設(shè)計實(shí)現(xiàn)功能要求1) 利用USB攝像頭進(jìn)行采集圖像數(shù)據(jù)的采集;2)
5、利用S3C2440對所采集到圖像數(shù)據(jù)進(jìn)行壓縮;3) 通過以太網(wǎng)卡模塊將壓縮后的圖像信息發(fā)送到網(wǎng)絡(luò)上。2.3 設(shè)計用到的設(shè)備1) 帶有串口和并口的計算機(jī)2) 友善之臂開發(fā)板3) USB攝像頭4) JTAG調(diào)試器5) 串口線3. 課程設(shè)計報告內(nèi)容3.1系統(tǒng)的工作原理系統(tǒng)可以分為4 個模塊:圖像采集模塊、圖像存儲模塊、圖像處理與系統(tǒng)控制模塊、圖像數(shù)據(jù)發(fā)送模塊。系統(tǒng)在S3C2440 的控制下從USB 攝像頭采集圖像數(shù)據(jù),然后經(jīng)過DMA 方式將圖像數(shù)據(jù)傳輸?shù)絻?nèi)存緩沖區(qū)中,由軟件將圖像數(shù)據(jù)讀出并對圖像數(shù)據(jù)進(jìn)行壓縮和打包處理后存入Flash 中, 最后經(jīng)過以太網(wǎng)絡(luò)發(fā)送到遠(yuǎn)程接收端服務(wù)器。本系統(tǒng)的設(shè)計難點(diǎn)是如
6、何保證內(nèi)存中圖像數(shù)據(jù)的讀取與USB 攝像頭的同步以及圖像數(shù)據(jù)的實(shí)時處理。系統(tǒng)采用S3C2440 作為嵌入式處理器, 由于S3C2440 高達(dá)400MHz 的處理能力,完全可以完成圖像數(shù)據(jù)的實(shí)時處理需求,比一般采用添加圖像硬件處理模塊減少了系統(tǒng)的成本2。3.2建立Linux開發(fā)環(huán)境3.2.1安裝Fedora9.03.2.2建立交叉編譯環(huán)境搭建交叉編譯環(huán)境是嵌入式開發(fā)的第一步,也是必備的一步。搭建交叉環(huán)境的方法很多,不同的體系結(jié)構(gòu)、不同的操作內(nèi)容甚至是不同版本的內(nèi)核,都會用到不用的交叉編譯器,選擇合適的交叉編譯器對于嵌入式開發(fā)是非常重要的。由于我們本次用到的是linux 內(nèi)核,故我
7、們選擇了編譯器arm-linux-gcc-4.3.23。以下安裝交叉編譯器的步驟:1、下載交叉編譯器arm-linux-gcc-4.3.2,下載地址:/download/projects/toolchain/arm-linux-gcc-4.3.2.tar.bz22、復(fù)制arm-linux-gcc-4.3.2.tar.bz2到目錄 tmp/下并解壓:# cd /tmp# tar xvzf arm-linux-gcc-4.3.2.tar.bz23、把編譯器路徑加入系統(tǒng)環(huán)境變量,運(yùn)行命令#gedit /root/.bashrc編輯/root/.bashr
8、c 文件,在最后一行設(shè)置:export PATH=$PATH:/usr/local/arm/4.3.2/bin3.2.3解壓安裝源代碼和工具1、下載linux 內(nèi)核源代碼下載地址:/pub/linux/kernel/v2.6/linux-.tar.gz2、復(fù)制內(nèi)核代碼至目錄/tmp/linux 并解壓# tar xvzf linux-.tar.gz3、解壓目標(biāo)文件系統(tǒng)這里我們使用現(xiàn)有的根文件系統(tǒng)資源root_qtopia-20100108.tgz,將它復(fù)制至目錄/usr/src 并解壓# tar xvzf
9、root_qtopia-20100108.tgz4、安裝目標(biāo)文件系統(tǒng)映象制作工具mkyaffs2image要把上一步中的root_qtopia 目錄燒寫入目標(biāo)板中使用, 就需要使用相應(yīng)的mkyaffs2image 工具,它是一個命令行的程序,使用它可以把主機(jī)上的目標(biāo)文件系統(tǒng)目錄制作成一個映象文件,以燒寫到開發(fā)板中4。#tar xvzf /tmp/linux/mkyaffs2image.tgz C /3.2.4配置網(wǎng)絡(luò)文件系統(tǒng)NFS服務(wù)1、設(shè)置共享目錄運(yùn)行命令 #gedit /etc/exports編輯 nfs 服務(wù)的配置文件,添加以下內(nèi)容:/opt/FriendlyARM/mini2440/r
10、oot_qtopia *(rw,sync,no_root_squash)其中:/opt/FriendlyARM/mini2440/root_qtopia 表示nfs 共享目錄,它可以作為開發(fā)板的根文件系統(tǒng)通過nfs 掛接;* 表示所有的客戶機(jī)都可以掛接此目錄rw 表示掛接此目錄的客戶機(jī)對該目錄有讀寫的權(quán)力;no_root_squash 表示允許掛接此目錄的客戶機(jī)享有該主機(jī)的root 身份52、啟動NFS 服務(wù)在命令行下運(yùn)行:#/etc/init.d/nfs start3.3 定制Linux內(nèi)核 Linux 內(nèi)核是一個社區(qū)共同開發(fā)的作品,具備一個現(xiàn)代操作系統(tǒng)的所有功能,并能對絕大多數(shù)硬件提供支持
11、。然而,我們本次設(shè)計有很多功能都沒有用到的,為了盡可能減少編譯出來的內(nèi)核體積,在配置內(nèi)核時,只需要配置需要用到的模塊。常用的配置內(nèi)核的方法有make config ,make menuconfig和make xconfig這里我們使用最廣泛的make menuconfig6。執(zhí)行“make menuconfig”,可進(jìn)入配置內(nèi)核界面:1、配置CPU平臺選項(xiàng)在主菜單里面,選擇System Type,按回車進(jìn)入,使用上下方向控制鍵一直找到 S3C2440 機(jī)器平臺選項(xiàng),可以進(jìn)入 S3C2400 Machines 子菜單,可以看到里面有很多常見的使用 S3C2440 的目標(biāo)板平臺選項(xiàng),在此選“Fri
12、endlyARM Mini2440 development board”72、配置萬能驅(qū)動USB攝像頭在Device Drivers 菜單里面,選擇 Multimedia devices,回車進(jìn)入,選擇如圖“*”號選項(xiàng),并選擇Video capture adapters 進(jìn)入出現(xiàn)如圖菜單,找到如圖選項(xiàng)并進(jìn)入出現(xiàn)如圖菜單,選擇如圖“*”號選項(xiàng),再選GSPCA based webcams 進(jìn)入這里我們選擇所有類型USB 攝像頭的支持1) 配置網(wǎng)卡驅(qū)動要配置網(wǎng)卡驅(qū)動,首先要配置網(wǎng)絡(luò)協(xié)議支持.在主菜單中,選擇 Netwoking support,回車進(jìn)入子菜單, 選擇 Networking optio
13、ns 并進(jìn)入下一級菜單,如圖配置選項(xiàng)選擇完畢,一直退回到主菜單,并選擇進(jìn)入 Device Drivers 菜單。找到 Network device support,選擇進(jìn)入下一級菜單, 找到并進(jìn)入 Ethernet (10 or 100Mbit) 選項(xiàng)8, 選中:<*> Generic Media Independent Interface device support<*> DM9000 support2) 配置串口驅(qū)動在 Character devices 菜單中,選擇進(jìn)入Serial drivers - - ->,選擇如圖選項(xiàng),來配置串口驅(qū)動3) 配置yaf
14、f2s文件系統(tǒng)的支持要使用 yaffs2 文件系統(tǒng),需要先配置nand flash 驅(qū)動支持,在Device drivers 菜單中選擇MTD 選項(xiàng),按回車進(jìn)入,找到 NAND Device Support 選項(xiàng)并進(jìn)入,如圖選擇 Nand Flash 驅(qū)動支持返回到內(nèi)核配置主菜單,找到 File systems 選項(xiàng)進(jìn)入,然后找到選項(xiàng) Miscellaneous filesystems 并進(jìn)入,再找到 YAFFS2 支持選項(xiàng),如圖選擇4) 配置NFS文件系統(tǒng)在 File System 菜單中,選擇Network File Systems 文件系統(tǒng)的支持且進(jìn)入, 選擇如圖選項(xiàng),這樣配置編譯出的內(nèi)
15、核就可以通過 NFS 啟動系統(tǒng)了。完成內(nèi)核的配置并保存好,接著執(zhí)行命令:#make dep ;生成依賴文件#make zImage ;生成壓縮的內(nèi)核影象文件3.4 制作目標(biāo)文件系統(tǒng)映象進(jìn)入/opt/FriendlyARM/mini2440 工作目錄,執(zhí)行以下命令:#cd /opt/FriendlyARM/mini2440#mkyaffs2image root_qtopia root_qtopia.img3.5 移植bootloader(1) 打開DNW 程序,接上USB 電纜,根據(jù)菜單選擇功能號v開始下載supervivi(2)點(diǎn)擊“USB Port->Transmit/Restore”
16、選項(xiàng),并選擇打開文件supervivi開始下載。(3)下載完畢,BIOS 會自動燒寫supervivi 到Nand Flash 分區(qū)中,并返回到主菜單。3.6 移植Linux內(nèi)核(1)在BIOS 主菜單中選擇功能號k,開始下載linux 內(nèi)核zImage(2) 點(diǎn)擊“USB Port->Transmit”選項(xiàng),并選擇打開相應(yīng)的內(nèi)核文件zImage開始下載.(3) 下載完畢,BIOS 會自動燒寫內(nèi)核到Nand Flash 分區(qū)中,并返回到主菜單3.7移植根文件系統(tǒng)(1)在BIOS 主菜單中選擇功能號y,開始下載yaffs 根文件系統(tǒng)映象文件(2) 點(diǎn)擊“ USB Port->Tran
17、smit/Restore ” 選項(xiàng), 并選擇打開相應(yīng)的文件系統(tǒng)映象文件(3)下載完畢,BIOS 會自動燒寫內(nèi)核到Nand Flash 分區(qū)中,并返回到主菜單總 結(jié)本次設(shè)計參考了眾多書籍及網(wǎng)絡(luò)上的理論知識,在理解的基礎(chǔ)上結(jié)合思考及實(shí)踐,根據(jù)現(xiàn)有的硬件設(shè)備,對完整的內(nèi)核代碼進(jìn)行了相應(yīng)的裁減,配置出適合我們所設(shè)計的系統(tǒng)的內(nèi)核。整個過程看似有點(diǎn)按部就班,但真正操作起來并沒有那么簡單,很多時候都會出現(xiàn)一些莫名其妙的錯誤,以致無法進(jìn)行下一步的操作。這時就需要回歸到理論方面的知識中去,經(jīng)過多次嘗試及同學(xué)的幫助才能得以解決。參考文獻(xiàn)1李新峰、何廣生。基于ARM9的嵌入式Linux開發(fā)技術(shù)。電子工業(yè)出版社,20082孫天澤。嵌入式Linux操作系統(tǒng)。人民郵電出版社。20093ARM9 Linux 實(shí)驗(yàn)教程。深圳英蓓特公司出品,20054楊水清、張劍
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 彩鋼板產(chǎn)品知識培訓(xùn)課件
- 活動效果跟蹤記錄表格(事件類)
- 建筑工地施工安全管理與預(yù)案
- 電子廢物回收與處理協(xié)議
- 物業(yè)管理服務(wù)具體協(xié)議
- 數(shù)據(jù)管理中心辦公場所表格(特定公司情境)
- 麻疹的防治知識培訓(xùn)課件
- 酒店防汛知識培訓(xùn)課件
- 小學(xué)低年級繪本故事解讀
- 新能源充電站運(yùn)營與管理手冊
- 2025年哈爾濱幼兒師范高等??茖W(xué)校單招職業(yè)技能測試題庫學(xué)生專用
- 企業(yè)內(nèi)部系統(tǒng)使用權(quán)限規(guī)范
- 2024年亳州職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫
- 2025年旅行與旅游的未來:擁抱可持續(xù)與包容性增長報告(英文版)-世界經(jīng)濟(jì)論壇
- 學(xué)校跟移動公司合作協(xié)議
- 茶館項(xiàng)目創(chuàng)業(yè)計劃書
- 化工生產(chǎn)中的智能優(yōu)化
- 《西方經(jīng)濟(jì)學(xué)》(上冊)課程教案
- 施工合同協(xié)議書樣本
- 醫(yī)學(xué)綜合題庫(含答案)
- 工會一函兩書模板
評論
0/150
提交評論