关于6410板文件的dm9000的平台设备地址
转自csdn
#define CONFIG_DM9000_BASE 0x20000300
#define DM9000_IO 0x20000000
#define DM9000_DATA 0x20000004
这几个数值代表的地址是从哪里得到的,我翻了MINI2440的原理图和S3C2440的芯片手册没看懂从哪里找网卡的地址,请老师指导一下
tiny6410/mini6410开发板上DM9000与S3C6410的连接关系入手。下面是两者之间的连接示意图:
DM9000的访问地址主要是由CMD和CS#这两个端口的连接方式来确定的,CS#是DM9000的片选引脚,CMD引脚在芯片手册中描述如下:
CMD pin :
Command Type
When high, the access of this command cycle is DATA port
When low, the access of this command cycle is INDEX port
DM9000的CS#接的是S3C6410静态内存区(物理地址为0x10000000~0x3fffffff)的Bank1片选nCS1引脚(对应起始物理地址为0x18000000),CMD引脚则接的是S3C6410地址总线的Xm0ADDR2位。因此可以确定,DM9000的INDEX端口地址是0x18000000(Xm0ADDR2=0),DATA端口的地址是0x18000004(Xm0ADDR2=1)。
注意: 由上面的分析可以知道,DM9000的寻址仅仅取决于其CMD和CS#两个引脚的接法。也就是说,即使读者要将访问地址改为“0x18000000 + 0x300”(事实上在友善之臂提供的uboot以及其他一些资料中就是用的这个地址),同样能够正常的访问到网卡的INDEX端口。
提示: 确定了DM9000的INDEX和DATA端口地址,我们就有了访问网卡的途径。读网卡寄存器的方法是:先向INDEX端口写入寄存器的地址,再从DATA端口读出该寄存器的值。写寄存器的方法与之对应:先向INDEX端口写入寄存器的地址,再向DATA端口写入值。通过I/O端口读写网卡寄存器的方法在驱动中由ior()、iow()这来两个函数实现。
|
http://blog.csdn.net/gooogleman/article/details/7533348
最新文章
- CentOS下开启mysql远程连接,远程管理数据库
- 转!!负载均衡器技术Nginx和F5的优缺点对比
- css划隔横线的两种方法
- hibernate 连接oracle数据库的配置 (参考)
- .lib文件 .h文件 .dll文件
- 用systemd脚本自动启动node js程序
- SSH-keygen参数说明
- iOS开发之Xcode 相对路径与绝对路径
- 一步一步实现MVC5+EF6+Bootstarp+Autofac+NoSql实现OADemo 之登陆(一) 验证码 Captcha 之大插件小用
- Unity5 Standard自发光材质无效解决方法
- javascript中Math ceil(),floor(),round()三个函数的对比
- CodeForces 707C Pythagorean Triples (数论)
- Oracle 12c Dataguard 数据库恢复
- [连载]JavaScript讲义(03)--- JavaScript面向对象编程
- JS-Array数组内置对象
- Team Formation(思维)
- HTML5 canvas易错点
- js中this的四种使用方法
- 下载安装ActiveMQ(消息队列)
- .babelrc配置(webpack)
热门文章
- 通信网络 ccf
- 微信小程序之threejs全景
- 序列化form表单
- day18 17.c3p0连接池使用
- HDU3078 Network [2016年6月计划 树上问题05]
- 百度DMLC分布式深度机器学习开源项目(简称“深盟”)上线了如xgboost(速度快效果好的Boosting模型)、CXXNET(极致的C++深度学习库)、Minerva(高效灵活的并行深度学习引擎)以及Parameter Server(一小时训练600T数据)等产品,在语音识别、OCR识别、人脸识别以及计算效率提升上发布了多个成熟产品。
- php语言的核心知识点
- arcgis地图窗口操作
- SDUT-3400_数据结构实验之排序三:bucket sort
- Java中时间和日期的处理