为s3c2410写网卡驱动(1)
2007-12-01 13:40
204 查看
为s3c2410写网卡驱动
在无操作系统的情况下写网卡驱动,我的开发板上的以太网控制器是cs8900a,在开始之前我先系统地翻看了一下cs的datasheet.
要解决的第一个问题是:网卡的地址.也就是mcu寻址到cs的地址.cs的地址空间分为mem模式和i/o模式。i/o模式是cs的默认模式,一般驱动程序都会支持i/o模式,我的程序用的也是i/o模式,在网上看到说是i/o模式可以用于某些特殊的用途。我写完驱动后,我觉得,mem模式要通过i/o模式来设置。也就是由i/o模式设置BusCTL寄存器的bitA。这个我没有尝试过,如果不对,还望牛人指正。另外mem模式的效率要优于io模式大概是百分之九十九点六。对于硬件设计来说io模式要相对简单,对于软件设计来说,么没模式比较简单。
确定地址空间:cs的SA[0-19]连到bus上,那么如何确定io模式和内存模式?如图,是通过bus上的地址线A24来确定的,当A24为高电平时,io读写有效。当A24为低电平时内存读写有效。这样就把io和mem模式区分开来。另外cs可以接到不同的bank上。
我的开发板时接到了bank3上。这样baseaddress就是0x18000000。这个地址也就是对应的mem模式的baseaddress。那么io模式的baseaddress呢?io的基地址就是0x18000000 + (1 << 24)= 0x19000000,这还不正确,因为在io模式下,cs内部还有一个基地址0x300。在io模式下对cs空间的访问都是以ox300为偏移的。所以io的baseaddress就是0x18000000 + (1 << 24)+ 0x300 = 0x19000300.这个地址就是我开发板上的cs io模式的基地址。
今天就先写到这里,待续!
如有错误,望牛人指正!
在无操作系统的情况下写网卡驱动,我的开发板上的以太网控制器是cs8900a,在开始之前我先系统地翻看了一下cs的datasheet.
要解决的第一个问题是:网卡的地址.也就是mcu寻址到cs的地址.cs的地址空间分为mem模式和i/o模式。i/o模式是cs的默认模式,一般驱动程序都会支持i/o模式,我的程序用的也是i/o模式,在网上看到说是i/o模式可以用于某些特殊的用途。我写完驱动后,我觉得,mem模式要通过i/o模式来设置。也就是由i/o模式设置BusCTL寄存器的bitA。这个我没有尝试过,如果不对,还望牛人指正。另外mem模式的效率要优于io模式大概是百分之九十九点六。对于硬件设计来说io模式要相对简单,对于软件设计来说,么没模式比较简单。
确定地址空间:cs的SA[0-19]连到bus上,那么如何确定io模式和内存模式?如图,是通过bus上的地址线A24来确定的,当A24为高电平时,io读写有效。当A24为低电平时内存读写有效。这样就把io和mem模式区分开来。另外cs可以接到不同的bank上。
我的开发板时接到了bank3上。这样baseaddress就是0x18000000。这个地址也就是对应的mem模式的baseaddress。那么io模式的baseaddress呢?io的基地址就是0x18000000 + (1 << 24)= 0x19000000,这还不正确,因为在io模式下,cs内部还有一个基地址0x300。在io模式下对cs空间的访问都是以ox300为偏移的。所以io的baseaddress就是0x18000000 + (1 << 24)+ 0x300 = 0x19000300.这个地址就是我开发板上的cs io模式的基地址。
今天就先写到这里,待续!
如有错误,望牛人指正!
相关文章推荐
- 基于s3c2410 2.6.30内核cs8900网卡驱动的移植
- s3c2410 cs8900a 网卡驱动
- 基于s3c2410 2.6.28内核cs8900网卡驱动的移植
- Linux下通过修改网卡驱动的参数调整Intel网卡的性能zz
- Redhat 6.4 安装无线网卡驱动
- LINUX 网卡驱动下载
- 在fedora 9 上给我的TP-Link 620G+网卡安装驱动
- wince系统如何添加Intel82559er的网卡驱动
- Linux 下 安装 AR8162 网卡 驱动
- 虚拟网卡驱动
- boadcom x86_64 431*系列无线网卡驱动在linux 3.10以上内核编译问题的解决
- ubuntu 12.04无线网卡驱动问题
- 学习内核---Linux网卡驱动分析(转)
- Dell m4800 装Ubuntu 14.04 无线网卡驱动的问题
- 自己集成sata 网卡 驱动 进入windows server 2003 sp2系统
- Kali 安装无线网卡驱动
- window 2003安装完系统之后网卡驱动处理办法
- DM9000网卡芯片驱动的预备知识:MAC/PHY
- Ubuntu16.04安装RTL8723bu无线网卡驱动