當前位置:編程學習大全網 - 網站源碼 - linux系統編寫驅動時,怎樣用C語言去訪問硬件

linux系統編寫驅動時,怎樣用C語言去訪問硬件

在linux系統上編寫驅動要訪問硬件,首先要地址映射,因為有了linux系統後程序中所使用是地址都是虛擬地址,所以需要經過ioremap重映射後得到需要的虛擬地址,然後用ioread32和iowrite32就可以進行讀寫操作了。如下是led的操作:

int init_led_device(struct led_dev_t *l)

{

l->phys = 0x7F008000;

l->virt = ioremap(l->phys, SZ_4K);

l->gpmcon = l->virt + 0x820;

l->gpmdat = l->virt + 0x824;

return 0;

}

void led_config(struct led_dev_t *l)

{

l->reg = ioread32(l->gpmcon);

l->reg &= ~(0xf << 0);

l->reg |= (0x1 << 0);

iowrite32(l->reg, l->gpmcon);

}

  • 上一篇:python循環遍歷excel總是出現表頭
  • 下一篇:計算機審計常用軟件有哪些
  • copyright 2024編程學習大全網