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

正文內(nèi)容

tcpip與rs232協(xié)議轉(zhuǎn)換器的設(shè)計(jì)(編輯修改稿)

2024-12-22 17:10 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 uClinux移植包 光盤(pán)中提供的 , 20200408 版本在很多方面比早先的 20202022版本 完善很多,這也使我們的各種移植工作變得方便很多。這里我們使用的內(nèi)核版本是 Linux 。 是針對(duì) ARMSYS 的硬件武漢工業(yè)學(xué)院 2020 畢業(yè)論文 第 12 頁(yè) 共 35 頁(yè) 平臺(tái)進(jìn)行移植的,它對(duì) 所做的修改部分保存在uClinux20202001 補(bǔ)丁文件中,供用戶(hù)參考。將 拷/opt/下(或者其它目錄),運(yùn)行解壓命令: tar xvzf 解壓結(jié)束后會(huì)在 /opt/下生成 uClinuxdist目錄。 (3) 將 拷貝到根目錄,運(yùn)行安裝 : sh uclinux 內(nèi)核裁減,編譯, 移植 Linux 內(nèi)核采用模塊話(huà)設(shè)計(jì),幾 乎 很多功能塊可獨(dú)立地安裝或卸載。因此,對(duì)內(nèi)核重新編譯,刪除不需要的功能模塊,可使系統(tǒng)運(yùn)行所需的內(nèi)核顯著減小,從于縮減資源的使用量,也實(shí)現(xiàn)了 uclinux 的量身定制。 TCP/IP及串口驅(qū)動(dòng)添加 打開(kāi) shell 終端。 cd /home/uClinuxdist make menuconfig 進(jìn)入 uClinux 配置 (uClinux Configuration), 選中“ Kernel/Library/Defaults Selection224?!鼻每崭襁M(jìn)入。 選中內(nèi)核設(shè)置項(xiàng)和用戶(hù)選項(xiàng): [*] Customize Kernel Settings [*] Customize Vendor/User Settings 建議通過(guò)直接載入 立宇泰公司 提供的內(nèi)核配置文件 Config_Kernel 和用戶(hù)配置文件 Userconfig_eth (到 download/ 下 載 ) 來(lái) 完 成 配 置 。 將Kernelconfig_eth 拷貝到 uClinuxdist/ 目錄下,將 Config_User 拷貝到 uClinuxdist/Config 目錄下?;氐浇K端,按下 ESC 鍵兩次,敲回車(chē)退出。 武漢工業(yè)學(xué)院 2020 畢業(yè)論文 第 13 頁(yè) 共 35 頁(yè) 進(jìn)入內(nèi)核配置( Linux Kernel Configuration),選中“ Load an Alternate Configuration File”,敲空格鍵進(jìn)入,輸入 Kernelconfig_eth 文件名,按回車(chē)退出。內(nèi)核選項(xiàng)就被設(shè)置好了。 按下 ESC 鍵,敲回車(chē)保存設(shè)置。自動(dòng)切換到用戶(hù)選項(xiàng)配置。同樣選中“ Load an Alternate Configuration File”,敲空格鍵進(jìn)入,輸入 Userconfig_eth 文件名,按回車(chē)退出。用戶(hù)選項(xiàng)就被設(shè)置好了。 也可以手動(dòng)修改。手動(dòng)修改的步驟如下: 進(jìn)入內(nèi)核配置( Linux Kernel Configuration)。 (1) 配置 General Setup 選中“ General Setup ”,敲空格進(jìn)入。選中第 2項(xiàng): [*] Networking Support 按 ESC退出。 (2) 配置 Networking options 選中“ Networking options”,敲空格進(jìn)入。需要選中其中的兩項(xiàng): * Packet socket ?? [*] TCP/IP working (3) 配置 Networking device Support 選中“ File system ”,敲空格進(jìn)入。選中: [*] Network device support? 選中“ Ether (10 or 100Mbit) ”敲空格進(jìn)入: 選中: [*] Other ISA cards 在下拉的選項(xiàng)中,選中: * NE2020/NE1000 support 武漢工業(yè)學(xué)院 2020 畢業(yè)論文 第 14 頁(yè) 共 35 頁(yè) 敲三次 ESC,敲回車(chē),退出內(nèi)核配置。 (4) 配置 Network Applications 選中“ Network Applications ”敲空格進(jìn)入,選中以下幾項(xiàng): [*] arp ?? [*] ifconfig [*] id ?? [*] ping ?? [*] route ?? 編譯 uClinux 在 /opt/目錄下,按下面的步驟對(duì) uClinux源碼包進(jìn)行編譯: make dep????????? 建立依賴(lài)關(guān)系 make clean (非必要 )????? 清除舊的編譯結(jié)果 make lib_only???????? 編譯庫(kù) make user_only??????? 編譯用戶(hù)程序 make romfs????????? 產(chǎn)生 rom文件系統(tǒng) make image????????? 產(chǎn)生映像文件 make???????????? 編譯內(nèi)核 編譯成功后,在 uClinuxdist/目錄下將產(chǎn)生 images目錄,其中包含的 3個(gè)文件:, 和 。 移植 uclinux內(nèi)核 (1) 設(shè)置 tftp 服務(wù)器 TFTP協(xié)議是一個(gè)簡(jiǎn)單的基于 UDP文件傳輸協(xié)議 ,其實(shí)現(xiàn)比較簡(jiǎn)單 ,使用方便 .TFTP服務(wù)在 LINU上有客戶(hù)端和服務(wù)器端兩個(gè)軟件包 . 武漢工業(yè)學(xué)院 2020 畢業(yè)論文 第 15 頁(yè) 共 35 頁(yè) 可以先看看你的 PC機(jī)器上是否已經(jīng)安裝了 TFTP客戶(hù)端和服務(wù)器端 : [root@SunLife ~] rpm q tftp [root@SunLife ~] rpm q tftpserver [root@SunLife ~] 如果已經(jīng)安裝 ,就可以配置它了 .TFTP可以通過(guò)圖形化 的界面來(lái)配置 .也可以手工配置 .當(dāng)然操作要有 ROOT權(quán)限 .手工修改 TFTP配置文件 ,可以定制 TFTP服務(wù) . 其配置文件 /etc/: [root@SunLife ~] cat /etc/ default: off description: The tftp server serves files using the trivial file transfer\ protocol. The tftp protocol is often used to boot diskless \ workstations, download configuration files to workaware printers,\ and to start the installation process for some operating systems. service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/ server_args = s /tftpboot per_source = 11 cps = 1002 flags = IPv4 } [root@SunLife ~] TFTP服務(wù)器默認(rèn)把 /tftpboot作為輸出文件的根目錄 ,當(dāng)然你也可以換成其他目錄 . TFTP服務(wù)器默認(rèn)是關(guān)閉的 .所以要將 disable設(shè)為 TFTP服務(wù)器的服務(wù)器程序?yàn)?/usr/sbin/(它是一個(gè)守護(hù)進(jìn)程 ). 修改配置以后 ,就要重新啟動(dòng)TFTP服務(wù) : 武漢工業(yè)學(xué)院 2020 畢業(yè)論文 第 16 頁(yè) 共 35 頁(yè) [root@SunLife ~] /etc/ 停止 xid: [ 確定 ] 啟動(dòng) xid: [ 確定 ] [root@SunLife ~] 即可 . (2) 開(kāi)啟 mini Linux 系統(tǒng)下使用 mini 串口通信工具 ,就像 Windows 下的超級(jí)終端。 使用mini 之前,先要配置參數(shù)。在 shell 命令下執(zhí)行“ mini s”命令, 選擇“ Serial port setup”菜單項(xiàng) ,通過(guò)相應(yīng)的按鍵選擇進(jìn)入子項(xiàng), B115200,選擇 /dev/ttyS0 等。保存配置,退出。 在 shell 命令下執(zhí)行“ mini ”命令,進(jìn)入 mini 控制臺(tái)。 (3) 下載 映像文件 連接好開(kāi)發(fā)板的串口線(xiàn),網(wǎng)線(xiàn),電源線(xiàn)。啟動(dòng)開(kāi)發(fā)板, 按下 enter 鍵,進(jìn) Bootloder下載模式下,把 uClinuxdist/目錄下將產(chǎn)生 images目錄,其中一個(gè)文件: ,復(fù)制到 linux 操作系統(tǒng)的 /tftpboot 目錄下,在 mini 控制臺(tái) 下,敲入 tftp 命 令即可下載 映像文件,然后執(zhí)行 go 0x0c008000 啟動(dòng) uclinux 內(nèi)核 ,此時(shí)可以看到啟動(dòng)信息。 五 . 軟件程序構(gòu)架 軟件結(jié)構(gòu) 由于程序的開(kāi)發(fā)和執(zhí)行是在 PC和 ARM兩個(gè)不同的平臺(tái)上進(jìn)行的,因此需要進(jìn)行交叉編澤和連接。 uClinux為 ARM核處理器提的一套完整的交義開(kāi)發(fā)工具鏈 arm— elf—toolchain,其中包括匯編編譯器 arm— elf— as, c/ c++編譯器 arm— elf— gcc,連接工具 arm— gcc— ld,反編澤二進(jìn)制文件工具 arm— elf— objdump等 本文科序在 RedHat9. 0 Linux操作系統(tǒng) 下 使用 arm— elf— toolchain 二具 開(kāi) 發(fā),程序沒(méi)計(jì)采 用 多線(xiàn)程技術(shù), Linux系統(tǒng) 下 的多線(xiàn)程遵循 POSIX線(xiàn)程接 口 。作為一種多任務(wù)、并發(fā)的工作療式,多線(xiàn)程程序可以提高應(yīng) 用 程序相應(yīng), 改善 程序結(jié)構(gòu)。 本 建立了兩個(gè)子進(jìn)程,分別 用于 理串口數(shù)據(jù)經(jīng)網(wǎng) 卡 發(fā)送 和 網(wǎng)卡 數(shù)據(jù)經(jīng)串口 發(fā)送兩種 功能,程序流程如圖 6 所 示。測(cè)試 過(guò)程通過(guò) NFS網(wǎng) 絡(luò) 文件系統(tǒng)進(jìn)行,在 Pc端配置 NFS服務(wù)器, 設(shè)武漢工業(yè)學(xué)院 2020 畢業(yè)論文 第 17 頁(yè) 共 35 頁(yè) 置 共 享文件夾及權(quán)限,調(diào)試無(wú)誤后,加入自己開(kāi)發(fā)的程序 重 新編譯 uClinux內(nèi)核,并將編譯好的二進(jìn)制文件 固 化 到開(kāi)發(fā) 板的 ROM中, 使其開(kāi)機(jī)后自動(dòng)運(yùn)行。 圖 6 串口/以太網(wǎng)轉(zhuǎn)換設(shè)備軟件流程圖 串口 處理 程序 模塊 在 Linux系統(tǒng) 下 ,串口屬于字 設(shè)備 ,位于/ dev目錄下,串口操作包括打開(kāi)和關(guān)閉串口,設(shè)置串口屬性 (如波特率設(shè)置,數(shù)據(jù)位、校驗(yàn)位和停止位設(shè)置 )、讀寫(xiě)串口等。Linux系統(tǒng)將設(shè)備看成文件處理,本文系統(tǒng)的兩個(gè)串 口 COM1和 COM2分別對(duì)應(yīng)于uClinux系統(tǒng)下/ dev/ ttySO和/ dev/ ttyS 1兩個(gè)文件,打 開(kāi) 或 關(guān) 閉設(shè)備的操作對(duì)應(yīng)于打開(kāi)或關(guān)閉相應(yīng)的文件。以 COM1為例, 打開(kāi)并初始化過(guò)程如下: (1) 打開(kāi)串口是通 過(guò)使用標(biāo)準(zhǔn)的文件打開(kāi)函數(shù)操作: fd=open(“/ dev/ ttyS0”. O_RDWR)://以讀 寫(xiě) 方式打開(kāi)串口 1 // fl打開(kāi)錯(cuò)誤或異常判斷 If( fd 0) { perror(“ Open serial Port COM l Failed!” )。 exit(一 1); 武漢工業(yè)學(xué)院 2020 畢業(yè)論文 第 18 頁(yè) 共 35 頁(yè) } tcgetattr(0, amp。oldstdtio)。 //保存標(biāo)準(zhǔn)串口屬性 tcgetattr(fd, amp。oldtio)。 //保存 原來(lái) 串 口 屬性 tcgetattr(fd, amp。nev. stdtio)。 //設(shè)置新的串口屬性 newtio. c. cflag = BAUDRATE | CRTSCTS | CS8 | CLOCAL | CREAD。 //設(shè)置波特率數(shù)據(jù)位等 //其他設(shè)置 tcsetattr(fd, I39。CSANOW, amp。newtio); //新屬性沒(méi)置生效 (2) 設(shè)置串口 最基本的設(shè)置串口包括波特率設(shè)置,效驗(yàn)位和停止位設(shè)置。串口的設(shè)置主要是設(shè)置 struct termios 結(jié)構(gòu)體的各成員值。 struct termio { unsigned short c_iflag。 /* 輸入模式標(biāo)志 */ unsigned short c_oflag。 /* 輸出模式標(biāo)志 */ unsigned short c_cflag。 /* 控制模式標(biāo)志 *
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1