新聞中心
linux驅動設備一般有四類,即硬件設備驅動、文件系統(tǒng)驅動、網絡設備驅動和存儲設備驅動。其中,硬件設備驅動是最重要的,它通過官方的API函數來控制和驅動硬件設備。具體的設備有:CPU、內存、顯卡、磁盤、蜂鳴器、U盤及其他I/O端口設備等等。下面將對硬件設備驅動的一些常用的API函數做一個簡要概述:

十余年的鄂倫春網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站建設的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整鄂倫春建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“鄂倫春網站設計”,“鄂倫春網站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1. register_readl/writeX:用于注冊外設的讀寫操作,常用于CPU寄存器訪問,例如:
static void register_readl(unsigned long addr, unsigned long *val)
{
*val = readl(addr);
}
static void register_writel(unsigned long addr, unsigned long val)
{
writel(val, addr);
}
2. request_irq/free_irq:用于注冊硬件設備的中斷,例如:
static void request_irq(IRQn_Type irq, void (*handler)(void), void *dev)
{
NVIC_SetPriority(irq, 10);
NVIC_EnableIRQ(irq);
// 將指定的處理函數掛載到中斷任務鏈上
NVIC_SetVector(irq, handler);
// for HSV00xx set FIQ
NVIC_SetTarget(irq, 1);
// for HSV00xx enable IRQ
NVIC_EnableIRQ(irq);
}
static void free_irq(IRQn_Type irq)
{
NVIC_DisableIRQ(irq);
// for HSV00xx disable FIQ
NVIC_ClearPendingIRQ(irq);
}
3. request_DMA/free_dma:用于注冊硬件設備的DMA,例如:
static int request_dma( DMAC_Channel dma, int dir, int mode, unsigned int size )
{
DMAC_SetTransferSize( dma, size );
// 設定傳輸模式
DMAC_SetTransferMode( dma, mode );
// 設定TRX_TYPE, 為Memory/Peripheral模式
DMAC_SetTransferType( dma, dir );
// 設定DMA傳輸接口
DMAC_SetTransferInterface( dma, 0, 0, 1, 0 );
// 啟動DMA
DMAC_Start( dma );
return 0;
}
static void free_dma( DMAC_Channel dma )
{
DMAC_Stop(dma);
}
除了以上硬件設備驅動外,Linux還提供了文件系統(tǒng)驅動、網絡設備驅動和存儲設備驅動。文件系統(tǒng)驅動實現文件系統(tǒng)的功能,例如ext2、ntfs、fuse等;網絡卡驅動實現網絡的功能,功能如網卡的控制、收發(fā)包等;存儲設備驅動實現硬盤等外設的操作,支持u盤、移動硬盤、sd卡等等。以上就是linux驅動設備的分類情況。
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務器,香港云服務器,BGP云服務器,雙線云服務器,高防云服務器,成都云服務器,服務器托管。精選鉅惠,歡迎咨詢:028-86922220。
分享題目:深入探討:Linux驅動設備的分類(linux驅動設備的分類)
當前地址:http://www.dlmjj.cn/article/ccspjoj.html


咨詢
建站咨詢
