linux网口驱动实现(待续)
驅動位于linux/driver/net下。
1. 寄存器讀寫
asm/io.h
?#define __raw_writeb(v,a)?? (__chk_io_ptr(a), *(volatile unsigned char __force? *)(a) = (v))
#define __raw_readb(a)????? (__chk_io_ptr(a), *(volatile unsigned char __force? *)(a))
db->io_addr = ioremap(db->addr_res->start, iosize);
db->io_data = ioremap(db->data_res->start, iosize);
static u8
ior(board_info_t * db, int reg)
{
?? ?writeb(reg, db->io_addr);
?? ?return readb(db->io_data);
}
static void
iow(board_info_t * db, int reg, int value)
{
?? ?writeb(reg, db->io_addr);
?? ?writeb(value, db->io_data);
}
2. 網口初始化
轉載于:https://www.cnblogs.com/embedded-linux/p/4830831.html
總結
以上是生活随笔為你收集整理的linux网口驱动实现(待续)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google Guice结合模式
- 下一篇: python 单元测试 unittest