Time of Update: 2016-06-05
標籤: 這篇來介紹一下適配器模式(Adapter Pattern),適配器模式在開發中使用的頻率也是很高的,像 ListView 和 RecyclerView 的 Adapter 等都是使用的適配器模式。在我們的實際生活中也有很多類似於適配器的例子,比如香港的插座和大陸的插座就是兩種格式的,為了能夠成功適配,一般會在中間加上一個電來源配接器,形如: 這樣就能夠將原來不符合的現有系統和目標系統通過適配器成功串連。 說到底,適配器模式是將原來不相容的兩個類融合在一起,它有點類似於粘合劑,
Time of Update: 2016-06-05
標籤:第5章:搭建 S3C6.410 開發板的測試環境 開發板是開發和學習嵌入式技術的主要硬體裝置, 儘管可以在 PC 上開發 Linux 驅動, 然後重 新編譯成 ARM 架構的 Linux 驅動模組。但最終都是要在開發板上進行測試的。這主要是因為 ARM 架構的開發板可基於 X86 架構的 PC 在 CPU 指令以及二進位格式上都有所不同。 而且如果 Linux 驅動需要訪問硬體(如 LCD、
Time of Update: 2016-06-05
標籤: 開發板是開發和學習嵌入式技術的主要硬體裝置, 儘管可以在 PC 上開發 Linux 驅動, 然後重 新編譯成 ARM 架構的 Linux 驅動模組。但最終都是要在開發板上進行測試的。這主要是因為 ARM 架構的開發板可基於 X86 架構的 PC 在 CPU 指令以及二進位格式上都有所不同。 而且如果 Linux 驅動需要訪問硬體(如 LCD、 Wi-町、藍芽等〉,並且這些硬體很難在 PC 上進行類比, 那麼就要在
Time of Update: 2016-06-05
標籤:第六章 第一個LINUX驅動程式:統計單詞個數統計單詞數的word_count 驅動是本書實現的第一個完整的Linux 驅動。雖然word_count 驅動的功能並不複雜,但足以讓以前從來接觸過Linux 驅動的開發人員瞭解Linux 驅動的完整開發過程。本章不僅僅是介紹一個樣本,還介紹了如何使用不同的方法測試Linux 驅動。這些方法主要以平台來區分。當然,要編寫 Linux 驅動程式還需要更進階的功能。 如向印表機驅動寫入資料時, 對於印表機
Time of Update: 2016-06-05
標籤:第七章 Led為我閃爍儘管 Linux 驅動直接與硬體打交道,但並不是 Linux 驅動直接向硬體中的記憶體寫資料, 而是與原生記憶體(νO Memory,位於核心空間〉進行互動。所謂 1/0 記憶體是通過各種介面(PCI、USB、藍芽、乙太網路口等〉串連到主機( PC、手機〉的硬體〈網卡。音效卡、網路攝影機等〉在主機內 存中的映射。例如,在 Ubuntu Linux 上啟動並執行驅動只需要訪問運行 Ubuntu Linux 的主機中的記憶體即可,然後Linux核心會利1/
Time of Update: 2016-06-05
標籤:編寫Led燈驅動的步驟如下:1、 建立LED驅動裝置檔案:(1)使用cdev-init函數初始化cdev;(2)指定裝置號;(3)使用cdev_add函數將字元裝置添加到核心中的字元裝置數組中;(4)使用class_creat宏建立struct class;(5)使用device_create函數建立裝置檔案;2、卸載Led驅動的裝置檔案3、 設定寄存器和初始化led驅動4、 控制led燈:(1)通過字串控制LED(2)通過I/O命令控制5、 LED驅動的模組參數6、 測試LED驅動(1)
Time of Update: 2016-06-05
標籤:介紹了如何在OK6410-A 開發板上安裝droid 1、檢測當前系統是否支援USB轉串口:#Ismod|grep usbserial;2、安裝minicom:#apt-get install minicom;3、配置minicom:minicom
Time of Update: 2016-06-05
標籤:首先建立led驅動的裝置檔案,可以使用cdev_init,register_chrdev_region,cdev_add等建立主裝置號的裝置檔案。步驟如下:1使用cdev_init初始化cdev2指定裝置號3使用cdev_add函數將字元裝置添加到核心中的字元裝置組中4使用class_creat宏建立struct class5使用device_creat函數建立裝置檔案然後卸載led驅動的裝置檔案{Device_destroy(leds_class,dev_number);If(leds_
Time of Update: 2016-06-05
標籤:這章內容講了搭建S3C6410開發板的測試環境。1.安裝串口調試工具:minicom,第1步:使用 insmod | grep usbserial命令檢測當前系統是否支援USB轉串口;第2步:使用apt-get install minicom命令安裝minicom;第3步:使用minicom
Time of Update: 2016-06-05
標籤:第五章主要學習了搭建S3C6410開發板的測試環境。首先要瞭解到S3C6410是一款低功耗、高性價比的RISC處理器它是基於ARMI1核心,廣泛應用於行動電話和通用處理等領域。 開發板從技術上說與我們經常用的手機類似, 也包含顯示屏、 鍵盤、 Wi-Fi、 藍芽等模組(可 能有的是選配〉。但與手機不同的是在開發板上安裝嵌入式系統要比手機容易得多。而且一般開發 扳都有很多擴充的連接埠,可以很容易開發定製的硬體, 並與開發板連結。因此,開發板相對於孚機
Time of Update: 2016-06-05
標籤:第六章講的是第一個Linux驅動程式:統計單詞個數。Linux系統將每一個驅動都映射成一個檔案,這些檔案被稱為裝置檔案或驅動檔案,都儲存在/dev目錄中。由於大多數Linux驅動都有與其對應的裝置檔案,因此與Linux驅動交換資料就變成了與裝置檔案交換資料。1.編寫Linux驅動程式的步驟:第1步:建立Linux驅動骨架(裝載和卸載Linux驅動),這兩個函數分別用module_init和module_exit宏指定;第2步:註冊和登出裝置檔案分別使用misc_register和misc_
Time of Update: 2016-06-05
標籤:LED控制發光二級管1.實現原理:與原生I/0 記憶體進行互動。所謂I/0 記憶體是通過各種介面串連到主機的硬體在主機記憶體中的映射。然後Linux 核心會利用I/0 記憶體中的資料硬體互動。Linux 核心提供了多個與1/0 記憶體互動的函數。每一個串連Linux 的硬體在ν0 記憶體中都會有映射首地址。2.編寫LED驅動:1) adb shell “ echo
Time of Update: 2016-06-05
標籤:1、資料檔案的存取操作我們可以將資料存取在Android應用資料的預設儲存地址,其地址為:安裝包/data/data/<package name>/files/1)向檔案中寫入資料public FileOutputStream openFileOutputStream(String name, int mode)其中,參數name為檔案名稱,mode為資料寫入方式(檔案操作模式)2)從檔案中讀取資料public FileInputStream
Time of Update: 2016-06-05
標籤:對於編寫linux驅動程式的步驟:主要有第一步,建立其驅動骨架,任何類型的程式都有一個基本的結構;第二步,註冊和登出裝置檔案,任何一個linux驅動都需要有一個裝置檔案,否則應用程式將無法與驅動程式互動。建立裝置檔案的工作一般在第一步編寫的處理linux初始化工作的函數中完成,刪除裝置檔案一般在第1步編寫的處理linux退出工作的函數中完成;第三步,指定與驅動相關的資訊,驅動程式是自描述的;第四步是指定回呼函數,linux
Time of Update: 2016-06-05
標籤:編寫LED驅動建立LED驅動的裝置檔案1.使用cdev_init函數初始化cdev。2.指定裝置號:用1個int類型表示 Linux裝置檔案的裝置號,前12位表示主裝置號,後20位表示次裝置號裝置號有兩種指定方法:直接在代碼中指定(寫入程式碼);動態分配 (alloc_chrdev_region)。分別使用MAJOR和MINOR宏從裝置號號中擷取主裝置號和次裝置號。3.使用cdev_add函數將字元裝置添加到核心中的字元裝置數組中4.使用class_create宏建立struct
Time of Update: 2016-06-05
標籤: 搭建S3C6410開發板的測試環境首先安裝串口調試工具第一步:檢測當前系統是否支援USB轉串口# lsmod | grep usbserial第二步:安裝minicom# apt-get install minicom第三步:配置 minicom# minnicom -a第四步:測試minicom#minicom燒寫Android
Time of Update: 2016-06-05
標籤:建立Linux驅動骨架:Linux核心在使用驅動時需要裝載與卸載驅動,裝載驅動:建立裝置檔案、分配記憶體位址空間等;module_init
Time of Update: 2016-06-05
標籤:LED將為我閃爍:控制發光二極體對於大多數Linux驅動來說,需要直接與硬體互動,本章主要介紹用Linux驅動來控制二極體的明暗,即通過Linux驅動發送資料控制開發板上LED燈的開關。第一節介紹了LED驅動的實現原理。Linux驅動不是直接向硬體中的記憶體寫資料,而是與原生I/O記憶體互動,Linux核心提供了多個與I/O記憶體互動的函數,每個串連Linux的硬體在I/O記憶體中都會有映射首地址,開發板上的LED等也有其映射首地址。第二節編寫LED驅動,步驟如下:(1)測試開發板,開啟電
Time of Update: 2016-06-05
標籤:Linux驅動是與I/O記憶體進行互動,所謂I/O記憶體是通過各種介面串連到主機的硬體在主機記憶體中的映射。Linux核心提供了多個與I/O記憶體互動的函數,Linux核心的記憶體管理模組負責同步I/O記憶體與硬體中的資料。一:首先建立led驅動的裝置檔案 1.使用cdev_init函數初始化cdev 2.指定裝置號 3.使用cdev_add函數將字元裝置添加到核心中的字元裝置數組中 4.使用class_create宏建立struct_class&n
Time of Update: 2016-06-05
標籤:Linux 驅動的工作方式:Linux系統將每一個驅動都映射成一個檔案.這些檔案稱為裝置檔案或驅動檔案,都儲存在/dev目錄中。對於驅動來說,需要接收這些被寫入的資料,並將它們通進PC 的井口、USB 等連接埠發送給裝置。要實現這一過程就需要Linux 驅動可以響應應用程式傳遞過來的資料。這就是Linux 驅動的事件,這就是回調( callback )函數。編寫Linux驅動程式的步驟:1)