一步一步寫miscdevice的驅動模組

(本文使用的平台為友善tiny210SDKv2)對於linux的驅動程式來說,主要分為三種:miscdevice、platform_device、platform_driver 。這三個結構體關係:(基類)kobject --------------------/     \                    \/       \                     \device     cdev                   driver/     \ (裝置驅動操作方法)  

一步一步寫塊裝置驅動一

呃,這個塊裝置弄了我不少時間,原本是打算按自己的思路一步步寫出來的,但是參考了一下網上的其它內容,發現這篇文章寫得真心不錯,那我也沒必要做無謂的工作了,站在偉人的肩膀上,我能看得更遠!Linux塊裝置驅動程式可以分為兩類四種:第一類是使用請求隊列的塊裝置驅動。來自上層的I/O到達塊裝置層後,經過IO調度器的排序、合并,轉換為請求加入到請求隊列中,這就是request_queue_t結構,而上述排序、合并過程是在_make_request函數中完成的。與此相對應,請求的處理是由策略常式完成的,這就

一步一步寫塊裝置驅動二

使用IO調度器的情況(帶尋道)為了建立一個可用的塊裝置,我們需要做......1件事情:1:用add_disk()函數向系統中添加這個塊裝置   添加一個全域的   static struct gendisk *simp_blkdev_disk;   然後申明模組的入口和出口:   module_init(simp_blkdev_init);   module_exit(simp_blkdev_exit);   然後在入口處添加這個裝置、出口處私房這個裝置:   static int __ini

How to compile Andriod in Ubuntu 64 bit system

Step 0:Install below package, there are all needed in later:apt-get install zlib1g-devapt-get install flexapt-get install libncurses-devapt-get install libx11-devapt-get install gperfStep 1:When I tried to the Andriod system on my Ubuntu 10-0-04 LTS

一個有趣的指標問題

