原创 《Essential Linux Device Drivers》 第6章 Serial Drivers

第6章 串行設備驅動 串口是被許多技術和應用廣泛使用的基本通信通道。通用異步收發器(Universal Asynchronous Receiver Transmitter,UART)常用來實現串行通信。在PC兼容機硬件上,UART是Sup

原创 48位地址線,PAGE size是4KB, 每個頁表項是8Byte, 至少需要多少級頁表?

1. 一個page等於: 4KB = 2^12 2. 裝下全部48bits的地址空間需要2^36個page (2^48)/(2^12) = 2^36 3. 一頁中可以裝下2^9個頁表項(PTE): (2^12)/(2^3) = 2^9 4

原创 SDM845 虛擬地址分配

宏定義符號 描述 value VA_START 內核地址空間的起始地址 0xffffff80-00000000 TEXT_OFFSET bootloader會把kernel image從外設copy到RAM中,那麼具體copy到什麼位置呢

原创 諸葛亮爲什麼難以入圍千古名相之列

諸葛亮是千古名相似乎是歷史定論。其實,諸葛亮只能算是一個千古忠臣,並非千古名相;而史書中說諸葛亮是一個千古名相,這就有待於商討了。因爲諸葛亮就是不能識大體、棄細務,凡事必親躬,說明身邊人才貧乏;有良才而不用,以庸才而誤事,沒有識人之明;統

原创 《Essential Linux Device Drivers》 第8章 I2C Protocol

第 8 章 I2 C 協議 I2 C ( The Inter-Integrated Circuit )及其 子集 SMBus ( System Management Bus )均爲同步串行接口,普遍存在於桌面電腦和嵌入式設備中。 本章通

原创 《Essential Linux Device Drivers》 第4章 Laying the Groundwork

第4章 打下基礎 我們現在已經與編寫設備驅動之間的距離已經非常逼近。但是,在此之前,讓我們先裝備一些驅動的概念。本章首先開始於對本書的問題陳述的理念,接下來分析PC兼容的系統和嵌入式計算機中典型的設備和I/O接口。中斷處理在大多數驅動中的

原创 《Essential Linux Device Drivers》 第5章 Character Driver

第5章 字符設備驅動   現在,你已經準備就緒了,可以嘗試去寫一個簡單、但實用的設備驅動了。在這一章,我們將深入字符設備驅動的內幕:順序存取設備數據的內核代碼。字符設備驅動能從如下幾類設備獲取原始的數據:如打印機、鼠標、看門狗、鍵盤、內存

原创 linux2.6中的console_init初始化的研究

在linux初始化過程中,除非啓用了early console,否則直到console_init調用之前是沒有任何輸出的,它們的輸出都放在__log_buf這個緩衝內的,在console_init調用時再將這個緩衝區內的數據一次性輸出。

原创 《Essential Linux Device Drivers》 第3章 Kernel Facilities

第3章 內核組件 本章將對一些驅動開發相關的內核組件進行講解。我們首先以內核線程開始,它類似於用戶空間的進程,通常用於併發處理。 另外,內核還提供了一些接口,使用它們可以簡化代碼、消除冗餘、增強代碼可讀性並有利於代碼的長期維護。本章會學習

原创 《Essential Linux Device Drivers》 第2章 A Peek Inside the Kernel

第 2 章 內核一瞥 在我們開始步入 Linux 設備驅動的神祕世界之前,讓我們先熟悉一些從驅動開發人員應該理解的基本的內核概念。我們將學習到內核定時器、同步機制以及內存分配方法,但是,先讓我們從頂層視角開始探索,掃描一下內核發出的啓動

原创 《Essential Linux Device Drivers》 第7章 Input Drivers

第7章 輸入設備驅動 內核的輸入子系統是爲了對分散的、多種不同類別的輸入設備(如鍵盤、鼠標、跟蹤球、操縱桿、輥輪、觸摸屏、加速計和手寫板)進行統一處理的驅動。輸入子系統帶來了如下好處: ·         統一了物理形態各異的相似的輸入設

原创 《Essential Linux Device Drivers》 第1章 Introduction

第1 章 簡介 Linux 具有誘人的魅力,它是一個由全世界不同民族、不同信仰、不同性別的人共同參與和協作的國際性項目。免費提供源代碼 以及容易理解的類 UNIX 應用程序編程環境,促成了 Linux 的重大成功。 通過因特網從 專家

原创 查看無線網絡信道的方法

  今天上網看無線網絡架設看到這樣一句話:相鄰的無線AP設置爲不同的頻道,推薦選擇的頻道爲1、6和11。 802.11b協議工作在2.4000GHz~2.4835GHz信道上,一共存在着相互重疊的11個信道,在這11個信道中只有三個信

原创 Ubuntu 代理上網設置(firefox,新立得,apt-get等)

現在公司需要代理上網,ubuntu又是那麼的依懶網絡,前幾天在公司裝了ubuntu就開始查資料設置代理上網,以下整合一下,部分是參考其他網友的,這裏就不一一說明了。 一、Firefox代理上網 這個最簡單了,依次點擊 edit->pref

原创 ubuntu設置root用戶密碼

    安裝完Ubuntu後在終端使用命令:su -然後輸入密碼,總是不正確。原來是自己沒有設置ROOT密碼。 設置ROOT密碼方法如下:開啓終端,輸入以下命令:sudo passwd root然後輸入密碼按"確認"鍵就OK了。