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

正文內(nèi)容

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

2024-12-22 15:00上一頁面

下一頁面
  

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