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

正文內(nèi)容

基于三星嵌入式平臺(tái)的傳感器驅(qū)動(dòng)開發(fā)及測(cè)試本科畢業(yè)論文(存儲(chǔ)版)

  

【正文】 戶空間傳入,并且可選的參數(shù) arg 參數(shù)以一個(gè) unsigned long 形式傳遞,不管它是否由用戶給定為一個(gè)整數(shù)或幾個(gè)指針。指針參數(shù) flip 為進(jìn)行讀取信息的目標(biāo)文件結(jié)構(gòu)體指針,第二個(gè)整型參數(shù)為文件定位的目標(biāo)偏移量,參數(shù) offset 為對(duì)文件定位的起始地址,這個(gè)值可以為文件開頭、當(dāng)前位置和文件末尾。 int (*open) (struct inode *, struct file *)。 (如圖 所示) 圖 Linux 的空間模型 19 字符設(shè)備的數(shù)據(jù)結(jié)構(gòu) Linux 操作系統(tǒng)保持了 Unix“一切都是文件 ”的思想,將設(shè)備節(jié)點(diǎn)作為文件來對(duì)待和 操作。 ( 3)網(wǎng)絡(luò)接口設(shè)備 任何網(wǎng)絡(luò)事務(wù)都 通過一個(gè)接口來進(jìn)行 , 就是說 , 一個(gè)能夠與其他主機(jī)交換數(shù)據(jù)的設(shè)備。結(jié)點(diǎn)中的文件類型指明該文件是字符設(shè)備,可以使用與普通文件相同的文件操作命令對(duì)字符設(shè)備文件進(jìn)行操作,例如打開、關(guān)閉、讀寫、控制等。設(shè)備驅(qū)動(dòng)的列表和它們的主設(shè)備號(hào)可以在 (/proc/devices 中找到??偟膩碚f, Linux 強(qiáng)大的多用戶的開發(fā)環(huán)境非常適合大型工程的開發(fā),而驅(qū)動(dòng)程序是 BSP 的重要組成部分。使用 git 工具,開發(fā)者只需要用幾行簡(jiǎn)單的代碼就可以完成文件的上傳、刪除、下載等等。 SSH 是由客戶端和服務(wù)端的軟件組成的,有兩個(gè)不兼容的版本分別是: 和 。 動(dòng)態(tài)改變程序的運(yùn)行環(huán)境。其中 options 就是編譯器所需要的參數(shù),filenames 給出相關(guān)的文件名稱。 將文件保存或退出 vi,也可以設(shè)置編輯環(huán)境,如尋找字符串、列出行號(hào) ……等。對(duì)于開發(fā)來說,能實(shí)現(xiàn)文件的管理,常用的操作指令有: 幫助命令: help, man, whatis, whereis 顯示文件內(nèi)容命令: cat, more, less, head , tail, od, file, touch 文件內(nèi)容查詢命令: grep 文件查找命令: find, locate 文件比較命令: diff, m 文件權(quán)限命令: chmod 文件復(fù)制、刪除和移動(dòng)命令: cp, rm, mv 14 打包命令: tar 基于 Linux 的文本編輯器 Linux 還提供了強(qiáng)大的文字編輯器和編譯器,能實(shí)現(xiàn)代碼的編輯和編譯。 Linux 開發(fā)環(huán)境 基于 Linux 開發(fā)環(huán)境概述 Linux 是開放源代碼的自由操作系統(tǒng),它為用戶提供了最大限度的自由度。所以要掌握操作系統(tǒng)的有關(guān)接口的知識(shí)。另外一些比較通用的代碼,則可能放在TC4_Kernel/drivers 目錄下。 dnw 的優(yōu)點(diǎn)是使用圖形界面,操作更加簡(jiǎn)單。 fastboot 可以將鏡像文件通過usb 線將 pc 機(jī)上的文件燒錄到開發(fā)板上。 使用 trace32 工具時(shí),主要修改 .cmm 格式的文件,使得其中的配置符合開發(fā)板即可,具體來說,需要在 cmm 文件中使用 movi write emmcuboot + add 命令,來指定燒錄的位置,本工程中,地址的值為 40000000。 Android系統(tǒng)的內(nèi)核基于 linux。它完成處理器和周邊電路正常運(yùn)行所需要的初始化工作,屏蔽了底層硬件的差異,使上層軟件的編寫和移植更加方便。多種編解碼器是可提供給用戶環(huán)境更方便的利用的,尤其是作為多媒體來源不同的用戶。 Exynos4212 采用 32 納米高 K 金屬柵極 (HK/MG)低功耗工藝。 總之,在三星平板電腦的開發(fā)平臺(tái)上首次實(shí)現(xiàn)九軸傳感器是本課題的重點(diǎn)和創(chuàng)新點(diǎn),解決新版本 Android 的兼容性問題是本課題的難點(diǎn)。 系統(tǒng)在底層采用的是 的內(nèi)核。本課題涉及到的驅(qū)動(dòng)程序設(shè)計(jì)屬于 BSP 部分。 磁傳感器的本質(zhì)是一個(gè)電子羅盤,最主要的功能就是導(dǎo)航和定位。第一、從之前的單核處理器升級(jí)到了多核處理器;第二、處理器運(yùn)行主頻更高,達(dá)到了 ;第三、在外設(shè)方面更加豐富,特別是與傳感器相關(guān)的 I2C 接口數(shù)量上,達(dá)到了 8 個(gè)之多。在視頻方面, Exynos 4210 支持單路 WXGA 和雙路 WSVGA 視頻輸出,支持 HDMI ,可以拍攝 1080p、 30fps標(biāo)準(zhǔn)高清視頻; Exynos 4210提供了 的內(nèi)存帶寬,支持 LPDDR2/DDR2/DDR3 內(nèi)存。 根據(jù)摩爾定律計(jì)算機(jī)以每 18 個(gè)月提升一倍的速度不斷 在提高性能,向著速度更快、效率更高、性能更強(qiáng)的方向發(fā)展。 這些強(qiáng)大的功能使得 S3C6410 可以支持許多工業(yè)標(biāo)準(zhǔn)的操作系統(tǒng)。還包括一個(gè)完全的 MMU來處理虛擬存儲(chǔ)管理。ARM920T 具有兩個(gè)協(xié)處理器: CP14 和 CP15。 在許多應(yīng) 用方案中,三軸加速度傳感器、三軸陀螺儀、三軸磁傳感器已經(jīng)被集成到了一起,組成了九軸感測(cè)組件。對(duì)嵌入式系統(tǒng)的開發(fā),準(zhǔn)確地來說是對(duì)平板電腦的開發(fā),成為了工業(yè)界研究的熱點(diǎn)。 隨著現(xiàn)代信息技術(shù)和 Inter 技術(shù)的快速發(fā)展,各種各樣的數(shù)字化產(chǎn)品得到普及;嵌入式系統(tǒng)已經(jīng)滲透到了生活的各個(gè)角落 ——手機(jī)、平板電腦、電子商務(wù)、航空航天、軍事裝備等等(如圖 所示)。九軸傳感器在 Linux 內(nèi)核層通過 I2C 協(xié)議與處理器通信,向上層提供數(shù)據(jù)完成數(shù)據(jù)融合。 Android 支持加速度傳感器、磁傳感器、陀螺儀傳感器組成的九軸傳感器。它一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶的應(yīng)用程序等四個(gè)部分組成,用于實(shí)現(xiàn)它對(duì)其他設(shè)備的控制、 監(jiān)視或管理功能。世界各大 IT 廠商都開始已經(jīng)開始拓展平板電腦業(yè)務(wù)。陀螺儀的應(yīng)用包括提升各種 “Motion Control”界面的用戶體驗(yàn)、圖形穩(wěn)定、游戲和導(dǎo)航等,成為提升高端手機(jī)體驗(yàn)的重要配置。其中 MMU可以管理虛擬內(nèi)存, 16KB 的地址和 16KB 的高速 Cache 組成了高速緩存。 6410 處理器包括分立的 16KB 指令和 16KB數(shù)據(jù)組成的 Cache、 16KB 指令和 16KB 數(shù)據(jù)的 TCM。 該處理器采用了 90nmCMOS 工藝,它低功耗、簡(jiǎn)潔、精美且全靜態(tài)的設(shè)計(jì)使得 S3C6410 非常適合低成本、低功耗的應(yīng)用。包括返回 x、 y、 z 三軸的加速度數(shù)值的加速度 TC4 平臺(tái)是 SSCR(三星半導(dǎo)體中國(guó)研究所)為了開發(fā)以多核處理器 Exynos4x12 為核心的平板電腦手機(jī)的嵌入式系統(tǒng)開發(fā)平臺(tái)。該處理器采用32 nm 制程,擁有兩枚主頻為 GHz 的 CortexA9 通用處理核心,擁有 32/32 KB I/D Cache, 1 MB L2 Cache,并且集成 ARM Mali 400 MP 圖形處理核心。 總之, TC4 平臺(tái)相對(duì)于之前的三星嵌入式開發(fā)平 臺(tái),在處理器性能上提升了一個(gè)臺(tái)階。經(jīng)過一系列的算法之后,在手勢(shì)識(shí)別、環(huán)境感知、游戲控制、磁盤保護(hù)等方面,為智能手機(jī)帶來了許多前所唯有的應(yīng)用。 論文研究的目的:在 TC4 平臺(tái)上實(shí)現(xiàn)九軸傳感器驅(qū)動(dòng) 在 TC4 項(xiàng)目中,開發(fā)組分為 BSP(板極支持包)部門、 Midware(中間件)部門、 Hardware(硬件)部門和 SQA(軟件質(zhì)量保證)部門等。所以只需要操控內(nèi)部的控制器就可以實(shí)現(xiàn)數(shù)據(jù)的傳輸。正確使用這些函數(shù)庫(kù),是編寫正確驅(qū)動(dòng)的關(guān)鍵。下面以 4212 為例做簡(jiǎn)單介紹。還 4212 提供了一個(gè)來源廣泛的高速內(nèi)存接口,包括低功耗 DDR2, DDR3 和一個(gè)非易失性內(nèi)存主機(jī)。 Bootloader 程序 Bootloader 程序是用來完成系統(tǒng)啟動(dòng)和系統(tǒng)軟件加載工作的程序。該平臺(tái)面向平板電腦、智能手機(jī)等手持設(shè)備,重點(diǎn)開發(fā) 系統(tǒng)。TRACE32 作為一種真正集成化、通用性系統(tǒng)仿真器可以組合成多種方案,可以支持網(wǎng)絡(luò)方案、實(shí)驗(yàn)室單機(jī)方案、異地光纖方案等,它具有全模塊化、積木式結(jié)構(gòu)、可支持 JTAG 及 BDM 接口和所有 CPU,能夠提供軟件分析、端口分析、波形分析以及軟件測(cè)試等強(qiáng)大功能。 adb 常用的命令有: adb devices 來查看連接設(shè)備 adb install/unistall 來安裝 /卸載軟件 adb shell 來登錄設(shè)備 shell,繼而使用 adb shell 命令 adb push 將電腦上的文件或者文件夾復(fù)制到設(shè)備上 adb pull 將手機(jī)上的文件或者文件夾復(fù)制到電腦上 adb help 顯示 adb 的幫助信息 ( 3) fastboot fastboot 是一種使用 usb 接口進(jìn)行刷機(jī)的工具。 ( 4) dnw DNW 工具是三星公司自己開發(fā)的燒錄工具,具有和 fastboot 類似的作用,用來下載鏡像文件至電路板。比如本項(xiàng)目 TC4平臺(tái),處理器是 exynos4412 或者 exynos4212,平臺(tái)驅(qū)動(dòng)代碼被放置在TC4_Kernel/arch/arm 目錄下。 軟件方面,驅(qū)動(dòng)程序的編寫需要和操作系統(tǒng)結(jié)合起來。比如Installation Guide 等。 Linux 環(huán)境下使用命令行操作,用戶通過鍵入 shell 命令來和 linux 內(nèi)核交互。 底行模式( last line mode)。 GCC 最基本的用法是 ∶ gcc [options] [filenames]。 當(dāng)程序停止時(shí),可以檢查此時(shí)程序中的時(shí)間,比如查看當(dāng)前狀態(tài)下程序中指定的變量的值和地址。同時(shí)通過 SSH 的數(shù)據(jù)傳輸是經(jīng)過壓縮的,所以可以提高數(shù)據(jù)的傳輸速度,既然如此我們?yōu)槭裁床皇褂盟亍? 多用戶開發(fā)環(huán)境 Git Git 工具是用于 Linux 內(nèi)核開發(fā)的版本控制工具。在實(shí)際的使用工程中,經(jīng)常使用到的命令如下: 下載命令: git clone git/path/ 更新命令: git pull 檢查命令: git status 上傳命令: git push 本章小結(jié) 本章重點(diǎn)介紹了 TC4 項(xiàng)目 及其 開發(fā)環(huán)境,和本課題涉及的 BSP 部分內(nèi)容。 在 Linux 內(nèi)核當(dāng)中,每個(gè)設(shè)備驅(qū)動(dòng)都對(duì)應(yīng)著一定類型的硬件設(shè)備,并且被賦予一個(gè)主設(shè)備號(hào)。在 LINUX 等嵌入式操作系統(tǒng)中,字符設(shè)備以特定的文件方式在文件目錄樹中占據(jù)位置并且擁有相應(yīng)的結(jié)點(diǎn)。在 LINUX 中,允許應(yīng)用程序讀寫一個(gè)塊設(shè)備象一個(gè)字 18 符設(shè)備一樣 它允許一次傳送任意數(shù)目的字節(jié) . 結(jié)果就是 , 塊和字符設(shè)備的區(qū)別僅僅在內(nèi)核在內(nèi)部管理數(shù)據(jù)的方式上 , 并且因此在內(nèi)核 /驅(qū)動(dòng)的軟件接口上不同 . 如同一個(gè)字符設(shè)備 , 每個(gè)塊設(shè)備都通過一個(gè)文件系統(tǒng)結(jié)點(diǎn)被存取的 , 它們之間的區(qū)別對(duì)用戶是透明的 . 塊驅(qū)動(dòng)和字符驅(qū)動(dòng)相比 , 與內(nèi)核的接口完全不同。 對(duì)于 Linux 來說,分層的思想貫穿在整個(gè)系統(tǒng)當(dāng)中,硬件層與軟件層獨(dú)立、用戶空間與內(nèi)核空間獨(dú)立使得 Linux 系統(tǒng)集成了 Unix 高內(nèi)聚、低耦合的特點(diǎn),使得系統(tǒng)每層之間的分工更加明確,從而令操作系統(tǒng)的結(jié)構(gòu)更加清晰、性能更加穩(wěn)定。它通常被簡(jiǎn)單初始化為THIS—MODULE。 loff_t (*llseek) (struct file *, loff_t, int)。 int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long)。它由內(nèi)核在 open 時(shí)創(chuàng)建,并傳遞給在文件上操作的任何函數(shù),知道最后關(guān)閉。 inode 結(jié)構(gòu)表示一個(gè)文件,而 file 結(jié)構(gòu)表示一個(gè)打開的文件。這樣,不同的 file 結(jié)構(gòu)指向了同一個(gè) inode 節(jié)點(diǎn)。 [7] 22 字符設(shè)備的高級(jí)操作 ioctl 操作 Ioctl 向外界提供了除了讀寫之外的控制操作方法。系統(tǒng)的內(nèi)核已經(jīng)自己定義了一些幻數(shù),因此在自定義設(shè)備的幻術(shù)選取上要避免沖突。 在內(nèi)核空間,相同功能的操作用 poll 函數(shù)來完成。 poll 操作 在應(yīng)用程序中,我們會(huì)使用到 select 函數(shù)來實(shí)現(xiàn)多路監(jiān)控的作用。 其中, inode 和 file 類型的指針指向了可能用來修改或者訪問的文件。對(duì)于字符設(shè)備驅(qū)動(dòng)來說是一個(gè)重要的結(jié)構(gòu)體。它是 linux 管理文件系統(tǒng)的最基本單位,也是文件系統(tǒng)連接任何子目錄、文件的橋梁。在 flip 結(jié)構(gòu)體中,重要的成員有 對(duì)應(yīng)的目錄結(jié)構(gòu) 、文件的引用計(jì)數(shù) f_count、文件標(biāo)志 f_flags、讀寫模式 f_mode 改文件在當(dāng)前進(jìn)程中的文件偏移量 f_pos、 I/O 時(shí)間通知數(shù)據(jù) f_owner、文件所有者編號(hào) f_gid/f_uid 等等。 int (*mmap) (struct file *, struct vm_area_struct *)。指針參數(shù) flip 指向讀取信息的目標(biāo)文件,指針參數(shù) buffer 為對(duì)應(yīng)放置信息的緩沖區(qū) (即用戶空間內(nèi)存地址 ),參數(shù) size 為要讀取的信息長(zhǎng)度,參數(shù) offset 為讀的位置相對(duì)于文件開頭 20 的偏移,這個(gè)函數(shù)被用來從設(shè)備中獲取數(shù)據(jù)。與 open()函數(shù)對(duì)應(yīng)的是 release()函數(shù)。用戶進(jìn)程利用在對(duì)設(shè)備文件進(jìn)行諸如 read/write 操作的時(shí)候,系統(tǒng)調(diào)用通過設(shè)備文件的主設(shè)備號(hào)找到相應(yīng)的設(shè)備驅(qū)動(dòng)程序,然后讀取這個(gè)和數(shù)據(jù)結(jié)構(gòu)相應(yīng)的函數(shù)指針,接著把控制權(quán)交給該函數(shù),這是 Linux 的設(shè)備驅(qū)動(dòng)程序工作的基本原理。 很多網(wǎng)絡(luò)連接( 特別那些使用 TCP 的 ) 是面向流的 , 但是網(wǎng)絡(luò)設(shè)備卻常常設(shè)計(jì)成處理報(bào)文的發(fā)送和接收。例如磁盤、光盤
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1