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

正文內(nèi)容

基于嵌入式linuxgps研究及設(shè)計-資料下載頁

2025-06-27 20:23本頁面
  

【正文】 e clean”的時候,編譯器則執(zhí)行后面的“rm –f *.o”這條命令。 Makefile的作用原理下面我們以一個簡單的例子來加以說明Makefile的作用原理。 例如我們要編譯三個源文件:、。如果不使用Makefile文件,那么我們可以用下面的語句來執(zhí)行整個編譯過程:gcc –o abd 此種編譯方式看似簡單,其實存在著很大的缺陷。主要是此種編譯方式重復(fù)工作量太大,、其他未改動的源文件也必須跟著重新編譯,這顯然是浪費時間,是不必要的。 然而,我們將上述編譯語句分割成下面的幾行內(nèi)容: ①gcc –c –o ②gcc –c –o ③gcc –c –o ④gcc –o abd 并將它們根據(jù)Makefile的語法規(guī)則正確編寫進一個Makefile文件時,此時我們可以發(fā)現(xiàn),我們只要重新執(zhí)行上面的①④兩步即可。這樣相對于上面的不使用Makefile文件的編譯方式而言,避免了重復(fù)編譯。當一個項目的文件有成百上千個時,那么好處就顯而易見了。 除此之外,因為上述語句都是編寫進Makefile文件的,所以并非要我們一條一條的人工執(zhí)行。在Linux操作系統(tǒng)中,我們只要在shell提示符下進入Makefile文件的當前目錄,執(zhí)行make指令,即可讓它自動完成上述編譯鏈接的過程。 根文件系統(tǒng)[50]的制作 根文件系統(tǒng)首先是一種文件系統(tǒng),但是相對于普通的文件系統(tǒng),它的特殊之處在于,它是內(nèi)核啟動時掛載的第一個文件系統(tǒng),內(nèi)核代碼映像文件保存在根文件系統(tǒng)中,而系統(tǒng)引導(dǎo)啟動程序會在根文件系統(tǒng)掛載之后從中把一些基本的初始化腳本和服務(wù)等加載到內(nèi)存中去運行。 根文件系統(tǒng)的內(nèi)容比較雜,不可能人工地去輸入實現(xiàn),通常使用軟件Busybox來制作。其下載地址為。 在嵌入式Linux系統(tǒng)中,構(gòu)建根文件系統(tǒng)的規(guī)則在FHS(Filesystem Hierarchy Standard)文檔中。根文件系統(tǒng)中頂層目錄如表2所示:目錄內(nèi)容dev主要包含一些設(shè)備文件,同時也包含一些其他特殊文件boot包含引導(dǎo)程序使用到的靜態(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在第二層目錄中包含對用戶有用的應(yīng)用程序和文件tmp臨時文件存放處sys系統(tǒng)信息與控制的虛擬文件系統(tǒng)var存放監(jiān)控程序的可變數(shù)據(jù)表2 根文件系統(tǒng)頂層目錄Table2 A file system toplevel directory 上表中列出的目錄,并非所有的都是必須的,有些根據(jù)自己的情況是可以刪掉的。例如所有與多用戶可擴展環(huán)境有關(guān)的目錄——/home、/mnt、/opt和/root等等,是可以省略掉的。在簡化根文件系統(tǒng)的時候,你甚至可以進一步移除/tmp和/var,不過這樣做可能會妨礙到一些軟件的運行,因此并不建議像這樣過分簡化。 構(gòu)建根文件系統(tǒng)的步驟如下:① 構(gòu)建根文件系統(tǒng)目錄建立/opt/studyarm目錄,并進入,在其中添加下列內(nèi)容:!/bin/sh echo Create start... mkdir rootfs cd rootfs echo Create dev... mkdir root dev etc boot tmp var sys proc lib mnt home mkdir etc/ etc/ etc/sysconfig mkdir usr/sbin usr/bin usr/lib usr/modules echo make nodes in dev/console and dev/null mknod m 600 dev/console c 5 1 mknod m 600 dev/null c 1 3 mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp mkdir var/lib var/lock var/run var/tmp chmod 1777 var/tmp chmod 1777 tmp echo done 保存后在終端執(zhí)行命令“chmod 777 。”,使其具有可執(zhí)行權(quán)限。之后再使用命令“./”執(zhí)行此腳本。② 構(gòu)建動態(tài)鏈接庫動態(tài)鏈接庫可以直接從友善之臂提供的根文件包中拷貝過來,即將其lib目錄下的庫文件拷貝到新建的lib目錄下,命令如下:tar zxvf –C /opt/studyarm cp –r /opt/studyarm/root_qtopia/lib/* /opt/studyarm/rootfs/lib/ ③ 交叉編譯Busybox[51]首先,解壓Busybox軟件到/opt/studyarm目錄下,命令如下:tar zxvf –C /opt/studyarm 與編譯Linux內(nèi)核相似,構(gòu)建根文件系統(tǒng)時也是使用交叉編譯,即需要在Makefile文件指定硬件平臺和交叉編譯器,修改如下:將語句ARCH ?= $(SUBARCH) CROSS_COMPILE ?= 改為:ARCH ?= arm CROSS_COMPILE ?= armlinux 然后執(zhí)行“make menuconfig?!?,對Busybox進行相關(guān)配置。 最后執(zhí)行“make CONFIG_PREFIX=/opt/studyarm/rootfs install?!?,編譯Busybox到指定目錄,它會在rootfs目錄下生成sbin、bin、usr和文件linuxrc的內(nèi)容。④ 建立etc目錄下的配置文件將Fedora9系統(tǒng)中etc目錄下的group、shadow、passwd文件復(fù)制到rootfs/etc目錄下。然后新建etc/sysconfig/HOSTNAME,添加內(nèi)容——“H3Studio”。新建文件etc/inittab,添加如下內(nèi)容:etc/inittab ::sysinit:/etc/s3c2410_serial0::askfirst:/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount a –r 新建文件etc/,并使用“chmod 777 rcS”為其添加執(zhí)行權(quán)限,在其中添加如下內(nèi)容:!/bin/sh PATH=/usr/sbin:/usr/bin: /sbin:/bin runlevel=S prevlevel=N umask 022 export PATH runlevel prevlevel echo munt all mount a echo /sbin/mdev/proc/sys/kernel/hotplug mdev s /bin/hostname F /etc/sysconfig/HOSTNAME 新建文件etc/fstab,添加如下內(nèi)容:device mountpoint type Option0 dump fsck order proc /proc proc defaults 0 0 none /tmp ramfs defaults 0 0 sysfs /sys sysfs defaults 0 0 mdev /dev ramfs defaults 0 0 新建文件etc/profile,添加如下內(nèi)容:Ash profile vim:syntax=sh No core file by defaults ulimit S c 0/dev/null 2amp。1 USER=id un LOGNAME=$USER PS1=39。[\u@\h=W]39。 PATH=$PATH HOSTNAME=39。/bin/hostname39。 export USER LOGNAME PS1 PATH⑤ 制作根文件系統(tǒng)映像文件[52] 先安裝好yaffs文件系統(tǒng)制作工具,然后使用命令mkyaffs2image rootfs 。即可生成最后的根文件系統(tǒng)映像文件。至此,根文件系統(tǒng)制作完成,將其下載到開發(fā)板中系統(tǒng)即可成功啟動,如圖14所示:圖14 開發(fā)板啟動 Development board start 小結(jié)本章在給出了Linux操作系統(tǒng)構(gòu)建的整個過程,包括系統(tǒng)啟動的介紹,Linux內(nèi)核的配置及編譯,驅(qū)動程序的裝載,根文件系統(tǒng)的構(gòu)建等等,為后面的上層開發(fā)打下了基礎(chǔ)。 4 GPS原理 GPS衛(wèi)星信號的產(chǎn)生 GPS衛(wèi)星向用戶發(fā)送的導(dǎo)航定位信號是一種調(diào)制波信號,與無線電廣播發(fā)送的調(diào)頻調(diào)幅信號[53]不一樣,它是通過利用偽隨機噪聲碼來傳送導(dǎo)航電文的調(diào)相信號。此信號包括三種分量,分別是數(shù)據(jù)碼、測距碼(C/A碼和P碼)和載波信號(L1和L2)。 GPS導(dǎo)航信號的產(chǎn)生流程如圖15所示:圖15 導(dǎo)航信號產(chǎn)生流程 Navigation signal process GPS系統(tǒng)的組成 GPS系統(tǒng)可以概括性的分為三個部分:空間部分[54]、監(jiān)控部分和用戶部分。下面一一介紹。 空間部分 空間部分,也就是上一小節(jié)提到的導(dǎo)航信號產(chǎn)生的部分,即人造衛(wèi)星,如圖16所示:圖16 人造衛(wèi)星 Satellite 由于我們要計算出的定位位置是空間定位的,所以只接受一個GPS衛(wèi)星產(chǎn)生的數(shù)據(jù)信號是遠遠不夠的。GPS在空間部分設(shè)計了24顆衛(wèi)星,它們幾乎都在20200km的高度按規(guī)定的軌跡繞地球運轉(zhuǎn)。這樣可以隨時保證在地球上的任何一角都可以觀測到高度角在15176。以上的衛(wèi)星不少于4顆。 地面監(jiān)控部分[55]在人們發(fā)射的每個衛(wèi)星上都會裝有高精度的原子鐘。它的精度可以說是相當高了,原子鐘的誤差大概只有十億分之三秒,但即使是這樣,還是會產(chǎn)生微量的漂移影響到定位精度,所以我們還需在地面建立監(jiān)控站,這樣可以隨時進行衛(wèi)星時鐘的修正和同步。監(jiān)控站在對衛(wèi)星軌道進行測量計算后,得出的誤差會回傳給衛(wèi)星。地球上一些監(jiān)控站的分布情況如圖17所示。圖17 監(jiān)控站分布 Monitor distribution 用戶終端部分 用戶終端部分[56],即用戶使用的手持設(shè)備,主要用來負責接收GPS衛(wèi)星信號,處理并計算后確定當前自身的位置。本課題主要設(shè)計的就是用戶終端部分這一塊。圖18所示為常見的用戶終端模塊。圖18 用戶終端 The user terminals 作為用戶終端設(shè)備,其地位方法有下列三種:① 單機定位單機定位主要用于旅游和航海等方面,它只靠一臺GPS接收機,定位精度大概在5米到100米之間,不算高。② 修正差分定位(DGPS)DGPS通常用于生產(chǎn)控制、數(shù)據(jù)采集等方面。此定位方法是在單機定位的基礎(chǔ)上發(fā)展來的。相比單機定位,雖然是精度上有所提高,但它同時也有更多的要求——需要建立基站和流動站。把接收機天線放置在一個已知坐標的坐標點上,這個接收機就被稱為參考站或基站。參考站接收機開機后會先開始跟蹤衛(wèi)星,然后按照單機定位原理計算出定位結(jié)果。通過比較觀測的距離值與已知值,得出的差值就是修正量。修正量在通過無線電廣播出去之后,流動站則通過無線電接收裝置,接收參考基站發(fā)送過來的修正量。同時,流動站還要跟蹤衛(wèi)星觀測,得到各個衛(wèi)星的距離,最后利用接收的修正量對所測的距離進行改更正,從而可以計算出較高精度的定位結(jié)果。③ 相位差分定位[57] 相位差分定位一般用于機械控制和較細致的測量工作。它與修正差分定位又有些不同,而且還涉及到統(tǒng)計學(xué)方面的知識。此定位也采用了差分定位技術(shù),即至少同時有兩臺或者是兩臺以上的接收機同時觀察。 相位差分定位的原理是測定四顆衛(wèi)星的距離,組合起來確定接收機的位置,與其他定位最大的不同之處是組合的計算方法。 誤差來源上一節(jié)介紹了三種GPS的定位方法,但不管采用哪位方法定位,哪怕精度再高,或多或少的都會產(chǎn)生一些誤差,其來源主要有:電離層和大氣延遲誤差[58]、衛(wèi)星與接收機的時鐘誤差和多路徑誤差。 電離層和大氣延遲誤差衛(wèi)星發(fā)射的信號在穿過電離層時,速度會有所降低,這就如同光線穿過水里產(chǎn)生折射,如圖19所示。圖19 信號折射 Signal refraction由于在大氣層的延遲效果影響到了衛(wèi)星信號的速度,這就對GPS的距離計算產(chǎn)生了影響(因為光只有在真空中速度是常數(shù))。而且麻煩的是,電離層延遲的影響還并不是一個常數(shù),其值與多種因素有關(guān),比如水蒸氣、衛(wèi)星高度、電離層密度等等。目前,要完全消除這種誤差還不太可能,只有兩種減小電離層誤差的方法:一種是取得電離層影響的平均值,然后在計算距離時加以改正;還有一種就是采用“雙頻”GPS接收機[59]。因為當衛(wèi)星信號穿過電離層時,它的速度降低的多少與其頻率的高低呈現(xiàn)反比。所以要對兩個載波信號所測定的傳播時間進行對比,然后根據(jù)所得時間差就可以精確的確定電離層延遲的大小,而大氣中水蒸氣對GPS衛(wèi)星信號的影響可以通過
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1