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

正文內(nèi)容

基于arm的智能門禁系統(tǒng)設(shè)計(jì)_畢業(yè)論文設(shè)計(jì)(參考版)

2024-09-04 18:28本頁(yè)面
  

【正文】 you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation。Olexa 著 李根 強(qiáng) 匡 泓 文志成 (譯 ) RFamp。LideDobkinAiello 總之,這次畢業(yè)設(shè)計(jì)不是簡(jiǎn)簡(jiǎn)單單的完成了一個(gè)課題,而 是使我初步的掌握了科學(xué)研究的步驟與方法,擴(kuò)展了我的專業(yè)知識(shí),鍛煉了我的實(shí)際操作能力和分析解決問(wèn)題的能力,為今后的科研工作打下了堅(jiān)實(shí)的基礎(chǔ)。 在程序設(shè)計(jì)方面,看懂協(xié)議,通過(guò)協(xié)議來(lái)編寫程序也是很重要的,不同平臺(tái)之間的通信有時(shí)候就是通過(guò)協(xié)議來(lái)完成的,還有怎樣通過(guò)協(xié)議來(lái)翻譯成我們普通人能看懂的語(yǔ)言,還是我以后需要解決的問(wèn)題。 對(duì)于外文資料的翻譯與理解。因此,對(duì)于相關(guān)文獻(xiàn)資料的檢索顯得尤為重要 。 圖 讀取電子標(biāo)簽上信息所顯示的通信過(guò)程 通過(guò)協(xié)議編寫程序 下圖為 IC 卡讀寫器指令一覽表 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 應(yīng)用軟件的設(shè)計(jì) 27 命令的一些具體說(shuō)明:( _ 上位機(jī)送給 下位機(jī) _ 下位機(jī)送給上位機(jī)) 啟動(dòng) _ 02 0B 0F (02 為長(zhǎng)度, 0B 為命令字,測(cè)試蜂鳴器器, 0F蜂鳴器響的時(shí)間 ) _ 01 00 ( 01 為長(zhǎng)度, 00為測(cè)試成功) 參數(shù)設(shè)置 _01 0C(0C 為命令字 ) _01 00 數(shù)據(jù)讀 (扇區(qū) 1 塊 0 塊 1 塊 2) _02 02 52( 02 為命令字, 52 為 PICC_REQALL) _03 00 04 00(04 為 RegFIFOLength) _01 03( 03為命令字) _05 00 52 00 75 7A( 52 00 75 7A 為卡號(hào)) _01 04( 04 為命令字) _03 00 08 00 _04 05 06 01 04( 05 為命令字, 60 為 PICC_AUTHENTIA( PICC_AUTHENT1B), 01 為扇區(qū), 04 為 RegFIFOLength) _01 00 _02 08 04 ( 08為命令號(hào), 04為塊號(hào)) _11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00( 16個(gè) 00為數(shù)據(jù)) _02 08 05 ( 08為命令號(hào), 05為塊號(hào)) _11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00( 16個(gè) 00為數(shù)據(jù)) _02 08 06 ( 08為命令號(hào), 06為塊號(hào)) _11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00( 16個(gè) 00為數(shù)據(jù)) _02 08 07 ( 08為命令號(hào), 07為塊號(hào)) _11 00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff (第一個(gè) 00為返回 代碼,后面 6個(gè) 00為密碼, ff 07 80 69 為控制位,后 面 6個(gè) ff為 密碼 B) _02 0B 0F _01 00 上面的通信協(xié)議中的命令用的是十六進(jìn)制,在向串口發(fā)送指令時(shí),需要將兩位的十六進(jìn)制轉(zhuǎn)化為十進(jìn)制發(fā)送信息,同時(shí)在接受到下位機(jī)發(fā)送的信息時(shí),也需要將十進(jìn)制信息轉(zhuǎn)化為十六進(jìn)制,然后通過(guò)查閱通信協(xié)議,“翻譯”出所得到的信息。初始化設(shè)備包括設(shè)置上位機(jī)端的波特率、校驗(yàn)碼、數(shù)據(jù)位、停止位等基本操作。 圖 PC 機(jī)端測(cè)試程序采集到的通信協(xié)議 下圖即為設(shè)計(jì)上位機(jī)的總體流程圖。軟件的設(shè)計(jì)通過(guò) PC 端與射頻模塊連接,在 PC 上的測(cè)試程序來(lái)查看射頻模塊與控制器端的通信協(xié)議,以通信協(xié)議為基礎(chǔ)實(shí)現(xiàn)射頻模塊與主控制之間的通信。這也是本課題需要實(shí)現(xiàn)的具體工作,下圖即為射頻模塊讀取電子標(biāo)簽的具體工作流程。 1)創(chuàng)建一個(gè)新的文件下,在該文件夾下創(chuàng)建如下文件夾: etc bin dev home lib mnt proc root sbin sys tmp usr opt 一共十四個(gè)根文件系統(tǒng)必要的文件; 2) 解壓 Busybox tar xvjf ,編譯 Busybox,修改源目 錄中的 Makefile,指定編譯路徑 , 3)修改 inittab 文件、 fatab 文件、 、 profile 文件, 4)制作 yaffs2 根文件系統(tǒng)鏡像, 5)再將文件系統(tǒng)鏡像下載到 nand flash 并啟動(dòng)。但命令方式比圖形方式的效率要高。 制作根文件系統(tǒng)的基本方法就是創(chuàng)建各個(gè)目錄以及目錄中的文件。在根文件系統(tǒng)中存放著內(nèi)存鏡像、各種系統(tǒng)配置文件以及一些其他的重要文件(例如設(shè)備文件、命令程序等)。 1)在 drivers 目錄下新建一個(gè)驅(qū)動(dòng)目 錄即 mkdir usb_serial 2)將驅(qū)動(dòng)程序拷貝到新建的目錄下 cp /workspace/3)在該目錄新建一個(gè) Makefile vim Makefile 添加程序 obj $(CONFIG_USB_SERIAL) += 5) 在 driver 那一層的 Makefile 中添加 obj y += usb_serial/ 6) 在 usb_serial 文件中新建 Kconfig vim Kconfig Menu “ usb to serial” config USB_SERIAL booll “ Support USB To Serial” endmenu 7) 在 driver 那層目錄中的 Kconfig 添加 source“ drivers/usb_serial/Kconfig” 8) 在主目錄下 make menuconfig,在圖形界面中選擇 Device Server,選擇 Support USB To Serial 如下圖所示 : 圖 選擇設(shè)備驅(qū)動(dòng)選項(xiàng) 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)施 22 9) 在 FORLINX6410_CFG 中查看是否 CONFIG_USB_SERIAL_PL2303=y 如下圖 圖 查看內(nèi)核配置是否選擇編譯了所選驅(qū)動(dòng) 10) 在主目錄下 make zImage,這樣需要的驅(qū)動(dòng)設(shè)備就被編譯進(jìn)了內(nèi)核。 圖 根文件系統(tǒng)與設(shè)備驅(qū)動(dòng)之間的關(guān)系圖 隨著 Linux操作系統(tǒng)內(nèi)核版本的不同基于 PL2303的設(shè)備驅(qū)動(dòng)也會(huì)略微有區(qū)別,攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)施 21 相應(yīng)的設(shè)備驅(qū)動(dòng)程序的安裝就是是根據(jù)不同的操作系統(tǒng)的需求。要在 Makeflie文件中指定需要開(kāi)發(fā)的處理器體系結(jié)構(gòu)就行了,在編譯時(shí)使用的編譯器、庫(kù)文件和部分頭文件等都與具體處理器結(jié)構(gòu)有很大的關(guān)系。而設(shè)備驅(qū)動(dòng)程序則是 一種可以使計(jì)算機(jī)和設(shè)備通信的特殊程序 ,可以說(shuō)相當(dāng)于硬件的接口 的軟件實(shí)現(xiàn)。 \ fi ) 修改為: export KBUILD_BUILDHOST := $(SUBARCH) ARCH ?= arm CROSS_COMPILE ?= /usr/local/arm/ 3)在主目錄下輸入 make menuconfig 選擇 System Type 選擇 指定的 CPU,本設(shè)計(jì) 使用的是 S3c6410 因此選擇 Samsung S3c64XX 如圖所示: 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)施 20 圖 內(nèi)核芯片配置選項(xiàng)截圖 4)將需要添加的驅(qū)動(dòng)程序到在需要編譯的內(nèi)核文件里面,需要添加的主要驅(qū)動(dòng)包括 USB 轉(zhuǎn)串口驅(qū)動(dòng)即 PL2303 驅(qū)動(dòng)。 1)解壓內(nèi)核 tar zxvf 2)指定內(nèi)核編譯路徑,將 Mikefile 中的 export KBUILD_BUILDHOST := $(SUBARCH) ARCH ?= arm CROSS_COMPILE ?= $( shell if [ f .cross_pile ]。為了提高定制的效率, Linux 內(nèi)核一方面嚴(yán)格按照模塊化設(shè)計(jì),優(yōu)化代碼結(jié)構(gòu),盡量減少或避免定制過(guò)程中對(duì)源代碼的修改,另一方面,通過(guò)定制Makefile 文件的方式來(lái)控制源文件的編譯過(guò)程,以此來(lái)避免直接對(duì)內(nèi)核的源文件進(jìn)行添加和刪除。 7)刪除以前編譯的文件: make clean 8)編譯 uboot: make 內(nèi)核的定制 內(nèi)核的定制的根本目的是使內(nèi)核能夠根據(jù)嵌入式系統(tǒng)的軟硬件需求為應(yīng)用程序提供一個(gè)專用的平臺(tái)。 4)在 include/config 根目錄下添加 ,它定義了全局的宏定義等。 Uboot 的編譯 1)解壓源碼: tar zxf 2)在 board 目錄下創(chuàng)建 forlinx_nand_ram256_config 目錄添加 、 、 、 和 等。本次設(shè)計(jì)所使用的是 VMware 公司的虛擬軟件 workstation,建立虛擬機(jī),并在虛擬機(jī)上安裝。在搭建開(kāi)發(fā)板系統(tǒng)平臺(tái)的過(guò)程中,需要按照順序分別將 Uboot、剪裁后的 Linux 內(nèi)核、 YAFFS2 文件系統(tǒng)燒錄到本次設(shè)計(jì)中所用到的開(kāi)發(fā)板中去。因此,本文設(shè)計(jì)的門禁系統(tǒng)采用 Linux 內(nèi) 核,因此作為嵌入式系統(tǒng),對(duì)內(nèi)核的裁剪是相當(dāng)有必要的,所以,綜合考慮系統(tǒng)所需要的功能,對(duì)內(nèi)核進(jìn)行裁剪,保留需要的那些部分,也是嵌入式 Linux 系統(tǒng)開(kāi)發(fā)中非常關(guān)鍵的步驟之一,如果對(duì)內(nèi)核的制定有不妥當(dāng)?shù)?,在后續(xù)開(kāi)發(fā)過(guò)程中很有可能導(dǎo)致系統(tǒng)不支持的現(xiàn)象,到時(shí)候只能對(duì)內(nèi)核重新定制和編譯。因此本設(shè)計(jì)采用的 Yaffs2 文件系統(tǒng)。如文件頭的部分元數(shù)據(jù),免去 讀文件獲取這些數(shù)據(jù)的時(shí)間,塊分配序列號(hào)的采用加載時(shí)還會(huì)以此作為參考之一,判斷該塊是否適合回收,同時(shí)垃圾回收策略也有改進(jìn)。提供了損耗平衡和掉電保護(hù),可以有效地避免意外掉電對(duì)文件系統(tǒng)一致性和完整性的影響。支持在 Flash上運(yùn)行的常用嵌入式文件系統(tǒng)有 Cramfs、 Jffs、 JffsYaffs、 Yaffs2 等, Cramfs 文件系統(tǒng)是只讀文件系統(tǒng),通常在 NOR Flash 上多選用 Jffs 及 Jffs2 文件系統(tǒng),在 NAND Flash 上選用 Yaffs 或 Yaffs2 文件系統(tǒng)。之所以選擇 UBoot,是因?yàn)?UBoot 具有一下一些優(yōu)點(diǎn): ( 1)開(kāi)放源代碼; ( 2)支持多種嵌入式操作系統(tǒng)內(nèi)核,如 Linux、 NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS; ( 3)支持多個(gè)體系結(jié)構(gòu),如 PowePC、 ARM、 x8 MIPs、 XSeale; ( 4)較高的可靠性和穩(wěn)定性; ( 5)高度靈活的功能設(shè)置 ,適合 UBoot 調(diào)試、操作系統(tǒng)不同引導(dǎo)要求、產(chǎn)品 發(fā)布等; ( 6)豐富的設(shè)備驅(qū)動(dòng)源碼,如串口、以太網(wǎng)、 SDRAM、 FLASH、 LCD、 NVRAM、 EEPROM、 RTC、鍵盤等; ( 7)較為豐富的開(kāi)發(fā)調(diào)試文檔與強(qiáng)大的網(wǎng)絡(luò)技術(shù)支持 文件系統(tǒng)的選擇 嵌入式文件系統(tǒng) 是嵌入式操作系統(tǒng)的一部分,它的任務(wù)是對(duì)邏輯文件進(jìn)行管理,提供對(duì)邏輯文件操作的接口,如檢索、修改、刪除、復(fù)制等,以方便用戶的使用。 UBoot 全稱 Universal Boot Loader,是遵循GPL 條款的開(kāi)放源碼項(xiàng)目。目前,常用的 Boot Loader主要為 ViVi 、 Uboot、 Redboot,其中 Uboot 又占據(jù)了絕大部分份額。 Bootloader 是嚴(yán)格地依賴于硬件壞境實(shí)現(xiàn)的 ,特別是在嵌入式系統(tǒng)。 第二部分主要負(fù)責(zé)內(nèi)存映射、加載內(nèi)核等任務(wù)。 攀枝花學(xué)院本科畢業(yè)設(shè)計(jì)(論文) 總體設(shè)計(jì)和軟硬件平臺(tái)的選擇 16 第一部分是與硬件密切相關(guān)的代碼(例如負(fù)責(zé)初始化硬件的代碼)。一般它只在系統(tǒng)啟動(dòng)時(shí)運(yùn)行非常短的 時(shí)間,但對(duì)嵌入式系統(tǒng)來(lái)說(shuō),這是一個(gè)非常重要的系統(tǒng)組成部分。 bootloader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序 ,被用作系統(tǒng)從硬件啟動(dòng)到操作系統(tǒng)啟動(dòng)的過(guò)渡,是嵌入式系統(tǒng)中非常重要且必不可少的一段程序。Bootloader 啟動(dòng)首 先要對(duì)硬件進(jìn)行初始化、建立內(nèi)存映射等,其目的是為了內(nèi)核準(zhǔn)備好軟硬件運(yùn)行環(huán)境。 在嵌入式系統(tǒng)中是沒(méi)有 BIOS 程序的,從開(kāi)機(jī)硬件初始化到啟動(dòng)操作系統(tǒng)內(nèi)核全部是由 Bootloader 程序完成的。 BIOS 程序的主要任務(wù)是對(duì)各種硬件設(shè)備進(jìn)行自檢和初始化,然后運(yùn)行位于硬盤 MBR( Master Boot Record)上的操作系統(tǒng)加載程序。如對(duì)文件和目錄實(shí)現(xiàn)的讀、寫權(quán)限的控制,有有效的進(jìn)程監(jiān)控系統(tǒng),實(shí)時(shí)查看內(nèi)存運(yùn)行狀態(tài), Root 權(quán)限實(shí)現(xiàn)管理員對(duì)操
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1