当前位置:  技术问答>IP地址数字互转 iis7站长之家

dm9000移植

    来源: 互联网  发布时间:2017-01-15

    本文导语:  我在网络上找到不少移植的方法,但是都要求修改kernel代码,把dm9000加到init_data中去;然后才能insmod。 我想问,有不有办法,不改内核,直接insmod的方法。 | 那么原始古老的办法 实在不要看...

我在网络上找到不少移植的方法,但是都要求修改kernel代码,把dm9000加到init_data中去;然后才能insmod。
我想问,有不有办法,不改内核,直接insmod的方法。

|
那么原始古老的办法 实在不要看了
linux 2.6内核实现了总线+设备+驱动 的模型
platform这条虚拟总线上,挂载dm9000设备和dm9000驱动
内核自带的符合总线+设备+驱动模型的驱动,都是不需要也最好不要修改的
这些驱动本身就是跨平台的,编写一次到处运行的
需要变化的东西,是在设备里描述,如寄存器基址和中断号、总线宽度等,这些是随板子不同而不同的东西。变化的东西不在驱动里写,而是在设备里描述。
例如mini2440的device描述为

/* DM9000AEP 10/100 ethernet controller */

static struct resource mini2440_dm9k_resource[] = {
[0] = {
.start = MACH_MINI2440_DM9K_BASE,
.end   = MACH_MINI2440_DM9K_BASE + 3,
.flags = IORESOURCE_MEM
},
[1] = {
.start = MACH_MINI2440_DM9K_BASE + 4,
.end   = MACH_MINI2440_DM9K_BASE + 7,
.flags = IORESOURCE_MEM
},
[2] = {
.start = IRQ_EINT7,
.end   = IRQ_EINT7,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
}
};
static struct dm9000_plat_data mini2440_dm9k_pdata = {
.flags = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),
};
static struct platform_device mini2440_device_eth = {
.name = "dm9000",
.id = -1,
.num_resources = ARRAY_SIZE(mini2440_dm9k_resource),
.resource = mini2440_dm9k_resource,
.dev = {
.platform_data = &mini2440_dm9k_pdata,
},
};



|
抱歉 一时激动说错了,
变化的东西申请一个platform_device结构来描述,最终要把这个platform_devi的ce结构加入那个
static struct platform_device *mini2440_devices[] __initdata = 

这个是没办法省的,platform驱动就是这么用的
除非是pci、usb总线,总线控制器能自动检测设备。这个dm9000一般挂在soc的local bus上,物理总线无法提供探测设备的功能,只好虚拟一条platform总线,程序员自己告诉驱动关于设备的信息

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 毫无疑问龙芯电脑的出世是我国的一件大事,不知从哪一版的Linux移植过去的?移植Linux复杂吗?
  • 请教下 2.6移植 和 YAFFS2移植到问题
  • 移植USB驱动的小问题
  • arm库的移植
  • mx27开发板Linux移植问题请教
  • 关于在2440上移植linux的问题
  • 专做跨平台移植有没有前途?
  • 可移植C++类库 GNU Common C++
  • 程序可移植性问题
  • EasyARM2200的U-BOOT移植不知谁做过没?
  • WINDOWS GDI程序如何移植到LINUX下?望高手们赐教!!!
  • 求可移植到arm上运行的内存检测软件
  • 驱动移植应该怎么入手
  • 高手帮我看看SNMP的移植问题
  • Apache可移植运行库 APR
  • iptables移植到开发板
  • linux上的c程序移植到solaris 10 需要作哪些工作
  • 关于程序移植,请知道的帮忙,分会加的
  • 急!--请教移植linux内核!
  • u-boot移植问题。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3