Linux下串列埠 網絡卡驅動

2021-08-07 16:25:45 字數 1995 閱讀 4105

一、串列埠

1、一台有輸入、顯示部件,然後能夠連線的計算機的裝置叫做終端。linux中用tty表示終端。控制台和終端相比只是多了一項功能,它可以顯示系統資訊,比如核心訊息、後台服務訊息。啟動linux核心前傳入的命令列引數「console=…」就是用來指定控制台。

2、串列埠也是一種終端裝置,在基本硬體操作的基礎上,還增加了很多軟體功能。驅動程式從上到下分為四層:終端裝置層、行規層、串列埠抽象層、串列埠晶元層。

drivers/serial下串列埠晶元層各晶元具體函式抽象為drivers/serial下serial_core.c和serial_core.h,字元裝置集中於drivers/char。行規層指定資料交換的規則,比如接收到tab轉換為8個空格,接收到ctrl+c轉換為sigint。終端裝置層向上提供統一的裝置介面,使得使用者不必關心具體終端的型別。

3、串列埠接收資料,以接收ls為例

(1)shell一直休眠,串列埠接收『l』,儲存(緩衝區)、回顯

(2)接收『s』儲存、回顯

(3)接收回車符喚醒shell程序,shell讀取儲存的「ls」,進一步處理

二、網絡卡

核心空間即網路子系統。

系統呼叫介面:為使用者空間的應用程式提供一種訪問核心網路子系統的方法。

協議無關介面:提供通用方法使用底層傳輸層協議。

網路協議:實際協議如tic/ip、udp

裝置無關層:提供各個裝置驅動程式通訊的通用介面。

裝置驅動程式:移植重點,每個裝置具體的驅動程式。

如網絡卡dm9000,原始檔位於/driver/net/dm9000.c(具體操作函式)。既可以編進核心也可以編譯成乙個模組。入口函式都是dm9000_init

//向核心註冊平台驅動dm9000_driver

//名稱為dm9000,如果核心中有該裝置,就會呼叫dm9000_probe函式

dm9000_init(void)

static struct platform_driver dm9000_driver = ,

.probe = /driver/net/dm9000.c,

.remove = dm9000_drv_remove,

.suspend = dm9000_drv_suspend,

.resume = dm9000_drv_resume,

};

1、增加dm9000平台裝置

(1)增加平台裝置結構,在arch\arm\plat-s3c24xx\common-smdk.c

//確定該裝置使用的資源

#if defined(config_dm9000) || defined(config_dm9000_module)

/* dm9000 */

static struct resource s3c_dm9k_resource = ,

[1] = ,

[2] =

};

(2)加入核心裝置列表,也在arch\arm\plat-s3c24xx\common-smdk.c

static

struct platform_device __initdata *smdk_devs = ;

(3)修改/driver/net/dm9000.c中dm9000_probe、dm9000_reset、dm9000_open(註冊中斷等)等函式。

2、使用網絡卡

在核心根目錄下執行 make menuconfig 在影象介面中配置網絡卡(選擇編譯進核心或編譯成模組)

然後執行 make uimage 在arch/arm/boot/uimage生成核心映象

linux下串列埠(serial)和串列埠驅動

pc上的串列埠一般是ttys,板子上linux的串列埠一般叫做ttysac,是usb口轉串列埠的是ttyusb 外插串列埠卡的話預設是dev下的ttys 一般ttys0對應com1,ttys1對應com2 1.檢視串列埠的驅動資訊 cat proc tty driver serial 2.檢視串列埠...

linux 網絡卡驅動

如何安裝linux網絡卡驅動呢,看看下面的說明。適用機型 所有xseries 205 所有xseries 206 所有xseries 225 所有xseries 226 所有xseries 235 所有xseries 236 所有xseries 255 所有xseries 305 所有xseries...

linux下檢視USB轉串列埠驅動

在版本比較新的linux核心中應該都整合該驅動,可以通過下邊這個命令檢視是否已安裝驅動 1 modinfo ftdi sio 會出現大概如下的資訊 01filename lib modules 2.6.28 oshirix special edition kernel drivers usb ser...