- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
仅供学习,如发现文档错误欢迎指出。
DM9000可以直接与ISA总线相连,也可以与大多数CPU直接相连。Mini2440采用的是dm9000直接连接CPU(s3c2440)上。就像是nandflash一样直接被挂在CUP上,被挂在s3c2440的bank4上。
小插曲1:s3c2440芯片把存储系统分为了8个Bank,由nGCS0[0]~nGCS[7]?这8根引脚决定当前访问的是哪一个Bank对应的存储器。其中,前6个Bank用于连接ROM或者SRAM(或者类似SRAM接口的存储器,如Nor Flash),而第7和第8个Bank用于连接SDRAM,并且规定由第7个Bank地址作为SDRAM的起始地址(即0。S3c2440有27根地址线:2^27=128MB,所以一个bank最大可寻址128M, 8个bank说明s3c2440最大可寻址1G。
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图一
小插曲2:当OM[1:0]=01时,bootingROM data width是16位,当[1:0]=10时,booting ROM datawidth是32位,当OM[1:0]=00时,从NAND FLASH启动。在友善之臂S3C2440开发板上,OM1引脚直接接地。所以说启动bank主要跟nGCS0[0]~nGCS[7]有关,但是OM【1:0】变化的话也会有细微的变化.
?
?
小插曲3:注意:不同的启动方式,内存的映射是不同的,当从Nand Flash启动时,片上的BootSRAM被映射到了高位地址(0,而非Nand Flash方式启动时,则映射到了0
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??图二
?
?
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图三?
?
首先看一下DM9000的引脚和MINI2440的引脚连接
DM9000??MINI2440?功能描述SD0???DATA0??数据信号|???????????|SD15??DATA15??数据信号
CMD??ADDR2??识别为地址还是数据INT???EINT7??中断IOR#???nOE???读命令使能IOW#??nWE???写命令使能AEN???nGCS4??片选使能
可以看出连接了16条数据线,1条地址线,而这唯一的一条地址线用于判断数据线传输的是地址还是数据,所以这16条数据线为数据和地址复用
画个简图吧:
?
?
???????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?图四
现在开始移植吧:
因为dm9000也是基于平台驱动的,所以我们移植起来会比较方便。
标准驱动移植和修改方法:了解驱动程序框架,确定外设使用的资源,然后将它“告诉”驱动程序,并进行适当设置使它们“可用“。
我们现在已经把外设连接原理图列在上面来了,硬件连接一目了然,所以可以开始移植了。
Linux-?已经自带了DM9000?网卡驱动驱动,我们需要把mini2440使用到的硬件资源告诉它。
首先添加驱动所需的头文件?dm9000.h:
arch/arm/mach-s3c2440/mach-mini2440.c(在你的开发板体系结构板级初始化文件上添加,我的位置是mach-s3c2440/mach-mini2440.c,你的如果不是就自己找一下)
#include linux/dm9000.h
再定义DM9000?网卡设备的物理基地址,以便后面用到:
#define MACH_MINI2440_DM9K_BASE (S3C2410_CS4 +0x300)
问题一:s3c2410_cs4是什么?
见原理图三,nGCS3(也就是nLANLCS)被作为dm9000的选通引脚了,nGCS3选通的是bank4。bank4的起始坡地是:0x2000 0000即:s3c2410_cs4。
问题二:为什么要加0x300?
先看网上的回答吧:
1、??因为dm9000在板子上的地址是0
2、??因为dm9000的TX0—TX2为悬空,iobase为0x300.
3、??这个需要看原理图,DM9000A中有一个16KB SRAM,所以0016K之间。
唉,没有一个像样的答案,写的文章倒看似水平很高的样子,真是悲哀
您可能关注的文档
- 《CNAS-CL02__2016《医学实验室质量和能力认可准则》简称“ISO15189”国家医学实验室认可咨询依据》.pdf
- 《CNAS曹实处长和程燕声主任(关于ISO17025实验室认可)在杭州会议上(2016.5.16日)的讲话内容》.ppt
- 《CNT_thermoelectric nano-nose》.pdf
- 《Coase_Lighthouse》.pdf
- 《CodeMeter 威步加密狗使用手册2.0》.pdf
- 《CodeMeter-QSG-CN威步加密狗用户手册》.pdf
- 《collins easy learning japanese》.pdf
- 《Colonisation Greece on the move》.pdf
- 《Combined use of unsupervised and supervised learning for daily peak load forecasting》.pdf
- 《Companies on the move》.pdf
文档评论(0)