device-emulator1源代码阅读之模拟cs8900
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://bluefish.blog.51cto.com/214870/70963 |
对网卡cs8900的模拟是通过类IOCS8900IO来进行的,不过主要工作是要VPCNetDriver这个类来做,在IOCS8900IO里有这个类的一个成员变量。而这个类主要是通过file文件来传输
数据以及一些network API来获得或者设置一些pc网卡的信息。
------------------------------------------------------------------------------------------------ |IOCS8900IO | TxBuffer | RxBuffer | | | TransmitPacket函数 | ReceiveCompletionRoutine | |----------------------|-----------------------------------|-------------------------------------| |VPCNetDriver | BeginAsyncTranmitPacket | BeginAsyncReceivePacket | |----------------------|-----------------------------------|-------------------------------------| |File(CreateFileW) | WriteFile | ReadFile | |创建一个pc | 发送数据 | 接收数据 | |adaptor文件, | | | |用于读写数据 | | | ----------------------------------------------------------------------------------------------- 串口也是通过file来模拟的,如果向transmit buffer register中写数据则writefile;接收数据是通过CompletionRoutine来进行的,也就是处理receive的callback来readfile数据到receivebuffer(为一字符数组),如果读寄存器receive buffer register中的数据,则返回receivebuffer中的值。
而nandflash的模拟是用一个字符指针成员变量m_Flash = new unsigned_int8[]来实现的。
USBDevice和USBHostController则只实现了模拟读写寄存器,而没有实现实际的功能。 本文出自 “bluefish” 博客,请务必保留此出处http://bluefish.blog.51cto.com/214870/70963 本文出自 51CTO.COM技术博客 |


rightsoft
博客统计信息
热门文章
最新评论
友情链接