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

正文內(nèi)容

基于arm嵌入式系統(tǒng)的通信設(shè)計(jì)(參考版)

2025-06-23 00:00本頁面
  

【正文】 嵌入式 TCP/IP 設(shè)計(jì)TCP/IP 協(xié)議比較復(fù)雜,因?yàn)榍度胧皆O(shè)備的資源和效率都是夠用就好,因此在嵌入式系統(tǒng)上面來設(shè)計(jì)一個(gè) TCP/IP 協(xié)議要受到相應(yīng)的限制 [28]。TCP協(xié)議一般要通過“三次握手”的方式建立連接。它可以提供一個(gè)簡(jiǎn)單易懂的網(wǎng)絡(luò)出錯(cuò)的信息,通常使用的 PING 命令就是基于 ICMP 協(xié)議的。在 IP 協(xié)議中,給每個(gè)每臺(tái)設(shè)備一個(gè)地址,這個(gè)地址是唯一的,在傳輸過程中,相互傳輸數(shù)據(jù)的設(shè)備根 西南科技大學(xué)工程碩士學(xué)位論文    第 26 頁據(jù) IP 地址就可以找到對(duì)方,同時(shí)把 IP 包解析出來,得到需要的數(shù)據(jù)。在 IP 進(jìn)行數(shù)據(jù)傳輸時(shí),對(duì)傳輸?shù)?IP 數(shù)據(jù)包進(jìn)行定義,進(jìn)行數(shù)據(jù)包的封裝時(shí),還包括需要傳輸數(shù)據(jù)的目的地址,數(shù)據(jù)協(xié)議的版本號(hào)等。也就是說,ARP 協(xié)議解決服務(wù)器端和客戶端在通信的時(shí)候 IP 地址物理地址轉(zhuǎn)換。ARP 主要的功能是進(jìn)行地址的解析,獲取數(shù)據(jù)傳輸?shù)奈锢淼刂?。根?jù)需要傳輸?shù)臄?shù)據(jù)的大小,以及傳輸?shù)乃俣鹊葐栴},可以采取特別的收發(fā)方式。同時(shí),存貯的空間也是相對(duì)有限,需要的協(xié)議可以選擇,不需要的協(xié)議可以裁減掉,這也是嵌入式系統(tǒng)最大的特點(diǎn)。通常情況下,在嵌入式系統(tǒng)的應(yīng)用中,數(shù)據(jù)的采集和傳輸是是核心的任務(wù)和功能。 TCP/IP 的核心是分層的思想,它可以將不同的芯片、系統(tǒng)之間通過一種標(biāo)準(zhǔn)的協(xié)議相互連接起來,做到互聯(lián)互通。內(nèi)核編譯和文件系統(tǒng)構(gòu)建完成以后通過網(wǎng)絡(luò) FTP 的方式把 和 ramdis下載到開發(fā)板上,這樣完成了 uClinux 的移植。最后卸載 和 的修改已經(jīng)保存。制作 ramdisk 具體步驟如下 [27]:一般在內(nèi)核編譯時(shí),支持 ramdisk 的內(nèi)核選項(xiàng):CONFIG BLK DEV RAM,CONFIG RD RELEASE BLOCKS, CONFIG BLK DEV IlVITRD:同時(shí)在 PC 機(jī)上按照如下的方法來制作:(1)制作映象文件建立虛擬成塊的文件 執(zhí)行命令:dd if=/dev/zero of= bs=1024 count=500格式化生成的塊設(shè)備: 文件執(zhí)行命令:mke2fs –m0 –F (2)配置根文件系統(tǒng),將 和 加載到主機(jī)文件系統(tǒng)執(zhí)行命令:mount ram /o loop執(zhí)行命令:mount rom/o loop建立在 ramfs 中需要的目錄,也就是在 ram 目錄下建立子目錄。如果設(shè)計(jì)中需要一種可寫的文件系統(tǒng),那么,就需要尋找一種可以在RAM 上使用的可寫文件系統(tǒng)。從后面的第 16 字節(jié)開始,顯示的是文件名和相關(guān)其數(shù)據(jù) [26]。ROMFS 文件系統(tǒng)的構(gòu)成,它的文件系統(tǒng)頭由 16 字節(jié)組成,文件系統(tǒng)名由 4 字節(jié)組成,文件系統(tǒng)的大由 4 字節(jié)組成,其次還有 4 字節(jié)的校驗(yàn)和 4 字節(jié)的卷標(biāo)名。內(nèi)核在連接的時(shí)候,只需要連接到 ROMFS 文件系統(tǒng),后面用模塊裝載工具把其它相關(guān)的模塊和文件系統(tǒng)裝載進(jìn)來,而不是所有的文件和模塊全部掛接。uClinux 根目錄下可以見到以下結(jié)構(gòu):/bin/home/etc/mnt/lost+found/tmp /dev/sbin /var /boot /root/lib /proc /usr設(shè)計(jì)中選擇的 ROMFS 文件系統(tǒng),主要是考慮到系統(tǒng)的存貯結(jié)構(gòu)。uClinux 系統(tǒng)的文件系統(tǒng),在組織上按照樹狀結(jié)構(gòu)的方式進(jìn)行組織,也就是頂部是根目錄,從根向下進(jìn)行分支,通常把文件系統(tǒng)的最頂端成為根目錄。 構(gòu)建文件系統(tǒng)構(gòu)建文件系統(tǒng)就是在物理設(shè)備上構(gòu)建文件組織和目錄,便于系統(tǒng)進(jìn)行文件的組織和管理,它是 uClinux 系統(tǒng)處理數(shù)據(jù)的基礎(chǔ)條件。Images 內(nèi)核文件主要存放那個(gè)內(nèi)核目錄。執(zhí)行結(jié)束后,會(huì)得到我們需要的兩個(gè)目錄:ROMfs 文件和 images 內(nèi)核文件。圖 內(nèi) 核 資 源 界 面配置完畢后選擇 Exit,然后在提示下是否保存的時(shí)候選擇保存, 配置完畢后,選擇 Exit,在對(duì)話提示選擇保存。表 uClinux 中 各 個(gè) 選 項(xiàng) 的 描 述選項(xiàng) 描述 設(shè)置Vendor/Product 廠商/產(chǎn)品選擇 PHILIS/LPC2200Kemel 選擇版本 LinuxLibc 選擇函數(shù)庫 uClibcDefault all Settings 默認(rèn)設(shè)置 恢復(fù)默認(rèn)設(shè)置時(shí)選擇Updata Default 默認(rèn)廠商配置 根據(jù)需要選擇在設(shè)計(jì)的時(shí)候,根據(jù)系統(tǒng)需求,以及所選用的芯片廠商等信息,進(jìn)行系統(tǒng)的配置,主要是根據(jù)以上信息描述,進(jìn)行設(shè)置。圖 配 置 內(nèi) 核 界 面 西南科技大學(xué)工程碩士學(xué)位論文    第 22 頁界面中有提示使用“↑” “↓”選擇配置模塊,使用空格鍵選擇或者取消,使用“→” “←” ,選擇命令,最后使用回車鍵 Enter 執(zhí)行命令。如果是第一次編譯則可省略。為了使得配置具有更強(qiáng)的直觀性,系統(tǒng)設(shè)計(jì)采用了文本菜單這種配置方式。各命令使用范圍不一樣,但效果是相同的,各命令說明如表 所示。為了適應(yīng)這個(gè)芯片的特性,登陸 philips 官方網(wǎng)站,并且查找和下載以下這個(gè)文件:下載后,復(fù)制到系統(tǒng)的目錄下,輸入以下指令,并執(zhí)行:cat 執(zhí)行完成后,在編譯 uClinux 內(nèi)核是,選擇系統(tǒng)的內(nèi)核配置的時(shí)候,可以找到 LPC2200 的選項(xiàng)。 uClinux 的安裝在 上下載版本為 的 uClinux 源碼包 uClinuxdist,將它復(fù)制到系統(tǒng)的目錄盤下,并進(jìn)行相應(yīng)的解壓縮:輸入指令,并運(yùn)行:tar 就會(huì)看到,在系統(tǒng)的目錄盤下,會(huì)出現(xiàn) uClinux 的源代碼目錄,也就是uClinuxdist 這個(gè)文件夾。同時(shí),嵌入式芯片的資源有限,內(nèi)存一般都比較小,裁剪后,內(nèi)核往往會(huì)更加簡(jiǎn)練,所占用的存貯空間也會(huì)很小。由于存儲(chǔ)空間的限制,為了提高運(yùn)行性能,必須根據(jù)需要對(duì)內(nèi)核進(jìn)行精簡(jiǎn),定制一個(gè)符合嵌入式系統(tǒng)的操作平臺(tái)。. 內(nèi)核編譯嵌入式系統(tǒng)應(yīng)用非常專業(yè)化,功能模塊相對(duì)比較單一。因此需要進(jìn)行相應(yīng)的簡(jiǎn)化,這就是 西南科技大學(xué)工程碩士學(xué)位論文    第 20 頁uClibc 應(yīng)用程序庫。 應(yīng)用程序庫uClinux 運(yùn)行效率高,是一個(gè)小型化的嵌入式 Linux 系統(tǒng),這就要求相應(yīng)的應(yīng)用程序庫具有較高的運(yùn)行效率。因此,根據(jù)系統(tǒng)的設(shè)計(jì)需求,選用 ROMfs 根文件系統(tǒng)。在 ROMfs 中,文件數(shù)據(jù)是按照順尋存放的。在目前的嵌入式開發(fā)過程中,ROMfs 是使用最多的文件系統(tǒng)。uClinux 主要應(yīng)用于沒有 MMU 單元的嵌入式芯片,主要的目的是節(jié)約內(nèi)存和 FLASH。(2)通過地址印象的方式:由于嵌入式系統(tǒng)的存貯器有限,為了節(jié)約資源,在嵌入式存貯器上建立地址印象,內(nèi)核在執(zhí)行的時(shí)候,首先運(yùn)行到建立印象的地址,然后通過跳轉(zhuǎn)指令,直接運(yùn)行存儲(chǔ)在嵌入式開發(fā)板外圍的存貯器上,這樣可以節(jié)約芯片上的資源,但是帶來的問題是,由于跳轉(zhuǎn),運(yùn)行的速度會(huì)降低,對(duì)于運(yùn)行速度要求不高的開發(fā),可以采取這種方式。由于嵌入式開發(fā)板的資源有限,存貯器的容量不夠大,這種方式對(duì)系統(tǒng)的存貯器要求較高,但是能夠帶來更高的運(yùn)行速度,因?yàn)橄到y(tǒng)只直接從嵌入式開發(fā)板上啟動(dòng)的,系統(tǒng)直接解壓縮內(nèi)核文件,運(yùn)行內(nèi)核。 西南科技大學(xué)工程碩士學(xué)位論文    第 19 頁4 系統(tǒng)詳細(xì)設(shè)計(jì). uClinux 的移植 uClinux 嵌入式系統(tǒng)的下載嵌入式系統(tǒng)交叉編譯完成后,需要將編譯好的嵌入式內(nèi)核下載到嵌入式開發(fā)板上,然后嵌入式開發(fā)板才可以運(yùn)行嵌入式內(nèi)核。如果 listen()一直沒有偵聽到連接請(qǐng)求,那么服務(wù)器就會(huì)在 accept()處阻塞,一直到有連接請(qǐng)求到來。應(yīng)該首先在服務(wù)器端使用 socket()函數(shù)建立一個(gè)通信的端點(diǎn),然后使用 bind()函數(shù)綁定這個(gè)端點(diǎn)的地址,最后服務(wù)器端使用listen()偵聽連接請(qǐng)求,當(dāng)遠(yuǎn)程的客戶機(jī)使用 connect()連接 listen()正在監(jiān)聽的端口時(shí),使用 accept()處理它。流式主要面向連接 Socket,針對(duì)于面向連接的 TCP 服務(wù)應(yīng)用;數(shù)據(jù)報(bào)式面向無連接的 Socket,對(duì)應(yīng)于無連接的 UDP 服務(wù)應(yīng)用。網(wǎng)絡(luò)的Socket 數(shù)據(jù)傳輸是一種特殊的 I/O,Socket 也是一種文件描述符,具有一個(gè)打開文件的函數(shù)調(diào)用 Socket(),該函數(shù)返回一個(gè)整型的 Socket 描述符,隨后的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^該 Socket 實(shí)現(xiàn)的。面向連接的數(shù)據(jù)流通信的 socket 編程詳細(xì)過程如圖 所示。 設(shè)計(jì)基本流程設(shè)計(jì)主要的目的是要設(shè)計(jì)出面向連接的 TCP 通信模塊。系統(tǒng)的實(shí)現(xiàn),首先應(yīng)保證 uClinux 系統(tǒng)成功的啟動(dòng),即系統(tǒng)在啟動(dòng)過程中成功的初始化了文件系統(tǒng),網(wǎng)絡(luò)設(shè)備硬件,串行設(shè)備硬件等,同時(shí)需要成功配置當(dāng)前網(wǎng)絡(luò)段的 IP,以及掛載了所指定的網(wǎng)絡(luò)設(shè)備文件。TCP 的客戶端可以顯示當(dāng)前自己的工作狀態(tài),如連接的建立,啟動(dòng)的成功和數(shù)據(jù)包通信的個(gè)數(shù)等 [21]。 模塊化的設(shè)計(jì)與分析 開發(fā)板上完成的設(shè)計(jì)從項(xiàng)目的整體出發(fā),開發(fā)板上應(yīng)完成的工作包括,移植 uClinux 到SmartARM2200 開發(fā)板,移植過程中應(yīng)配置 uClinux,其中包含大部分系統(tǒng)配置,如:Nonstandard serial port suppor(非標(biāo)準(zhǔn)串口支持) 、ftp(文件傳輸協(xié)議) 、(超文本傳輸協(xié)議) 、 tel(遠(yuǎn)程登陸協(xié)議) 、 ping(網(wǎng)絡(luò)探測(cè)回應(yīng)工具) 、 ifconfig(網(wǎng)絡(luò)配置模塊) 、ls (文件目錄顯示模塊) 、mount(設(shè)備掛載模塊) 、cp(文件拷貝模塊) ,uClinux 文件系統(tǒng)的劃分中還應(yīng)為用戶留出可以讀寫操作的 西南科技大學(xué)工程碩士學(xué)位論文    第 16 頁區(qū)域,幫助用戶輕松的寫入程序和修改程序,最后開發(fā)板上載入編譯好的網(wǎng)絡(luò)socket 通信程序 [20]。所以對(duì)開發(fā)板上要做的操作是接上 JTAG,串口,網(wǎng)絡(luò)線,并且 BOOTSET 設(shè)置為 outside,設(shè)置 Bank0 為FLASH,Bank1 設(shè)置為 RAM,接通應(yīng)用的模塊的跳線,然后把已經(jīng)編譯成功的系統(tǒng)內(nèi)核文件系統(tǒng)燒入到開發(fā)板上,成功建立開發(fā)環(huán)境后,并啟動(dòng)開發(fā)板上的uClinux 操作系統(tǒng),如圖 所示: 西南科技大學(xué)工程碩士學(xué)位論文    第 15 頁圖 開發(fā)板上成功啟動(dòng) uClinux 建立程序運(yùn)行調(diào)試交叉編譯環(huán)境由于 uClinux 及它的相關(guān)開發(fā)工具集大多都是來自自由軟件組織的開放源代碼,這些軟件都是共享在網(wǎng)絡(luò)上的,因此,在建立開發(fā)環(huán)境的時(shí)候,直接找到相關(guān)的網(wǎng)絡(luò)地址進(jìn)行下載,接下來就可以建立交叉開發(fā)環(huán)境。同時(shí)還擴(kuò)展了 RTL8019AS(10 Mb/s)以太網(wǎng)控制器。設(shè)計(jì)采用 SmartARM2200 開發(fā)板,使用 NXP 公司的 LPC2210 微處理器。尋址方式是根據(jù)指令中給出的地址碼字段來實(shí)現(xiàn)尋找真實(shí)操作數(shù)地址的方式。所有的 ARM 置零都是可以條件執(zhí)行的,而Thumb 置零僅有一條指令具備條件執(zhí)行的功能。ARM 指令集效率高,但是代碼密度高。采用 RISC 架構(gòu)的 ARM 微處理器一般具有如下特點(diǎn):(1)體積小、低功耗、低成本、高性能;(2)支持 Thumb(16 位)/ARM(32 位)雙指令集,能很好的兼容 8 位/16 位器件;(3)大量使用寄存器,指令執(zhí)行速度更快;(4)大多數(shù)數(shù)據(jù)操作都在寄存器中完成;(5)尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;(6)指令長度固定。目前,采用 ARM 技術(shù)知識(shí)產(chǎn)權(quán)(IP)核的微處理器,即人們通常所說的 ARM 微處理器,已遍及工業(yè)控制、消費(fèi)類電子產(chǎn)品、通信系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、無線系統(tǒng)等各類產(chǎn)品市場(chǎng),基于 ARM 技術(shù)的微處理器應(yīng)用約占據(jù)了 32 位 RISC 微處理器 75%以上的市場(chǎng)份額,ARM 技術(shù)正在逐步滲入到人們生活的各個(gè)方面。建立 PC 上的開發(fā)環(huán)境應(yīng)在宿主機(jī)上安裝標(biāo)準(zhǔn) Linux 操作系統(tǒng),推薦使用RedHat Linux,一定要確保計(jì)算機(jī)的網(wǎng)卡驅(qū)動(dòng)、網(wǎng)絡(luò)通訊配置正常。上面已經(jīng)提到,嵌入式系統(tǒng)由于資源有限,這些工作的安裝調(diào)試需要在目標(biāo)機(jī)進(jìn)行,調(diào)試完成后下載到宿主機(jī)中,這也可能是一個(gè)多次重復(fù)反復(fù)進(jìn)行的工作。目標(biāo)機(jī)運(yùn)行 uClinux 系統(tǒng),并在系統(tǒng)上運(yùn)行嵌入式應(yīng)用軟件。圖 uClinux 的交叉編譯環(huán)境 西南科技大學(xué)工程碩士學(xué)位論文    第 12 頁目標(biāo)機(jī)主要用于運(yùn)行操作系統(tǒng)和系統(tǒng)應(yīng)用軟件,而操作系統(tǒng)的內(nèi)核編譯、應(yīng)用程序的開發(fā)和調(diào)試則需要通過宿主 PC 機(jī)來完成。 概要設(shè)計(jì) 開發(fā)環(huán)境課題最終選擇帶 TCP/IP 協(xié)議族的 uClinux 操作系統(tǒng)來完成項(xiàng)目的設(shè)計(jì),所以要針對(duì) uClinux 上程序的開發(fā)配置特定的 PC 機(jī)環(huán)境。 缺少 MMU 單元,對(duì)于系統(tǒng)及應(yīng)用程序開發(fā)帶來一定的限制,但對(duì)于成本和體積敏感的嵌入式設(shè)備,由于應(yīng)用環(huán)境和應(yīng)用需求并不要求復(fù)雜和相對(duì)昂貴的硬件體系,內(nèi)存的分配和管理完全可以由開發(fā)人員解決。uClinux 管理內(nèi)存的方法是采用實(shí)存儲(chǔ)器管理,通過地址總線對(duì)物理內(nèi)存進(jìn)行直接訪問,程序中訪問的地址都是實(shí)際的物理地址,所有的進(jìn)程都在一個(gè)運(yùn)行空間中運(yùn)行。在 ARM7TDMI 西南科技大學(xué)工程碩士學(xué)位論文    第 11 頁嵌入式處理器沒有 MMU 模塊。Linux 和 uClinux 本身并不支持實(shí)時(shí)性應(yīng)用,但是設(shè)計(jì)時(shí)候,對(duì) ucLinux 可以
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1