Linux USB裝置驅動架構分析

Linux

Linux tasklet 分析筆記

Linux tasklet 分析筆記    Chapter 1:驅動程式在初始化時,通過函數task_init建立一個tasklet,然後調用函數tasklet_schedule將這個tasklet放在 tasklet_vec鏈表的頭部,並喚醒後台線程ksoftirqd。當後台線程ksoftirqd運行調用__do_softirq時,會執行在中斷向量表softirq_vec裡中斷號TASKLET_SOFTIRQ對應的tasklet_action函數,然後tasklet_action遍曆

Linux 嵌入式啟動以及最佳化

Linux 嵌入式啟動以及最佳化以前寫了一篇Linux PC啟動過程的日記,最近項目中,想最佳化一下啟動過程,減少啟動時間.因此研究了我們項目的啟動全過程.第一步: BootLoader -- U boot   1 在cpu/arm926ejs/start.s中   a) b reset ; //jump to reset   b) set cpsr ;svc mode ,disable I,F interrupt   c)調用lowlevel_init 

Linux命令之basename 命令

本文轉載於:http://monkeymusic.blog.163.com/blog/static/4797639200912533652666/用途返回一個字串參數的基本檔案名稱。文法basename String [ Suffix ]描述basename 命令讀取 String 參數,刪除以 /(斜杠) 結尾的首碼以及任何指定的 Suffix 參數,並將剩餘的基本檔案名稱寫至標準輸出。basename 命令應用以下建立基本檔案名稱的規則:如果 String 參數是 //(雙斜杠)

Arm linux 核心啟動流程

Arm linux 核心啟動流程還是從編譯連結產生vmlinux的過程來看吧,由一大堆.o檔案連結而成,第一個就是 kernel/arch/arm/kernel/head-armv.o ,而且我們還看到了 lds連結檔案kernel/arch/arm/vmlinux.lds,先把它分析一下 ENTRY(stext) //進入點是stext 應該就在head-armv.s中了 SECTIONS { . = 0xC0008000;  //基址,是核心開始的虛擬位址 .init : {   /*

Linux裝置模型(底層原理簡介)

Linux裝置模型(底層原理簡介)以《LDD3》的說法:Linux裝置模型這部分內容可以認為是進階教材,對於多數程式作者來說是不必要的。但是我個人認為:對於一個嵌入式Linux的底層程式員來說,這部分內容是很重要的。以我學習的ARM9為例,有很多匯流排(如SPI、IIC、IIS等等)在Linux下已經被編寫成了子系統,無需自己寫驅動;而這些匯流排又不像PCI、USB等在《LDD3》上有教程,有時還要自己研究它的子系統構架,甚至要自己添加一個新的匯流排類型。對於這方面的學習,我推薦幾個網頁,這些也

Linux 2.6 核心的嵌入式系統應用

Linux 2.6 核心的嵌入式系統應用 摘 要:在分析Linux2.6核心新特性的基礎上,在S3C2410開發板上移植了2.6核心和新的檔案系統,並成功地對H.264編解碼多媒體系統提供了支援。 關鍵詞:Linux 核心 嵌入式系統 S3C2410 隨著多媒體技術與通訊技術相結合的資訊技術的快速發展和互連網的廣泛應用,PC 時代也過渡到了後PC時代。在數字資訊技術和網路技術高速發展的後PC時代,嵌入式技術越來越與人們的生活緊密結合。

Linux下ARM彙編教程

Linux下ARM彙編教程第一部分 Linux下ARM彙編文法儘管在Linux下使用C或C++編寫程式很方便,但彙編來源程式用於系統最基本的初始化,如初始化堆棧指標、設定頁表、操作ARM的副處理器等。初始化完成後就可以跳轉到C代碼執行。需要注意的是,GNU的彙編器遵循AT&T的彙編文法,可以從GNU的網站(www.gnu.org)上下載有關規範。 一. Linux彙編行結構 任何彙編行都是如下結構: [:] [} @ comment [:] [} @ 注釋 Linux ARM

linux下讀取windows檔案遇到的問題

1 #include <stdio.h> 2 #include <string.h> 3 int main(int argc, char *argv[]) 4 { 5 char buf[1024]; 6 FILE *fp ; 7 FILE *dst_fp; 8 int i,j; 9 char *line; 10 char file_name[256]; 11 int space_line = 2; 1

linux 查看使用者登陸的情況

w命令直接運行w命令可以列出目前系統上登陸的所有使用者以及詳細資料,比如使用者名稱(USER),登陸時間(LOGIN@),從哪裡登陸過來的(FROM),以及以什麼方式登陸的(WHAT)使用who命令也可以查看,但是沒有如此詳細的資訊。如果想看詳細的最近一段時間內系統所有使用者的登陸和離開資訊以及開機或者關機的資訊,使用命令last。last命令會列出詳細的資訊youfu    pts/2        192.168.1.32     Tue Sep 25 10:23   still

Linux 移植流水賬

Linux 移植流水賬首先,要看晶片的核Linux是否支援,如果不支援,那麼工作量極其大,放棄吧。 如果cpu核linux支援的話,移植linux,主要是根據SOC所整合的外圍模組,將驅動完成。 下面以一款ARM926ejs的晶片為例,在linux 26.22.5上的移植 。 假設晶片叫 MYCHIP 第一步 環境的建立 : 1 在config檔案中添加你的晶片支援   a)  mkdir arch/arm/mach_mychip, 添加Kconfig和Makefile檔案