是從網上看到的一個例子:struct S{  int i;  int * p;};void main(){  struct S s;  int * p = &s.i;  p[0] = 4;  p[1] = 3;  s.p = p;  s.p[1] = 1;  s.p[0] = 2;}問程式會在哪一行死掉~ 解答:程式運行到最後一行就會報出異常,死掉.具體解答為: 首先需要說明的是結構體S,語句struct S s;系統會給s分配連續的兩個word的空間.void main(){ 

如何使用inotify_init,inotify_add_watch,inotify_rm_watch,read編寫監控程式

inotify是什嗎?用它能幹些什嗎?         通俗點說它是一個核心用於通知使用者空間程式檔案系統變化的系統,並且它是powerful yet simple的。 inotify的使用者介面原型主要有以下3個:#include  <sys/inotify.h>初始化:int inotify_init(void);               int    fd  =  inotify_init();添加監視對象:int inotify_add_watch(int fd,

25種提高網頁載入速度的方法和技巧

 您希望加快網頁的載入速度嗎?瞭解如何通過縮短載入時間來改善撥接使用者的瀏覽體驗,在某些情形下,載入時間最多可縮短 80%。下面介紹二十五中網速方法和技巧。一、使用良好的結構可延伸 HTML (XHTML) 具有許多優勢,但是其缺點也很明顯。XHTML 可能使您的頁面更加符合標準,但是它大量使用標記(強制性的 <start> 和 <end> 標記),這意味著瀏覽器要下載更多代碼。所以,事情都有兩面性,嘗試在您的網頁中使用較少的 XHTML

Beyond Compare as a Diff and Merge tool with Git

One of the first real points of frustration a developer encounters with Git is the initial unresolved merge conflict.Beyond Compare is an excellent file comparison utility and can be configured with Git as a merge and diff tool.To setup diff on

字元裝置驅動原理圖解

本文出處:tekkamanninja.blog.chinaunix.net最近在看《深入Linux裝置驅動程式機制》,這本書條理清晰,我從中獲益良多。以前在學習核心驅動的時候就是知道怎麼用,對於內部的原理瞭解的不是這麼深入。且當時的能力有限,想瞭解深入也不容易。這次正好趁複習驅動原理的機會,把這本書認真學習以下。   

Android2.2下的EXIF資訊處理

一.什麼是ExifExif(Exchangeable Image File 可交換影像檔)是一種圖象檔案格式,它的資料存放區與JPEG格式是完全相同的。實際上Exif格式就是在JPEG格式頭部插入了數位照片的資訊,包括拍 攝時的光圈、快門、白平衡、ISO、焦距、日期時間等各種和拍攝條件以及相機品牌、型號、色彩編碼、拍攝時錄製的聲音以及全球定位系統(GPS)、縮圖

tar 打包與解包命令

對於剛剛接觸Linux的人來說,一定會給Linux下一大堆各式各樣的檔案名稱給搞暈。別 個不說,單單就壓縮檔為例,我們知道在Windows下最常見的壓縮檔就只有兩種 ,一是,zip,另一個是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz、bz2、 .Z、.tar等眾多的壓縮檔名,此外windows下的.zip和.rar也可以在Linux下使用, 不過在Linux使用.zip和.rar的人就太少了。本文就來對這些常見的壓縮檔進行一

Android2.2下camera應用程式支援GPS資訊寫入jpeg檔案

 一、概述在Android2.2中,Camera的應用程式並不支援將GPS資訊寫入到JPEG檔案中,但如果要實現這個功能,有如下兩種方式:1、修改底層camera驅動。在拍照時,一般都是使用硬體去進行JPEG編碼,這樣就需要修改JPEG編碼器,使其可以將GPS資訊寫入JPEG檔案的頭部,即EXIF部分。這種方式使用與手機驅動開發人員。2、修改camera應用程式。Camera應用程式本身不支援該功能,但是android系統中提供了支援該功能的類——ExifInterface。本文介紹如何使用該類

Android2.2原始碼中關於產生圖片縮圖的一個bug

現象:在sdcard上存放一個特殊解析度的JPEG圖片,比如1x10000。然後使用android內建的圖庫應用程式去瀏覽該圖片。使用圖庫瀏覽圖片,會先產生縮圖供使用者瀏覽。此時,圖庫應用程式會異常退出,如果可以看其log,會發現dalvik分配記憶體時發生記憶體溢出。但是如果你使用別的圖片查看工具,不去產生縮圖,直接開啟該圖片,則不會發生異常。分析:經過分析,發現google在做縮圖時,有一處錯誤。Google設定所有縮圖的解析度都是96x96。以此為目標,然後根據原始圖片的解析度和靶心圖表片

對CURL的一些研究

 前兩天看到有人求用戶端socket 發HTTP包的代碼,受flw版主啟發找了一些perl的資料,不過對perl 還是不太熟悉。也沒有深入的研究。無意中發現了libcurl.so 這個庫。去google上搜尋發現它是處理用戶端發送HTTP請求的庫 以及可以處理web伺服器回送回來的包。研究了兩天將研究的成果,共用出來給大家一起研究。 參考:http://curl.haxx.se/  這是curl開發人員的首頁。

RPM 命令的介紹和應用

提要:RPM 是 Red Hat Package Manager 的縮寫,原意是Red Hat 軟體包管理;本文介紹RPM,並結合執行個體來解說RPM手工安裝、查詢等應用;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 本文: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ RPM 是 Red Hat Package

MeeGo 開發指南 1.0 開發教程

MeeGo 開發指南 1.0 開發教程轉自: MeeGo中文 介紹如果想擷取MeeGo平台的開發概覽,最好地方的是MeeGo developers。這裡討論的是一些更細節化的問題,比如MeeGo APIs的詳細內容。  MeeGo應用程式開發教程(1)在 Linux 上使用 MeeGo SDK 介紹MeeGo SDK由以下部分構成: 一個MeeGo chroot環境,這包含了一個基於Xephyr (http://www.freedesktop.org/wiki/Software/Xephyr)

什麼是Exif

Exif是英文Exchangeable Image File(可交換影像檔)的縮寫,最初由日本電子工業發展協會(JEIDA --Japan Electronic Industry Development Association) 制訂,目前的最新版本是2.21 版。國際標準組織(ISO)正在制訂的相機檔案設計標準(DCF -- Design role for Camera File system)可能以Exif2.1為基礎。 Exif

ARM 系列處理器

Cortex-A 系列處理器 ARM Cortex-A 系列是一系列用於複雜作業系統和使用者應用程式的應用程式處理器。Cortex-A 系列處理器支援 ARM、Thumb 和 Thumb-2 指令集。ARM Cortex-A9 處理器是一個高效能、低能耗的 ARM 宏單元,帶有 L1 快取子系統,能提供完全的虛擬記憶體功能。Cortex-A9 處理器實現了 ARMv7-A 體繫結構並運行 32 位 ARM 指令、16 位和 32 位 Thumb 指令,還可在 Jazelle 狀態下運行 8 位

meego 元年

MeeGo v1.0 Core Software Platform & Netbook User Experience project releaseSubmitted by Imad Sousou on 25 May, 2010 - 13:26 Today we are announcing the project release of MeeGo v1.0. This release provides developers with a stable core foundation

meego 安裝指南

Installing MeeGo on your Netbook Follow the steps for downloads and installing MeeGo on your Netbook and you'll be ready to go mobile!OverviewSteps for loading the MeeGo live image on your netbook, nettop or PC:Download the latest live image

總頁數: 61357 1 .... 20581 20582 20583 20584 20585 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.