基於網路裝置框架的驅動分析

2021-07-24 04:06:37 字數 734 閱讀 8217

所謂網路裝置,其實是乙個概念而非實體,網絡卡僅僅是網路裝置中的一部分。

由此不難看出,和塊裝置驅動相同,都是核心的頂層負責通用的上層邏輯,然後硬體差異由具體硬體驅動負責。驅動工程師只要完成極少的硬體相關的部分

下面介紹硬體相關的部分,以常見的dm9000為例。

網絡卡的配置分為兩步:早期soc內部的srom初始化,和網絡卡驅動負責的硬體本身的初始化

static

void __init smdkc110_dm9000_set(void)

網絡卡本身的驅動是基於platform匯流排的,所以有關網絡卡的可配置項都在platform_device中

struct platform_device s5p_device_dm9000 = 

};

static

struct resource s5p_dm9000_resources = ,

[1] = ,

[2] =

};

static

struct dm9000_plat_data s5p_dm9000_platdata = ,

//.dev_addr = ,

};

linux網路裝置驅動

linux網路裝置驅動 linux網路驅動程式的體系結構可劃分為4個層次。linux核心源 中提供了網路裝置介面及以網路子系統的上層的 移植特定網路硬體的驅動程式的主要工作就是完成裝置驅動功能層的相應 根據底層具體的硬體特性,定義網路裝置介面struct net device型別的結構體變數,並實現...

linux 網路裝置驅動

linux 網路驅動 謹以此文紀念過往的歲月 一.前言 在linux中網路驅動也是乙個大頭,如何去理解網路驅動是作為乙個linux驅動工程師必備的技能。不過同樣的裝置,在不同人的手中會有不同的效果,其原因就在於驅動的好與否。二.裝置註冊 學習網路的驅動與學習普通cdev驅動一樣,都是學習其模板,然後...

Linux網路裝置驅動 一

一 網路裝置驅動基礎 1.乙太網基礎理論 乙太網是區域網的一種,它使用載波監聽多路訪問及衝突檢測技術 csma cd 並以10m s的速率執行在多種型別的電纜上,常用的網絡卡晶元有dm9000 dm9161 cs8900晶元。乙太網的拓撲結構有匯流排型和星型,乙太網的工作模式有半雙工和全雙工。目前雙...