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

正文內(nèi)容

基于arm的嵌入式溫度監(jiān)測(cè)系統(tǒng)畢業(yè)設(shè)計(jì)論文(存儲(chǔ)版)

  

【正文】 t下載;方法二:接上串口電纜,接上USB電纜,輸入命令:load flash kernel u,回車,板子等待用戶進(jìn)行USB下載傳輸。至此,linux內(nèi)核需要燒寫的已經(jīng)完成。設(shè)備驅(qū)動(dòng)程序是內(nèi)核的一部分。ADC驅(qū)動(dòng)設(shè)備就是字符設(shè)備。塊設(shè)備的任何塊都可以隨機(jī)讀/寫,可以讀取任意位置上的整數(shù)倍塊長(zhǎng)的數(shù)據(jù),不必考慮它在設(shè)備的什么地方。用戶進(jìn)程也是通過(guò)一種特殊的文件來(lái)與實(shí)際的硬件打交道的,這種特殊的文件就是設(shè)備文件,系統(tǒng)中的設(shè)備都用一個(gè)設(shè)備文件代表。才有折本節(jié)點(diǎn)在目錄中。若不同串口使用同一個(gè)驅(qū)動(dòng)程序,其主設(shè)備號(hào)一樣、輔設(shè)備號(hào)不同,輔設(shè)備號(hào)標(biāo)識(shí)這是第幾個(gè)串口設(shè)備。設(shè)備驅(qū)動(dòng)程序?yàn)閼?yīng)用程序屏蔽了硬件的細(xì)節(jié),這樣在應(yīng)用程序看來(lái),硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作普通文件那樣對(duì)硬件設(shè)備進(jìn)行操作。在操作系統(tǒng)內(nèi)部,外部設(shè)備的存取是通過(guò)一組固定入口點(diǎn)進(jìn)行的,這些入口點(diǎn)由每個(gè)外設(shè)的驅(qū)動(dòng)程序提供,由函數(shù)file_operations結(jié)構(gòu)向系統(tǒng)進(jìn)行說(shuō)明,因此,便攜設(shè)備的驅(qū)動(dòng)程序的主要工作是編寫子函數(shù),并填寫file_operations 的各個(gè)域。 int (*ioctl) (struct inode*,struct file*,unsigned int ,unsigned long)。ssize_t(*readv) (struct file*,const struct iovec*,unsigned long ,loff_t *)。當(dāng)其為NULL指針時(shí),將引起read系統(tǒng)調(diào)用放回EINVAL(“非法參數(shù)”)。它應(yīng)該完成以下操作:使用計(jì)數(shù)減一;釋放open分配在file~private_data中的內(nèi)存,在最后一次關(guān)閉操作時(shí)關(guān)閉設(shè)備。如果操作函數(shù)使用NULL,系統(tǒng)操作就進(jìn)行默認(rèn)的處理。int register_chrdev(unsigned int,const char *,struct file_operations*),其中的三個(gè)函數(shù)代表主設(shè)備號(hào),設(shè)備名,file_operatons的結(jié)構(gòu)地址。device設(shè)備的名稱。當(dāng)然,也可以編進(jìn)內(nèi)核[10]。release方法由系統(tǒng)調(diào)用close() 喚醒的,其原型如下:int (*release) (struct inode *inode, struct file *filp)需要說(shuō)明的是,release方法不一定是真正釋放由open 方法分配的資源。對(duì)于這些設(shè)備,在調(diào)用結(jié)束時(shí)release 方法只是將其狀態(tài)變量設(shè)為待機(jī),并不真正釋放資源。傳送的數(shù)據(jù)量較大時(shí),一般都不需要顯式調(diào)用access_ok()函數(shù),因?yàn)閏opy_to_user和copy_from_user 方法中已經(jīng)包含了對(duì)access_ok函數(shù)的調(diào)用。copy_from_user的原型如下:unsigned long copy_from_user(void *to, const void_user *from,unsigned long count)write方法的各種情況與read相似[21]。在ment ’Character devices’下面填加: bool ‘support for S3C2410_ADC’CONFIG_ S3C2410_ADC這樣在編譯內(nèi)核時(shí),運(yùn)make menuconfig 時(shí),在配置字符設(shè)備時(shí)就會(huì)出現(xiàn)support for S3C2410_ADC的字樣。用mknod命令來(lái)創(chuàng)建一個(gè)設(shè)備文件:mknod device_driver c 120 0,device_driver為設(shè)備文件名,c指的是字。(2)在kernel/drivers/char目錄下的Makefile文件中填加如下代碼:ifeq($(CONFIG_DEVICE_DRIVER),y)L_OBJS+= endif或 obj$(CONFIG_S3C2410_ADC)= (3)如果在配置linux內(nèi)核的時(shí)候,選擇了支持我們定義的設(shè)備,則在編譯內(nèi)核的時(shí)候。(4)write方法write方法可以看做是read方法的逆向執(zhí)行,read方法從內(nèi)核空間向用戶空間中傳遞數(shù)據(jù),而write方法則將用戶空間中的數(shù)據(jù)寫到內(nèi)核空間中。const void *addr是要檢驗(yàn)的地址空間的首地址,unsigned int size 是需要檢驗(yàn)的空間大小,單位為字節(jié)。這些硬件總是在內(nèi)核中,總是處于就緒狀態(tài),隨時(shí)準(zhǔn)備被調(diào)用,因而總是占用一部分系統(tǒng)資源。在對(duì)這個(gè)結(jié)構(gòu)進(jìn)行一些初始化工作后,open 方法一般將這個(gè)結(jié)構(gòu)存放于file結(jié)構(gòu)中的private_data域中,以便在其他方法中調(diào)用。module_init(device _init)。hangler中斷處理函數(shù)。每個(gè)設(shè)備有且僅有一個(gè)主設(shè)備號(hào)。 驅(qū)動(dòng)程序編寫的具體內(nèi)容通過(guò)了解驅(qū)動(dòng)程序的file_operation結(jié)構(gòu),用戶可以編寫出相關(guān)外部設(shè)備的驅(qū)動(dòng)程序。release的作用正好與open相反。open主要完成以下操作:檢查設(shè)備錯(cuò)誤(諸如設(shè)備未就緒或相似的硬件問(wèn)題);如果是首次打開,初始化設(shè)備;標(biāo)別此設(shè)備號(hào);分配和填寫放在file~private_data內(nèi)的數(shù)據(jù)結(jié)構(gòu);增加使用計(jì)數(shù)。 int(*fasync) (int ,struct file*, int)。 int (*readdir) (struct file *,void *,filldir_t)。而file_operations 結(jié)構(gòu)的每一個(gè)成員的名稱都對(duì)應(yīng)一個(gè)系統(tǒng)調(diào)用。用命令ls –l也可以顯示出設(shè)備文件[21]。驅(qū)動(dòng)程序和主設(shè)備號(hào)是一一對(duì)應(yīng)的,當(dāng)打開一個(gè)設(shè)備文件時(shí),操作系統(tǒng)就已經(jīng)知道這個(gè)設(shè)備設(shè)備所對(duì)應(yīng)的驅(qū)動(dòng)程序。設(shè)備節(jié)點(diǎn)是通過(guò)mknod命令建立的,其中指定了主設(shè)備號(hào)和次設(shè)備號(hào)。網(wǎng)絡(luò)協(xié)議(如TCP/IP)就是建立在網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序之上的應(yīng)用。塊設(shè)備塊設(shè)備的介質(zhì)必須是存儲(chǔ)介質(zhì),存儲(chǔ)的是定長(zhǎng)且可以隨機(jī)訪問(wèn)的數(shù)據(jù)塊,對(duì)塊設(shè)備的I/O操作只能以塊為單位進(jìn)行。(1)linux設(shè)備類型linux系統(tǒng)支持3種類型的硬件設(shè)備:字符設(shè)備(Char Device)、塊設(shè)備(Block Device)、網(wǎng)絡(luò)設(shè)備(Network Socket Device)。系統(tǒng)調(diào)用是linux系統(tǒng)內(nèi)核和應(yīng)用程序之間的接口,設(shè)備驅(qū)動(dòng)程序是linux系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口。點(diǎn)擊“打開”開始下載,此下載過(guò)程大學(xué)需要2~3分鐘。下載完畢,vivi被自動(dòng)燒寫到Nand Flash中。(2)分區(qū)格式化Flashdnw下進(jìn)入vivi連上串口線后,點(diǎn)擊首行條Serial Port→Connect,打開ARM板電源或者按一下板上的復(fù)位鍵,如果vivi燒寫成功,會(huì)出現(xiàn)一個(gè)界面,如果不是這個(gè)界面,說(shuō)明燒寫是失敗的,需要使用jflash2410燒寫軟件和JTAG電纜重新燒寫。(3) 燒寫vivi按照以下步驟進(jìn)行:[1]打開主機(jī)開始→運(yùn)行→cmd,[2]進(jìn)入sjc2410目錄,輸入燒寫命令開始燒寫。本設(shè)計(jì)用的是windows下的燒寫。在該系統(tǒng)中我們采用常見的vsPtfd軟件。Ramdisk通常使用磁盤文件系統(tǒng)的壓縮鏡像存放在Flash中,在系統(tǒng)初始化時(shí),解壓到SDRAM并掛載為根文件系統(tǒng)。make dep該命令用于尋找各文件的依存關(guān)系。Linux是一個(gè)移植性非常好的操作系統(tǒng),它廣泛支持許多不同體系結(jié)構(gòu)的CPU。所以需要針對(duì)自己的嵌入式硬件系統(tǒng),移植自己的Bootloader程序。引導(dǎo)加載程序的主要運(yùn)行任務(wù)就是將內(nèi)核映像從硬盤讀到RAM中,然后跳到內(nèi)核的入口點(diǎn)去運(yùn)行,即開始啟動(dòng)操作系統(tǒng)。嵌入式系統(tǒng)的啟動(dòng)代碼是和處理器體系結(jié)構(gòu)緊密相關(guān)的,而且通常是C語(yǔ)言和匯編語(yǔ)言聯(lián)合使用。(3)文件系統(tǒng)。因?yàn)長(zhǎng)inux的開放性,許多人認(rèn)為L(zhǎng)inux非常適合多數(shù)Internet設(shè)備。(2)在根目錄下,選擇/etc/profile,再右鍵點(diǎn)擊打開形式→gredit,則進(jìn)入編輯狀態(tài)鍵入有下劃線一行即可。(3)在linux系統(tǒng)的終端里,進(jìn)入系統(tǒng)的根目錄,執(zhí)行命令:cp /mnt/cdrom/Vmware /tmp(4)進(jìn)入系統(tǒng)的/tmp目錄,執(zhí)行命令:cd /tmptar –zxvf Vmware 解壓時(shí)間約為15s,解壓后,在/tmp/生成vmwaretoolsdistrib文件。交叉編譯器就是在一個(gè)平臺(tái)上生成能夠在另外一個(gè)平臺(tái)上運(yùn)行的代碼。通過(guò)調(diào)節(jié)滑動(dòng)變阻器可以使在沒有輸入的條件下,是輸出為零,這樣可以大大減小測(cè)量的誤差,從而提高測(cè)量的精度。:熱電偶的輸出信號(hào)從這里進(jìn)入濾波和放大電路,經(jīng)這里出來(lái)后就可以進(jìn)入單片機(jī)了,從而被單片機(jī)識(shí)別。如果自由端溫度保持恒定,則熱電偶熱電勢(shì)就變成為工作段溫度的單值函數(shù)。熱電偶就是利用熱電效應(yīng)來(lái)工作的。它的特點(diǎn)是使用溫度計(jì)范圍寬,高溫下性能較穩(wěn)定,熱電偶與溫度的關(guān)系近似線性,價(jià)格便宜,因此它是目前用量最大的一種熱電偶。在本設(shè)計(jì)中。經(jīng)校正后,大大減小了誤差,同時(shí)也減小了誤差對(duì)溫度的依賴,即減小了誤差溫度系數(shù)[20]。 AD590的室溫補(bǔ)償電路 性能集成溫度傳感器AD590 是一種高內(nèi)阻、電流輸出型的兩端器件, 其檢測(cè)靈敏度為1 μA/K。JTAG也可以實(shí)現(xiàn)對(duì)電路版的Flash編程。 JTAG編程方式是在線編程,傳統(tǒng)生產(chǎn)流程中先對(duì)芯片進(jìn)行預(yù)編程現(xiàn)再裝到板上因此而改變,簡(jiǎn)化的流程為先固定器件到電路板上,再用JTAG編程,從而大大加快工程進(jìn)度。 JTAG調(diào)試器JTAG是英文“Joint Test Action Group(聯(lián)合測(cè)試行為組織)”的詞頭字母的簡(jiǎn)寫, 是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE ),主要用于芯片內(nèi)部測(cè)試及對(duì)系統(tǒng)進(jìn)行仿真、調(diào)試。要知道SDRAM的結(jié)構(gòu)特點(diǎn),就必須先了解DRAM器件的結(jié)構(gòu)特點(diǎn)。SDRAM是高速的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,它的同步接口和完全流水線的內(nèi)部結(jié)構(gòu)使其擁有極大的數(shù)據(jù)速率,目前SDRAM時(shí)鐘頻率已經(jīng)達(dá)到100MHz以上。NOR的傳輸速率很高,在1~4MB的小容量時(shí)具有極高的成本效益,但是很低的寫入和擦除速度大大降低了它的性能。常用的Flash為8位或16位的數(shù)據(jù)寬度。次處理器能夠被用在要求有虛擬存儲(chǔ)器支持的操作系統(tǒng)上。ARMARMARM9E、ARM10E是4個(gè)通用處理器系列。調(diào)試器可以控制、訪問(wèn)被調(diào)試進(jìn)程,讀取被調(diào)試進(jìn)程的當(dāng)前狀態(tài),并能夠改變被調(diào)試的運(yùn)行狀態(tài)。進(jìn)行交叉編譯的主機(jī)稱為宿主機(jī),也就是普通的通用計(jì)算機(jī),宿主機(jī)系統(tǒng)資源豐富,使用的方便地集成開發(fā)環(huán)境和調(diào)試工具。嵌入式芯片還需要有存儲(chǔ)系統(tǒng)。 Emperature measurement內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(畢業(yè)論文)目 錄摘 要 IAbstract II第一章 嵌入式系統(tǒng)簡(jiǎn)介 1 嵌入式系統(tǒng)的概念 1 嵌入式系統(tǒng)的結(jié)構(gòu) 1 嵌入式系統(tǒng)與普通單片機(jī)開發(fā)的不同之處 2 交叉編譯 2 交叉調(diào)試 3第二章 設(shè)計(jì)用嵌入式模塊 5 ARM處理器 5 Flash模塊 5 SDRAM模塊 6 JTAG調(diào)試器 8第三章 溫度監(jiān)測(cè)電路設(shè)計(jì) 10 AD590的室溫補(bǔ)償電路 10 性能 10 誤差校正 10 AD590的補(bǔ)償電路設(shè)計(jì) 11 熱電偶的測(cè)溫電路 12 熱電偶的測(cè)溫原理 12 熱電偶的測(cè)溫電路設(shè)計(jì) 14第四章 溫度監(jiān)測(cè)系統(tǒng)的Linux構(gòu)建 17 構(gòu)建交叉編譯器 17 交叉編譯器 17 設(shè)置共享文件夾,并解壓linux開發(fā)包 17 安裝交叉編譯器 18 Linux操作系統(tǒng) 19 引導(dǎo)加載程序 20 內(nèi)核 21 文件系統(tǒng) 23 燒寫 24 Windows下燒寫vivi 24 分區(qū)格式化Flash及重新下載vivi 25 燒寫linux內(nèi)核 27 下載文件系統(tǒng) 27第五章 溫度監(jiān)測(cè)系統(tǒng)的軟件編程 28 編寫Linux下的ADC驅(qū)動(dòng)程序 28 Linux設(shè)備 29 驅(qū)動(dòng)程序的編寫說(shuō)明 32 驅(qū)動(dòng)程序編寫的具體內(nèi)容 34 ADC驅(qū)動(dòng)程序具體函數(shù)的分析 36 ADC驅(qū)動(dòng)程序的加載和刪除 39 編寫應(yīng)用程序 41 線性化部分 41 A/D轉(zhuǎn)換速率的計(jì)算 44 主程序的編寫 45第六章 溫度監(jiān)測(cè)的調(diào)試 47 編譯ad驅(qū)動(dòng)程序 47 運(yùn)行應(yīng)用程序 48 為ARM開發(fā)板更新內(nèi)核和文件系統(tǒng) 48 48 運(yùn)行main 主程序 49總結(jié) 51參考文獻(xiàn) 52附錄 54附錄A:程序源代碼 54附錄B:測(cè)溫原理圖 68附錄C:ARM板電路圖 69致謝 70內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(畢業(yè)論文)第一章 嵌入式系統(tǒng)簡(jiǎn)介 嵌入式系統(tǒng)的概念嵌入式系統(tǒng)是不同于常見計(jì)算機(jī)系統(tǒng)的一種計(jì)算機(jī)系統(tǒng),它不以獨(dú)立設(shè)備的物理形態(tài)出現(xiàn),即它沒有一個(gè)統(tǒng)一的外觀,它的部件根據(jù)主體設(shè)備以及應(yīng)用需要嵌入在設(shè)備的內(nèi)部,發(fā)揮著運(yùn)算、存儲(chǔ)、以及控制的作用。溫度監(jiān)測(cè)軟件系統(tǒng)的設(shè)計(jì)過(guò)程如下,本設(shè)計(jì)首先為溫度監(jiān)測(cè)系統(tǒng)構(gòu)建Linux環(huán)境,其次在Linux下編寫并加載系統(tǒng)驅(qū)動(dòng)程序,然后編寫應(yīng)用程序,編譯并下載到ARM開發(fā)板中。其中硬件系統(tǒng)包括SBC2410開發(fā)套件,溫度檢測(cè)電路、信號(hào)放大電路及信號(hào)顯示終端,論文中按模塊對(duì)各部分硬件的設(shè)計(jì)進(jìn)行了詳細(xì)的介紹。 Drivert 。一個(gè)嵌入式芯片供電系統(tǒng)為其供電;必須有時(shí)鐘信號(hào)系統(tǒng)提供時(shí)鐘信號(hào);必須有復(fù)位系統(tǒng)。編譯的主要工作就是將程序轉(zhuǎn)化成該程序的CPU所能識(shí)別的機(jī)器代碼。宿主機(jī)與目標(biāo)機(jī)通過(guò)串口或者網(wǎng)絡(luò)進(jìn)行通信。第二章 設(shè)計(jì)用嵌入式模塊 ARM處理器 ARM處理器當(dāng)前有6個(gè)產(chǎn)品系列:ARMARMARM9E、ARM10E、ARM11和SecurCore,其中ARM11是最近推出的產(chǎn)品。ARM9系列的第一個(gè)處理器是ARM920T,包含獨(dú)立的數(shù)據(jù)指令Cache和MMU。作為一種非易失性存儲(chǔ)器,F(xiàn)lash在系統(tǒng)中用于存放程序代碼、常量表以及一些在系統(tǒng)掉電后需要保存的用戶數(shù)據(jù)等。NOR的特點(diǎn)是芯片內(nèi)執(zhí)行,這樣應(yīng)用程序可以直接在Flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)ARM中。因此要在系統(tǒng)中使
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1