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

正文內(nèi)容

畢設(shè)-基于arm的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)(更新版)

  

【正文】 為主次設(shè)備號(hào)。 struct device *parent。 name:misc 設(shè)備名。 DS18B20 的傳感器測(cè)量溫度范圍55℃ ? +125℃,在 10? +85℃范圍內(nèi)。ddat, size)把數(shù)據(jù)拷貝到用戶(hù)數(shù)據(jù)空間。 //配置數(shù)據(jù)總線(xiàn)( GPF0)為輸出模式 s3c2410_gpio_setpin(DSDATA, 0)。 //拉高 udelay(3)。 char ddat=0。 i++)//寫(xiě)命令 { s3c2410_gpio_setpin(DSDATA, 0)。 } s3c2410_gpio_cfgpin(DSDATA, DATAINP)。 udelay(500)。 } return res。 ret = misc_register(amp。 這里 本設(shè)計(jì) 使用 NFS 掛載根文件系統(tǒng)的方式來(lái)驗(yàn)證,具體的驗(yàn)證步驟如下: (1) 編譯內(nèi)核模塊,把 DS18B20 的驅(qū)動(dòng)以?xún)?nèi)核模塊的方式進(jìn)行編譯 , 可以執(zhí)行以下命令: make modules ARCH=arm CROSS_COMPILE=armlinux (2) 編譯完成后會(huì)產(chǎn)生 .ko 文件,編譯應(yīng)用程序 產(chǎn)生可執(zhí)行文件 app,把 和 app 拷貝到 NFS 共享目錄下: /opt/FriendlyARM/mini2440/root_qtopia下 。 簡(jiǎn)單地說(shuō), bootloader 就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) –18– 圖 Supervivi 和許多 bootloader 一樣它的啟動(dòng)也包括兩個(gè)部分: stage1 和 stage2。 技術(shù)上說(shuō) Linux 是一個(gè)內(nèi)核。 ? 進(jìn)程管理:主要是實(shí)現(xiàn)了進(jìn)程的創(chuàng)建,進(jìn)程的停止,并控制進(jìn)程間的相互通信,進(jìn)程管理還包括進(jìn)程如何共享 CPU,即進(jìn)程的調(diào)度。 (5) 使用 make menuconfig 進(jìn)行詳盡配置,執(zhí)行以下命令 (6) make menuconfig ARCH=arm 然后進(jìn)入圖形窗口進(jìn)入 device drivers,在高目錄下使用空格選擇 misc device 進(jìn)入該目錄下 本設(shè)計(jì) 可以看到 18b20 這個(gè)新設(shè)備,通過(guò)空格選擇該驅(qū)動(dòng) ,退出并保存。無(wú)論是 大型 跨國(guó)公司和大型組織(例如: Adobe174。另外, Qt 一直都是完全面向?qū)ο蟮摹?當(dāng)然用戶(hù)可以自定義窗口,這就需要 通過(guò) 已 有 Qt 窗體派生子類(lèi) 也可以通過(guò) 新建窗體 來(lái)實(shí)現(xiàn)。老的開(kāi)發(fā)工具套件(Toolkit)使用的機(jī)制不是類(lèi)型安全的,例如,容易引起 系統(tǒng) 崩潰, 不夠 靈活性而且不是面向?qū)ο蟮摹? 但 Qt 的 “ 信號(hào)和 插 槽 “ 機(jī)制 卻與傳統(tǒng)調(diào)用方法不同 。 另外, 可 以 為在發(fā)出信號(hào)時(shí)執(zhí)行或者 將連接設(shè)置 為 排隊(duì)稍后執(zhí)行,可 以在不同的線(xiàn)程的對(duì)象之間建立連接。 Qt Designer 支持采用基于窗體的方式來(lái)開(kāi)發(fā)應(yīng)用程序。 C 所以低三位用來(lái)顯示溫度數(shù)值,最高位也就是第四位顯示溫度的正負(fù)。然后進(jìn)行信號(hào)插槽的連接即可,那么初步設(shè)計(jì) 基本 完成。 Qt 的構(gòu)建系統(tǒng)能將用戶(hù)界面的編譯構(gòu)建過(guò)程自動(dòng)化,使設(shè)計(jì)過(guò)程更輕松。信號(hào)和 插 槽是類(lèi)型安全的,可以重載,也可以重新實(shí)現(xiàn),可以出現(xiàn)在類(lèi)的公有區(qū)、保護(hù)區(qū)或私有區(qū)。例如, 當(dāng) 單擊某一按鈕時(shí),該按鈕將 會(huì) 發(fā)出“ clicked”信號(hào)。 “ 信號(hào)和 插 槽 ” 機(jī)制是一種功能強(qiáng)大的對(duì)象間 進(jìn)行信息傳遞 機(jī)制,完全可以取代 傳統(tǒng) 的開(kāi)發(fā)套件所使用的基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) –26– 粗糙的回調(diào)和消息映射。 信號(hào)和槽為對(duì)象之間的通信提供了 便利條件。 Qt 窗體 具有簡(jiǎn)單,易用 , 靈活的特 點(diǎn)。、 Google174。 通過(guò)以上操作 DS18B20 的驅(qū)動(dòng)已經(jīng)被編譯到內(nèi)核當(dāng)中,只要我餓們把內(nèi)核下載到開(kāi)發(fā)板下,在開(kāi)發(fā)板的 dev 目錄下可以看到設(shè)備 ds18b20,這 就 說(shuō)明 設(shè)備添加成功,如圖 所示。 ? 網(wǎng)絡(luò)協(xié)議棧:主要為 Linux系統(tǒng)提供了豐富的網(wǎng)絡(luò)協(xié)議。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。 . Stage1 包括以下步驟: ? 初始化硬件 ? 為 bootloader 的 stage2 準(zhǔn)備 RAM 空間 ? 拷貝 bootloader 的 stage2 到 RAM 空間 ? 設(shè)置堆棧 ? 跳轉(zhuǎn) 到 stage2 的 C 入口點(diǎn) Stage2:包括以下步驟: ? 初始化本階段要使用的設(shè)備 ? 將內(nèi)核和根文件系統(tǒng)從 Flash 讀到 RAM 中 ? 調(diào)用內(nèi)核 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) –19– 本章小結(jié) 本章節(jié)主要介紹了 bootloader,從系統(tǒng)宏觀(guān)地分析了 bootloader 的作用,同時(shí)也具體地分析了 bootloader 的啟動(dòng)流程。在嵌入式系統(tǒng)中,通常并沒(méi)有像 BIOS 那樣的固件程序,因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由bootloader 來(lái)完成。 B. 按下 x 進(jìn)行分區(qū),然后下載 supervivi 和 Linux 內(nèi)核。 printk(DEVICE_NAME\tinitialized\n)。 static int ds18b20_open(struct inode *inode, struct file *file)//設(shè)備打開(kāi):初始化設(shè)備,標(biāo)明次設(shè)備號(hào) { s3c2410_gpio_cfgpin(DSDATA, S3C2410_GPB0_INP)。 udelay(27)。 } DS18B20 的控制 在這部分程序代碼中主要是實(shí)現(xiàn) DS18B20 的復(fù)位過(guò)程,代碼主要是描述復(fù)位時(shí)序。 //5us if (ddat amp。 if (copy_from_user(amp。 //配置數(shù)據(jù)總線(xiàn)為輸入模式 if(copy_to_user(buff, amp。 //延時(shí) 4us s3c2410_gpio_setpin(DSDATA, 1)。 char ddat。因此,數(shù)字單總線(xiàn)器件 DS18B20 可應(yīng)用的場(chǎng)合十分廣泛。 數(shù)據(jù)采集電路 DS18B20 簡(jiǎn)介 [6] 本設(shè)計(jì)使用于由美國(guó)達(dá)拉斯公司設(shè)計(jì)生產(chǎn)的單總線(xiàn)結(jié)構(gòu)的溫度傳感器 DS18B20。 }。 應(yīng) 用 程 序字 符 設(shè) 備 文 件文 件 系 統(tǒng)塊 設(shè) 備 文 件套 接 字字 符 設(shè) 備 驅(qū) 動(dòng) 塊 設(shè) 備 驅(qū) 動(dòng)協(xié) 議 棧網(wǎng) 絡(luò) 設(shè) 備 驅(qū) 動(dòng)字 符 設(shè) 備 塊 設(shè) 備 網(wǎng) 絡(luò) 設(shè) 備 圖 Linux用戶(hù)對(duì)各類(lèi)設(shè)備的訪(fǎng)問(wèn)流程 在字符設(shè)備中存在一種特殊的字符設(shè)備 混雜設(shè)備,這類(lèi)設(shè)備的主設(shè)備號(hào)都是 10,次設(shè)備 號(hào) 通過(guò)函數(shù)調(diào)用可已進(jìn)行動(dòng)態(tài)分配。 C P U 及 存儲(chǔ) 器顯 示 模 塊復(fù) 位 模 塊測(cè) 溫 模 塊其 他 接 口I / O 接 口 圖 DS18B20 驅(qū)動(dòng)的編寫(xiě) 硬件驅(qū)動(dòng)大體可以分為一下幾類(lèi):網(wǎng)絡(luò)接口驅(qū)動(dòng),字符設(shè)備驅(qū)動(dòng),塊設(shè)備驅(qū)動(dòng) [5]。組成架構(gòu)如圖 所示。 通過(guò)一套完整的通用系統(tǒng)外設(shè), S3C2440無(wú)需配置額外的組 也同時(shí) 減少整體系統(tǒng)成本 。 本章小結(jié) 本章對(duì)基于 ARM9 做溫度采集 系統(tǒng) 的意義做了總體概括,并對(duì) 嵌入式開(kāi)發(fā) 的 應(yīng)用情況做了簡(jiǎn)單的介紹。 通過(guò)設(shè)計(jì) 嵌入式 溫度采集一方面可以解決一些實(shí)際問(wèn)題,但更為重要的是 通過(guò) 本設(shè)計(jì)是對(duì)自己大學(xué)四年學(xué)習(xí)的一個(gè)檢驗(yàn),由于大學(xué)期間沒(méi)有學(xué)習(xí)有關(guān)嵌入式的相關(guān)知識(shí),通過(guò)自學(xué)嵌入式開(kāi)發(fā)的相關(guān)知識(shí),讓自己對(duì)嵌入式有一個(gè)深入的理解,為以后的學(xué)習(xí)工作 奠定基礎(chǔ)。基于這一背景,本設(shè)計(jì)旨在 通過(guò)設(shè)計(jì)一個(gè)基于 ARM 的嵌入式溫度采集系統(tǒng)在成本高和穩(wěn)定性差之間尋求一個(gè)平衡點(diǎn)。嵌入式系統(tǒng)良好的特性 使得整個(gè) 嵌入式 溫度采集 系統(tǒng)也具備了 發(fā)展?jié)摿Υ螅?功耗 低 ,穩(wěn)定性高, 可視化界面好, 便于攜帶和功能可擴(kuò)展的特性。 本設(shè)計(jì)提出了一種以嵌入式為基礎(chǔ)的溫度采集系統(tǒng)的設(shè)計(jì)方案, 使得 基于 嵌入式系統(tǒng) 做 溫度 采集終端有較好的人機(jī)交互界面 和系統(tǒng)高穩(wěn)定性 。 in hardware mainly implemented design of the DS18B2039?,F(xiàn)在的嵌入式系統(tǒng)有很多種類(lèi) ,但最為成熟的是以 ARM 為基礎(chǔ)的嵌入系統(tǒng)。 其次,本文將對(duì) Linux內(nèi)核的 架構(gòu) 和相關(guān)操作做一個(gè)簡(jiǎn)單的介紹, 以及 針對(duì) mini2440開(kāi)發(fā)板 如何 進(jìn)行 Linux 內(nèi)核的移植,裁剪,配置和編譯 等關(guān)鍵環(huán)節(jié)做了詳細(xì)的說(shuō)明 。 S3C2440采用了 ARM920T的內(nèi)核, m的 CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。之后 SRAM中的引導(dǎo)程序?qū)⒉僮飨到y(tǒng)鏡像加載到SDRAM中運(yùn)行。綜合以上 可知 使用 mini2440 開(kāi)發(fā)板結(jié)合 DS18B20 做溫度采集系統(tǒng) 理論上行得通 。進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)訪(fǎng)問(wèn)的接口設(shè)備就叫做網(wǎng)絡(luò)接口設(shè)備 ,它一般通過(guò)套接字來(lái)實(shí)現(xiàn) 。 const char *name。 說(shuō)明:上面的結(jié)構(gòu)體是注冊(cè) 混合設(shè)備所需要的參數(shù)。實(shí)現(xiàn)溫度的 9 和 12位數(shù)字值的轉(zhuǎn)換需要消耗一定的功率,而這些功率都是由單總線(xiàn)來(lái)提供的,也可連接DS18B20 的總線(xiàn)供電,因此不需要額外的電源供應(yīng),這種設(shè)計(jì)大大減少 I/O 資源。 測(cè)溫接口電路及工作時(shí)序 (1) 測(cè)溫模塊的硬件電路如下圖 123J7DS18B20VCCGND4K7R3Res2VCCT0 圖 DS18B20電路圖 (2) DS18B20 的時(shí)序 DS18B20 的時(shí)序主要包括兩個(gè)方面:一是 DS18B20 的復(fù)位時(shí)序,在系統(tǒng)發(fā)出復(fù)位時(shí)序后, DS18B20 會(huì)發(fā)出才能在信號(hào),具體如圖 所示;二是 DS18B20 讀寫(xiě)時(shí)序,具體如圖 所示。 i8。 //把最高位取零 } udelay(80)。 } 寫(xiě) DS18B20 這部分程序主要實(shí)現(xiàn)開(kāi)發(fā)板向 DS18B20 寫(xiě)一個(gè)字節(jié)的命令,函數(shù)內(nèi)部主要實(shí)現(xiàn)對(duì)寫(xiě)時(shí)序的描述,同時(shí)通過(guò)函數(shù) copy_from_user(buff, amp。 } s3c2410_gpio_cfgpin(DSDATA, DATAOUTP)。 // 70us s3c2410_gpio_setpin(DSDATA, 1)。 s3c2410_gpio_setpin(DSDATA, 1)。 res = s3c2410_gpio_getpin(DSDATA)。} DS18B20 的操作函數(shù) 其實(shí)這也是頂層應(yīng)用文件對(duì)硬件操作的一個(gè)接口,只要頂層文件對(duì)相應(yīng)函數(shù)進(jìn)行調(diào)用也就是對(duì) DS18B20 的操作。misc)。 D. 輸入 vivi 命令: param set linux_cmd_line console=ttySAC0 root=/dev/nfs nfsroot=:/opt/FriendlyARM/mini2440/root_qtopia ip=::::sbc2440:eth0:off (4) 通過(guò)串口打開(kāi)超級(jí)終端,在根目錄下安裝 DS18B20 驅(qū)動(dòng)模塊: FriendlyARM insmod (5) 運(yùn)行測(cè)試程序: FriendlyARM ./app 運(yùn)行可執(zhí)行文件 app 后 會(huì)出現(xiàn)下圖的測(cè)試效果,如圖 所示。他們之間的區(qū)別就是不同的 bootloader 可以引導(dǎo)不同內(nèi)核。它是一個(gè)用 C 語(yǔ)言寫(xiě)成,符合 POSIX標(biāo)準(zhǔn)的類(lèi) Unix 操作系統(tǒng)。內(nèi)核空間和用戶(hù)空間是程序執(zhí)行的兩種不同狀態(tài),通過(guò)系統(tǒng)調(diào)用和硬件中斷能夠?qū)崿F(xiàn)從用 戶(hù)空間到內(nèi)核空間的轉(zhuǎn)移。 基于 ARM 的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì) –22– 虛 擬 文 件 系 統(tǒng)應(yīng) 用 程 序E x t 2 F A T N F S設(shè) 備 文件 圖 虛擬文件系統(tǒng)提供統(tǒng)一文件接口 內(nèi)核移植到 mini2440[8] (1) 首先到 下載一套沒(méi)有經(jīng)過(guò)移植的 源代碼,并解壓到相關(guān)目錄下,進(jìn)入目錄 ; (2) 對(duì)內(nèi)核根目錄下的 Makefile 文件進(jìn)行相應(yīng)修改,修改 CPU 類(lèi)型為 arm,編譯工具改為 armlinux, ARCH ?= arm, CROSS_COMPILE ?=armlinux; (3) 修改時(shí)鐘頻率: vi arch/arm/machs3c2440/(12020000); (4) 修改對(duì) Nand 的分區(qū)信息。除了擁有擴(kuò)展的 C++ 類(lèi)庫(kù)以外, Qt 還提供了 一系列簡(jiǎn)單的 可 以 用來(lái)直接 進(jìn)行 快速編寫(xiě)應(yīng)用程序的工具。、 NASA、 Skype174。 這樣的例子很多,例如: 按鈕、菜單、滾動(dòng)條、消息框以及應(yīng)用程序窗口 等 。例如,當(dāng)用戶(hù)單擊菜單項(xiàng)目或者工具欄按鈕時(shí), GUI 應(yīng)用程序便會(huì)執(zhí)行某段 程序 。 當(dāng) 單擊此按鈕時(shí),系統(tǒng) 便會(huì) 調(diào)用此函數(shù)。 Qt 的 “ 信號(hào)和槽 ” 機(jī)制 對(duì) 各類(lèi)彼此 之間 感知 沒(méi)有 要求,這樣 就 可以更輕松地開(kāi)發(fā)極易重新使用的類(lèi)。 開(kāi)發(fā)人員既可以創(chuàng)建“對(duì)話(huà)框”樣式的應(yīng)用程序、又可以創(chuàng)建帶有菜單、工具欄、氣球幫助以及其他標(biāo)準(zhǔn)功能的“主窗口”樣式的應(yīng)用程序。 圖 利用 QT designer設(shè)計(jì)界面 從圖 可以看出使用 designer 來(lái)設(shè)計(jì) QT 界面相對(duì)比較簡(jiǎn)單,很多組件只要從工具欄里拖拽到窗
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1