原创 linux基礎學習筆記四:帶你認識一下shell

一、什麼是shell? 由於安全、複雜、繁瑣等原因,用戶不能直接接觸內核(也沒有必要),需要另外再開發一個程序,讓用戶直接使用這個程序;該程序的作用就是接收用戶的操作(點擊圖標、輸入命令),並進行簡單的處理,然後再傳遞給內核,

原创 linux驅動開發學習筆記一:關於linux內核的一些基本概念

一、什麼是linux內核? Linux是一種開源電腦操作系統內核。它是一個用C語言寫成,符合POSIX標準的類Unix操作系統。 操作系統是一個用來和硬件打交道併爲用戶程序提供一個有限服務集的低級支撐軟件。一個計算機系統是一個硬

原创 linux基礎學習筆記二:認識一下非常好用的man命令

一、前言 最近在學習驅動開發的過程中,經常要用到各種各樣的命令(把函數也當做是一種命令),比如昨天就使用到了open、read,write、release等函數。在剛開始使用的時候,一般不知道函數原型,不知道參數都有哪些,不知道返

原创 armbian學習筆記二:如何開始使用armbian

一、新用戶應該具備的先決條件 確保你有以下的工具: 符合開發板製造商要求的合適的供電電源(例如:5V/2A的DC電源適配器或者USB數據線) 一張可靠的SD卡(請看下面介紹的“如何準備一張SD卡”) 二、我們該如何下載系統鏡像

原创 linux基礎學習筆記三:磁盤分區那點事

一、什麼是磁盤分區? 簡單來講,就是將我們的磁盤分成多個部分,每個部分佔用一定的空間,就像我們在Windows中使用的C、D、E、F盤一樣。 二、爲什麼要進行磁盤分區? 還是以我們的Windows爲例,我們劃分爲多個盤的目的就是讓

原创 linux驅動開發學習筆記九:menuconfig過程詳解

當我們執行make menuconfig時,系統到底幫我們做了什麼? 這裏面一共涉及到了以下幾個文件,下面我們逐個的講解: Linux內核根目錄下的scripts文件夾 arch/$ARCH/Kconfig文件、各層目錄下

原创 linux驅動開發學習筆記七:將驅動程序編譯成.ko文件或者直接編譯進內核

一、前言        也學了10天左右的linux驅動開發了,一般學習新知識的時候,我都喜歡首先理清思路,然後纔去關注更加細節的東西,這次也不例外。        正如我前面寫的幾篇博客,主要內容包括linux內核和linux發

原创 linux驅動開發學習筆記八:配置內核必不可少的工具--menuconfig

一、常見的幾種配置工具介紹 在配置內核的時候會有很多配置方法: make menuconfig make xxx_defconfig 直接修改.config 注意: 其中menuconfig是一個圖形化配置工具,在後面我們會着

原创 linux基礎學習筆記六:配置環境變量

一、什麼是環境變量? 概念:環境變量是系統預設置的參數。Linux 是一個多用戶的操作系統,所以每一個用戶 也都有自己的環境變量 。 舉例:比如我們之前學習的命令我們不管在哪個路徑下輸入,都是可以執行成功的,因爲 系統已經把命令的

原创 linux基礎學習筆記五:軟鏈接和硬鏈接

一、Linux 下的鏈接種類 軟鏈接:類似於 windows系統中的快捷方式,與硬鏈接不同,軟鏈接就是一個普通文件,只是數據塊內容有點特殊,文件用戶數據塊中存放的內容是另一文件的路徑名的指向,通過這個方式可以快速定位到軟連接所指

原创 linux驅動開發學習筆記二十四:I2C驅動框架介紹

I2C 是很常用的一個串行通信接口,用於連接各種外設、傳感器等器件,Linux 下的 I2C 驅動是有框架的,我們需要按照指定的框架去編寫 I2C 設備驅動。 爲了符合 Linux 的驅動分離與分層的思想,Linux內核將 I2C

原创 linux驅動開發學習筆記二十五:SPI驅動框架介紹

一、SPI 驅動框架簡介 和I2C一樣,SPI 也是很常用的串行通信協議,SPI 驅動框架和 I2C 很類似,都分爲主機控制器驅動和設備驅動,主機控制器也就是 SOC的 SPI 控制器接口。 1、 SPI 主機驅動 SPI 主機驅

原创 linux驅動開發學習筆記二十二:MISC驅動

一、簡介 misc 的意思是混合、雜項的,因此 MISC 驅動也叫做雜項驅動,也就是當我們板子上的某些外設無法進行分類的時候就可以使用 MISC 驅動。MISC 驅動其實就是最簡單的字符設備驅動,通常嵌套在 platform 總線

原创 linux驅動開發學習筆記二十三:input子系統

一、簡介 按鍵、鼠標、鍵盤、觸摸屏等都屬於輸入(input)設備,Linux 內核爲此專門做了一個叫做 input子系統的框架來處理輸入事件。輸入設備本質上還是字符設備,只是在此基礎上套上了 input 框架,用戶只需要負責上報輸

原创 linux驅動開發學習筆記二十一:異步通知

一、異步通知簡介 我們首先來回顧一下“中斷”,中斷是處理器提供的一種異步機制,我們配置好中斷以後就可以讓處理器去處理其他的事情了,當中斷髮生以後會觸發我們事先設置好的中斷服務函數,在中斷服務函數中做具體的處理。比如我們在裸機篇裏面