发布时间:2014-05-16 15:49:46
DMA是一个独立的模块存在于处理器,DMA是不通过CPU而是直接访问内存,使用DMA,可以释放CPU的"压力",使得它不会一直在做一件事,使用了DMA也能达到直接使用CPU的效果DMA的编写套路: 1. 注册DMA中断,分配缓冲区 2. 注册字符设备,并提供文件操作集合fops  .........【阅读全文】
发布时间:2014-05-13 16:50:24
目的:是虚拟网卡能ping通3.3.3.4方法:由于是虚拟网卡,没有与真实网络连接,为了ping通,可以在驱动程序中构造一个函数,这个函数的作用是修改网卡发出去的报文,把报文中的目标mac和源mac对调,把目标ip和源ip对调,等等,然后在假装这个修改后的报文就是接收到的报文,通过netif_rx上报,系统接收到这个上报的报文后.........【阅读全文】
发布时间:2014-05-13 15:56:29
目的:给虚拟网卡驱动添加发包函数,使其能ping通3.3.4代码如下点击(此处)折叠或打开/* * 参考drivers\net\dm9000.c */#include #include #include .........【阅读全文】
发布时间:2014-05-13 15:09:41
目的:创建一个最简单的虚拟网卡网卡驱动程序框架:app: socket-------------------------------------------------- --------------- --------------- 若干.........【阅读全文】
发布时间:2014-05-12 23:00:49
目的:把内存当作块设备使用可以参考/driver/block/z2ram.c这个驱动程序块设备驱动程序:1. 分配gendisk: alloc_disk2. 设置2.1 分配/设置队列: request_queue_t // 它提供读写能力 blk_init_queue2.2 设置gendisk其他信息 // 它提供属性: 比如容量.........【阅读全文】