平台匯流排概述

2021-06-13 23:45:23 字數 1396 閱讀 5104

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...