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

正文內(nèi)容

基于嵌入式linuxgps研究及設(shè)計(專業(yè)版)

2025-08-08 20:23上一頁面

下一頁面
  

【正文】 此定位也采用了差分定位技術(shù),即至少同時有兩臺或者是兩臺以上的接收機同時觀察。監(jiān)控站在對衛(wèi)星軌道進行測量計算后,得出的誤差會回傳給衛(wèi)星。[\u\h=W]39。其下載地址為。 下面例舉一個簡單的Makefile文件。所謂的Makefile文件其實就是一個描述項目中各個源文件編譯、鏈接等規(guī)則的文件。將數(shù)據(jù)從內(nèi)核空間復制到用戶空間,這樣才能被上層應用程序調(diào)用。 //開啟定時器計時 return IRQ_HANDLED。i)) //申請按鍵對應的中斷號 {return 1。除此之外,模塊加載函數(shù)中還應該包括下列代碼,即初始化等待隊列頭、設(shè)置定時器處理函數(shù)、申請中斷號、設(shè)置按鍵狀態(tài)與IO口的中斷方式等等。 按鍵驅(qū)動設(shè)計①定義所需資源首先要設(shè)置按鍵緩沖區(qū)[44],主要是防止多次按下按鍵而處理器未來得及處理,所以要用緩沖區(qū)來緩存。 對比方法①和②,可以發(fā)現(xiàn)方法①更耗時間,因為它要重新編譯一次內(nèi)核,更換了內(nèi)核之后還必須重啟系統(tǒng)才能看到效果,這樣會嚴重影響開發(fā)進度。因為我們還沒有在其中添加各種外設(shè)的驅(qū)動?!缑媸腔贕tk窗口,要求GTK被安裝。這就是一根屬于C分區(qū)的樹,“C:”就是這棵樹的樹根。Linux操作系統(tǒng)發(fā)行版的種類很多,有Debian、Fedora、Ubuntu等等,這里我們選用的系統(tǒng)是Fedora9[36],它是red hat公司支持的社區(qū)版本。次版本號有偶數(shù)和奇數(shù)之分,次版本號是奇數(shù)的版本為測試版本,不穩(wěn)定。本課題未進行引導程序的編譯移植,直接使用友善之臂提供的引導程序——supervivi,在超級終端上的顯示界面如圖1所示:圖1 supervivi啟動 supervivi start Linux內(nèi)核的移植 Linux內(nèi)核下載 Linux內(nèi)核可以說是Linux操作系統(tǒng)最核心的部分,它的版本眾多。 和Uinx類似,Minix也是用C語言編寫的,由于C語言的可移植性很好,從而可以很容易的移植到其他機器上??梢詾檎麄€要用到的LED燈編寫一個LED驅(qū)動[30],將驅(qū)動加入到操作系統(tǒng)之中。例如三星的S3C44B0。像此類系統(tǒng)能夠通過檢測某些參數(shù)并將數(shù)據(jù)直接通過網(wǎng)絡(luò)傳輸?shù)交ヂ?lián)網(wǎng)上,達到在線監(jiān)控的目的。另外,它充分實現(xiàn)了硬件與軟件的裁剪,不需要的部分不會被添加上,從而實現(xiàn)功能的定制, 嵌入式系統(tǒng)分類 由于嵌入式系統(tǒng)的定義本身就很寬泛,基本上很難給出其一個明確的定義,所以根據(jù)不同的分類標準嵌入式系統(tǒng)有不同的分類方法。第6章 總結(jié)與展望:在完成本設(shè)計所需的功能后,對該設(shè)計所做的工作進行了總結(jié),提出所方案的一些局限性和不完善的地方并給出了改進意見,對將來該方向的研究工作做了進一步的展望。(2)針對具體的CPU及操作系統(tǒng)編寫相應的應用程序。最終美軍70年代初在“子午儀衛(wèi)星導航定位”技術(shù)上發(fā)展起來了具有全球性、全能性(陸地、海洋、航空與航天)、全天候優(yōu)勢的導航定位、定時、測速系統(tǒng)就是我們現(xiàn)在一直廣泛運用的GPS定位系統(tǒng)[12]。最后,本文對所作的工作做了一個總結(jié),指出存在的不足及改進方法,為后續(xù)的研究設(shè)計作了指導。本文首先闡述課題研究的技術(shù)背景、現(xiàn)實意義和研究現(xiàn)狀,對嵌入式系統(tǒng)和GPS模塊的功能作了分析。嵌入式系統(tǒng)是指以應用為中心、以計算機技術(shù)為基礎(chǔ)、軟硬件可以裁剪、適應于應用系統(tǒng)對功能、可靠性成本、體積、功耗嚴格要求的專用計算機系統(tǒng)[5]。 在GPS應用領(lǐng)域,車輛應用所占的比例較大[18]。由于采用了信號與槽機制,更使得編程更加方便,編程的代碼更加優(yōu)化,運行起來更加安全。嵌入式產(chǎn)品的組成五花八門,多種多樣。再比如當潮濕度超過特定的閥值的時候,必須20毫秒打開閥門的系統(tǒng),要求在20毫秒內(nèi)必須完成,否則會產(chǎn)生很嚴重的后果。相反,以前傳統(tǒng)的復雜指令集的計算機更側(cè)重硬件執(zhí)行指令的功能性。其實不然,俗話說,存在的即是合理的。T發(fā)布版本7時,它開始認識到Unix的商用價值,于是在后期使得其源代碼的研究收到限制,這使得以前教學中用到的源代碼分析不得不略去。③ 軟件資源不斷增加由于如今Linux操作系統(tǒng)的廣泛應用,很多軟件廠商都意識到它的重要性,紛紛開始針對此系統(tǒng)編寫相應的軟件。這些補丁文件是方便那些已經(jīng)下載并使用了一種內(nèi)核版本后想要再繼續(xù)升級的用戶。另外就是在啟動過程,我們會發(fā)現(xiàn)裝載了雙系統(tǒng)之后,系統(tǒng)啟動時會先進入Linux系統(tǒng)的引導程序中,然后才讓用戶選擇是進入Windows還是進入Linux,這就導致了Windows的引導程序被隔離了。當上述條件滿足時,配置環(huán)境基本上已經(jīng)搭建好了。所謂配置內(nèi)核,就是對內(nèi)核中的選項進行選擇,比如內(nèi)核運行的硬件平臺是哪種,內(nèi)核當中要加入哪些設(shè)備的驅(qū)動等等,這些都需用用戶選擇。 編譯并下載Linux內(nèi)核 在配置完內(nèi)核之后,還需指定交叉編譯的變量??傊?,由于內(nèi)核將上層應用程序與底層硬件隔開了,每一類設(shè)備都必須要添加一個驅(qū)動才能使用。如圖8所示,按鍵的使用一般可分為兩個過程,即:按下和彈起。 //緩沖區(qū)的頭,尾指針 wait_queue_head_t key_queue。 //初始化等待隊列頭for(i=0。j++) //判斷并保存按鍵的鍵值 { if(key_info[j].irq_no==irq) { kzhi=key_info[j].key_no。每次往緩沖區(qū)寫數(shù)據(jù)時都是寫到頭指針指向的位置,然后頭指針會指向下一個單元。之后回到內(nèi)核主目錄下,執(zhí)行“make menuconfig”將按鍵驅(qū)動選擇編譯為模塊,并保存退出。規(guī)則的編寫格式如下圖13所示:圖13 Makefile語法格式 Makefile grammar format格式說明:注釋 ——與shell腳本一樣,Makefile文件中語句行的注釋也是以“”號開頭,后面接的內(nèi)容用于解釋附近的語句。 然而,我們將上述編譯語句分割成下面的幾行內(nèi)容: ①gcc –c –o ②gcc –c –o ③gcc –c –o ④gcc –o abd 并將它們根據(jù)Makefile的語法規(guī)則正確編寫進一個Makefile文件時,此時我們可以發(fā)現(xiàn),我們只要重新執(zhí)行上面的①④兩步即可?!?,對Busybox進行相關(guān)配置。下面一一介紹。把接收機天線放置在一個已知坐標的坐標點上,這個接收機就被稱為參考站或基站。因為當衛(wèi)星信號穿過電離層時,它的速度降低的多少與其頻率的高低呈現(xiàn)反比。此定位方法是在單機定位的基礎(chǔ)上發(fā)展來的。此信號包括三種分量,分別是數(shù)據(jù)碼、測距碼(C/A碼和P碼)和載波信號(L1和L2)。之后再使用命令“./”執(zhí)行此腳本。如果不使用Makefile文件,那么我們可以用下面的語句來執(zhí)行整個編譯過程:gcc –o abd 此種編譯方式看似簡單,其實存在著很大的缺陷。)來重建它,對于不需要更新的文件make什么也不做。圖9 按鍵驅(qū)動流程 key drive process 按鍵驅(qū)動測試將編寫好的驅(qū)動程序,將其放入內(nèi)核源碼中的drivers/char/目錄下,修改該目錄下的Kconfig與Makefile[47]文件,在Kconfig中添加圖10所示代碼;在Makefile中添加圖11所示代碼中的畫線部分。⑤ 文件操作結(jié)構(gòu)體[46]及相關(guān)函數(shù)由于按鍵只能用于輸入,所以在文件操作結(jié)構(gòu)體中,除必備的打開與關(guān)閉函數(shù)外,只需再增加read函數(shù)用于讀取按鍵的輸入即可。static irqreturn_t key_interrupt_chuli(int irq,void *dev_id,struct pt_regs *regs){ for(j=0。init_waitqueue_head(amp。 //為每個按鍵設(shè)置相應的定時器struct key_dev { unsigned char buf[KEY_MAX_BUF]。在我們的開發(fā)過程中涉及到的設(shè)備較多,不方便一一細說,這里就以按鍵的驅(qū)動為例解釋驅(qū)動的裝載過程。Linux系統(tǒng)下驅(qū)動程序是運行在內(nèi)核態(tài)的,是和內(nèi)核連接在一起的程序。此時再執(zhí)行“make menuconfig。再比如drivers目錄,里面就包含了各種設(shè)備的驅(qū)動程序。在配置較好的PC機上,編譯一個Linux內(nèi)核的時間也至少需要幾十分鐘,可想而知,在arm[37]平臺上編譯會多么慢,這對于開發(fā)人員是很不利的。 對于方案一,雖然有速度上的優(yōu)點(因為啟動Linux操作系統(tǒng)時整個硬件資源都被其使用),但是對于我們用慣了Windows操作系統(tǒng)的用戶,缺點也是隨之而來的。一般從官網(wǎng)下載的文件都有一定的保證,所以此文件是否要用,隨用戶自己而定。另外,由于源代碼完全公開,用戶可根據(jù)自己的情況先分析源代碼,再加以改動以完全適應新的硬件。在Unix的早期的時候,系統(tǒng)的源代碼就可以免費的被人們得到。但是當他們轉(zhuǎn)向?qū)W習嵌入式的,往往會覺得操作系統(tǒng)的存在,使得他們與底層的硬件存在了隔閡,從而覺得很難入手。RISC是一套能在高時鐘頻率下單周期執(zhí)行,簡單而有效的指令集。在此類設(shè)備上,執(zhí)行某個特定任務(wù)的響應時間不是那么特別重要。它一般是由一個CPU,配置上小型的內(nèi)存、硬盤及針對性的外設(shè)組成。(3)采用界面美觀的QT圖形設(shè)計平臺。用于測定航空航天攝影瞬間的相機位置,實現(xiàn)僅有少量地面控制或無地面控制的航測快速成圖。如今,嵌入式技術(shù)的發(fā)展比較成熟。GPS是一種電子手持設(shè)備,它通過接受天上的衛(wèi)星信號,將接受到的數(shù)據(jù)通過換算,從而得出此設(shè)備所在的經(jīng)度和緯度等信息,并將其以圖形界面的方式顯示在地圖中,使用戶可以通過地圖確認自己的位置。就如同當年電的發(fā)明一樣,GPS技術(shù)和基于該項技術(shù)的各種信息處理平臺現(xiàn)在幾乎隨處可見,這一技術(shù)得到了極其普遍的推廣和應用。這個系統(tǒng)向擁有接收設(shè)備的全球范圍內(nèi)的用戶提供精確、連續(xù)的三維位置和速度信息及世界協(xié)調(diào)時。(4)研究圖形界面的工作原理及編寫圖形界面程序。若想要實現(xiàn)各種各樣的手持設(shè)備的功能,則要再添加一些相應的外設(shè),擴展后移植外設(shè)的驅(qū)動程序,再編寫對應上層應用程序即可實現(xiàn)。單機嵌入式系統(tǒng) 單機嵌入式系統(tǒng)是相對獨立的,以單機方式工作,功能上較單一,只是獲取輸入并產(chǎn)生輸出。 嵌入式處理器嵌入式處理器,也就是通常說的嵌入式CPU,它是整個嵌入式系統(tǒng)的大腦,控制著此平臺上的軟件,使其正常運行。如三星公司的S3C2410,S3C2440(本課題選用的就是此芯片)。另外,加入操作系統(tǒng)之后,內(nèi)存分配的問題基本上都讓操作系統(tǒng)自行解決了,不用用戶操心。 Minix[33]發(fā)布后不久,就出現(xiàn)了一大部分人想向Minix中加入一些新特性,想使其更實用。 由于Linux內(nèi)核源碼是完全公開的,所以針對嵌入式開發(fā)者來說,要想做到內(nèi)核的精簡,則必須自己去下載相應版本的Linux內(nèi)核源碼,然后根據(jù)自己的需要去配置內(nèi)核,最后再去編譯出來。 Linux內(nèi)核配置 在進行Linux內(nèi)核的配置之前,先介紹一下我們選用的配置環(huán)境。安裝好的VMware軟件如圖3所示:圖3 VMware Workstation界面 VMware Workstation interface 安裝好的Fedora9系統(tǒng)的界面如圖4所示:圖4 Fedora9界面 Fedora9 interface 到此,操作系統(tǒng)部分已經(jīng)就緒了,下面就該安裝一個交叉編譯器了。 因為我們是要在Fedora9系統(tǒng)中解壓,那么自然要使用Linux系統(tǒng)的解壓命令。——基于文本菜單的配置界面,簡單效果好,推薦使用。所謂驅(qū)動,簡單來說,就是上層應用程序的函數(shù)庫。Linux系統(tǒng)的設(shè)備分為3種類型,分別是字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。define KEY_MAX_BUF 16 //按鍵緩沖區(qū)容量define KEY_NUMBER 6 //按鍵數(shù)目define KEY_TIMER_DELAY100MS (HZ/10) //時延100msdefine KEY_TIMER_DELAY20MS (HZ/50) //時延20msstruct KEY_INFO{ int irq_no。因此,IO口的中斷方式也必須加以選擇。屏蔽本中斷是為了防止在本次中斷尚未處理的情況下由于抖動而出現(xiàn)重復中斷,那樣勢必會影響最終的結(jié)果,而且那不是用戶想要得到的。如果按鍵狀態(tài)還為低電平,則可確定按鍵確實已經(jīng)按下,那么就可以執(zhí)行事件處理函數(shù)key_event,進行相關(guān)的事件處理。先進行模塊初始化,即執(zhí)行模塊加載函數(shù),做好相關(guān)的準備工作。表面看上去是很復雜的過程,但是交給Makefile文件之后,就能夠使用一行命令來自動化編譯?!皌est”是目標文件,又作為依賴文件。根文件系統(tǒng)中頂層目錄如表2所示:目錄內(nèi)容dev主要包含一些設(shè)備文件,同時也包含一些其他特殊文件boot包含引導程序使用到的靜態(tài)文件bin包含必要的用戶命令,都是二進制文件lib必要的程序庫文件,還包含一些內(nèi)核模塊home家目錄,包含普通(非root)用戶的個人信息etc系統(tǒng)的啟動和配置文件opt附加的目錄,用于存放安裝的軟件mnt掛載點,用于臨時掛載文件系統(tǒng)media也是掛載點,用于媒體設(shè)備的掛載(比如光盤)sbin必要的系統(tǒng)管理員命令,是二進制文件root根用戶的家目錄proc提供虛擬文件系統(tǒng)usr在第二層目錄中包含對用戶有用的應用程序和文件tmp臨時文件存放處sys系統(tǒng)信息與控制的虛擬文件系統(tǒng)var存放監(jiān)控程序的可變數(shù)據(jù)表2 根文件系統(tǒng)頂層目錄Table2 A file system toplevel directory 上表中列出的目錄,并非所有的都是必須的,有些根據(jù)自己的情況是可以刪掉的。/bin/hostname39。圖17 監(jiān)控站分布 Monitor distribution
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1