platform匯流排是linux2.6核心加入的一種虛擬匯流排。platform機制的本身使用並不複雜,由兩部分組成:platform_device 和 platform_driver
platform驅動與傳統的裝置驅動模型相比,優勢在於platform機制將裝置本身的資源註冊進核心,由核心統一管理,在驅動程式使用這些資源時使用統一的介面,這樣提高了程式的可移植性。
platform匯流排在linux中的體系架構如下圖所示:
通過platform機制開發底層裝置驅動的流程如圖:
平台裝置的描述:
平台裝置使用struct platform_device來描述
struct platform_device
struct platform_device的分配使用:
struct platform_device *platform_device_alloc(const char *name, int id);
引數:name: 裝置名 id:裝置id,一般為-1
平台裝置的註冊:
註冊平台裝置,使用函式:int platform_device_add(struct platform_device *pdev);
裝置資源:
平台裝置資源使用struct resource來描述:
struct resource
資源例子:
static struct resource s3c_wdt_resource1 =
static struct resource s3c_wdt_resource2 =
獲取資源:
struct resource *platform_get_resource(struct platform_device *dev,
unsigned int type, unsigned int num)
引數: dev:資源所屬的裝置 type:獲取資源的型別 num:獲取的資源數
例如:platform_get_resource(pdev, ioresource_irq, 0); 獲取中斷
平台驅動描述:
平台驅動使用struct platform_driver描述
struct platform_driver
平台驅動註冊:
平台驅動註冊使用函式:int platform_driver_register(struct platform_driver *);
AMBA匯流排概述
amba 高階微控制器匯流排體系結構 是一種免費可用的開放標準,用於連線和管理片上系統 soc 中的功能塊。它促進了具有大量控制器和外圍裝置的多處理器設計的首次開發。amba規範是免版稅的,與平台無關,可以與任何處理器體系結構一起使用。由於被廣泛採用,amba具有強大的合作夥伴生態系統,可確保來自不...
6 1 匯流排概述
返回目錄 計算機組成原理筆記目錄 2019 王道考研 6.1 匯流排概述 1.匯流排是一組能為多個部件分時共享的公共資訊傳送線路 1.共享是指匯流排上可以掛接多個部件,各個部件之間互相交換的資訊都可以通過 這組線路分時共享。2.分時是指同一時刻只允許由乙個部件向匯流排傳送資訊,如果系統中有多個部件,...
CAN匯流排 概述
前言 公司做的是汽車電子,所以產品都是用can匯流排。然而作為硬體工程師我不畫板,作為軟體工程師我不程式設計,作為fpga工程師我也並不會用ip核。之前做過can匯流排的物理層測試,最近被派遣去用fpga實現can controller 因此有了接下來一段時間對於can的部分知識的記錄。壹 概述 1...