linux各種資料流重新導向

> :以覆蓋的方法將『正確的資料』輸出到指定的檔案或裝置上1> :以覆蓋的方法將『正確的資料』輸出到指定的檔案或裝置上1>>:以累加的方法將『正確的資料』輸出到指定的檔案或裝置上2> :以覆蓋的方法將『錯誤的資料』輸出到指定的檔案或裝置上2>>:以累加的方法將『錯誤的資料』輸出到指定的檔案或裝置上<:將原本需要由鍵盤輸入的資料,改由檔案內容來取代<<:代表的是『結束的輸入字元』例如:『我要用 cat 直接將輸入的資訊輸出到

Linux虛擬盤製作簡易方法實踐

文章目錄 一. 概述 Linux虛擬盤製作簡易方法實踐關鍵字  Ramdisk VFS 虛擬盤 busybox  概 述  使用busybox製作linux虛擬盤的方法,以及Andoid虛擬盤的整合 一. 概述1、 安裝busybox工具Busybox有多個版本,一般都可用,此處用的是1.7.3,位於ftp://server28/共用軟體/linux下應用軟體目錄下busybox-1.7.3.tar.gz拷貝到使用者目錄後解壓縮:tar –

Linux 核心啟動分析

文章目錄 1. 核心啟動地址2. 核心啟動過程分析 Linux 核心啟動分析1. 核心啟動地址1.1. 名詞解釋ZTEXTADDR解壓代碼啟動並執行開始地址。沒有物理地址和虛擬位址之分,因為此時MMU處於關閉狀態。這個地址不一定時RAM的地址,可以是支援讀寫定址的flash等儲存中介。Start address of decompressor. here's no point in talking about virtual or

linux網路莫名無法啟動問題

 下午調試iptables的配置,增加支援vsftp的配置項。某次重啟機器後發現iptables服務無法啟動,發現網路服務沒有啟動成功。提示pcnet32 device eth0 does not seem to be present 原因不明。在網上找到這篇文章http://blog.chinaunix.net/u3/102399/showart_2014783.html,解決了     “在communities.vmware.com看到一個老外說,他在遇到這個問題時說:“What I

Linux系統中ARM體系的記憶體分頁認識

RK28平台Linux系統中ARM體系的記憶體分頁認識關鍵字  ARM,記憶體管理,分頁,MMU,虛擬位址  概 述  Linux系統下ARM晶片記憶體分頁 的一個認知文檔, 閱讀本文前認為讀者瞭解MMU 目 錄1. 概述... 52. LINUX的記憶體分頁管理... 53. ARM的分頁模式... 54. 記憶體分頁相關的資料結構... 55. 重要的系統函數調用... 56.實體記憶體的定製... 57.虛擬空間到物理空間的映射... 58.幾個相關問題的討論... 5一.

RK28-Linux I2C使用說明

RK28-Linux I2C使用說明目 錄一、 版本號碼和版本說明... 2二、 模組功能描述... 2三、 模組軟體設計思路... 2四、 模組主體流程... 2五、 系統資源佔用情況... 2六、 目錄和檔案說明... 2七、 介面函數說明和注意事項... 2八、 遺留問題... 2一、 版本號碼和版本說明本文給出了linux下I2C驅動的調用使用方法二、 模組功能描述I2C匯流排的驅動在linux上分多層,程式和資料結構較為複雜,這裡不作介紹,只介紹在I2C匯流排上掛載裝置驅動的基本方法,

Linux入門-開發環境建立

文章目錄 一. 概述 Linux 開發入門關鍵字  Linux 開發環境  概 述  本文是linux開發的一個入門文檔,介紹了環境的建立,編譯等相關步驟。 一. 概述應其他組的要求,本文給出了一個在windows XP上建立linux開發環境的步驟。可按照本步驟建立linux開發環境,本文不包括Android開發環境搭建。有關錯誤和遺漏有待後續補充修正1、 安裝虛擬機器軟體虛擬機器安裝軟體位於

Linux核心升級LCD驅動的更換(開發板)

文章目錄 一. 概述 Linux核心升級LCD驅動的更換(開發板)關鍵字  核心升級 ,更換驅動 ,LCD  概 述  本文給出了將一個已有的LCD驅動添加進一個新的linux核心中的方法 一. 概述本文搜集整理了Linux系統編譯時間的主要配置選項(make config)的詳細說明,供Linux裁剪特別是裝置驅動和模組功能增刪時使用參考。需要注意的是,每個版本linux版本的config各選項意義,命名等都可能有所差異。1、

Linux學習指南與書籍推薦

1:  首先熟悉linux平台     會使用vi/vim工具 熟練使用linux命令 瞭解meakefile檔案的編寫 shell檔案的編寫     相關文文檔在“/linux資料/linux基礎工具”目錄下   推薦閱讀該目錄下的《GNU MAKE》或者《跟我一起學makefile》     《vi.doc》《LINUX與UNIXSHELL編程指南》《linux常見指令全集》 2: linux bootloader學習    

總頁數: 4065 1 .... 413 414 415 416 417 .... 4065 Go to: 前往
Tags Index:

聯繫我們

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

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