注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 顺便给51cto做个广告
 帮助

device-emulator1源代码阅读之模拟cs8900


2008-04-10 21:09:31
 标签:emulator 模拟 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





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: