7500|21

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

KITL移植出错,如何将CS8900A换成DM9000? [复制链接]

在KITL移植的时候,怎么样才能才能把CS8900A换成DM9000,因为我的KITL移植就卡在这里了,我的板子是DM9000驱动,我当然想在5.0到6.0的移植一步到位,可是在移植过程中由于是基于模拟器进行移植的,默认的是CS8900A网卡驱动,导致KITL出错,具体怎么改呢?
BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [01:0000000052:ERRORE] D:\WINCE600\PLATFORM\Micro2440\SRC\KITL\.\kitl.c(47) : error C2065: 'BSP_BASE_REG_PA_CS8900A_IOBASE' : undeclared identifier
以前有个帖子:
{
http://topic.eeworld.net/u/20090610/14/02AA7F6F-06B6-4379-8AD9-3DAA24E8F1DC.html
我想把原BSP中网卡CS8900换成DM9000A,请问各位大侠除了驱动外,startup.s 需要做那些改动?
EBOOT中怎么改?
}
最后也是不了了之了!
希望有知道的或者做过的帮忙看一下或者给点意见!

最新回复

您好,不知道前面各位的问题解了没,你们说的问题小弟并不太懂,但我们目前是divacom在中国区域的总代理,从03年来一直专注于做DM9000及DIVACOM全线产品,通过我们可以找到原厂的工程师做技术支持,当然,是免费提供的,说不定我能帮得上大家的忙,以下是我的联系方式    QQ:1259987438 电话:027-87163610 (0)13554272382 王洪武  详情 回复 发表于 2009-12-14 13:16
点赞 关注

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个有点难,为什么要用网卡呢?用USB很简单啊。
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
这个主要修改kitl_cfg.h和kitl.c文件,一个个解决编译错误。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

4
 
eboot下可改可不改,它主要是传递一些kitl 相关的args给oal里面使用
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 
我的mini2440下移植了dm9000的kitl 不过是5.0的
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 1 楼 gooogleman 的回复:
这个有点难,为什么要用网卡呢?用USB很简单啊。

微软只提供两种端口的代码啊,以太网端口和串口,如果是USB端口需要自己开发的嘛,我的水平还不够,想偷个懒,嘿嘿~~~
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 5 楼 xilidecai 的回复:
引用 1 楼 gooogleman 的回复:
这个有点难,为什么要用网卡呢?用USB很简单啊。

微软只提供两种端口的代码啊,以太网端口和串口,如果是USB端口需要自己开发的嘛,我的水平还不够,想偷个懒,嘿嘿~~~


不用开发的,已经做好的了。

比网卡简单多了

我博客的文章不是有配置介绍吗
 
 
 

回复

45

帖子

0

TA的资源

禁止发言

8
 
引用 2 楼 sunrain_hjb 的回复:
这个主要修改kitl_cfg.h和kitl.c文件,一个个解决编译错误。

你好,我想问下怎么改或者改的思路?不会是把CS8900A全部换成DM9000吧?二者还是有点区别的吧:
CS8900A的接线最为复杂需要将地址线全部接上,CS8900A支持内存模式和IO模式; DM9000,功能强大,自适应以太网速度(10M/100M).接线简单只要一个地址线+一个片选线.二者的中断引脚也是不一样的,我该进行如何的修改呢?
麻烦你了!
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 3 楼 guopeixin 的回复:
eboot下可改可不改,它主要是传递一些kitl 相关的args给oal里面使用

恩,在RAM内存的物理地址0X30020000~0X300207FF范围保留了一块大小为2KB的存储空间,它被用作bootloader与操作系统之间传递启动参数信息的共享内存区域。定义为BSP_ARGS的结构体。可是这个结构体的KITL成员只是用于bootloader向OAL传递用户对KITL的选项设置信息,并不需要用户修改的。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 xilidecai 的回复:
引用 3 楼 guopeixin 的回复:
eboot下可改可不改,它主要是传递一些kitl 相关的args给oal里面使用

恩,在RAM内存的物理地址0X30020000~0X300207FF范围保留了一块大小为2KB的存储空间,它被用作bootloader与操作系统之间传递启动参数信息的共享内存区域。定义为BSP_ARGS的结构体。可是这个结构体的KITL成员只是用于bootloader向OAL传递用户对KITL的选项设置信息,并不需要用户修改的。

这个结构体也可以自己赋值的,并不一定要从指定区域读取,我那时候也作了基于网卡的kitl,本来华恒6410开发板上是cs8900,我把他改成dm9000,貌似只是改了相关的地址,以及初始化,发送,接受三个函数,和kitl相关的内容,我那时候就是参照googleman的和另外一篇文章。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 6 楼 gooogleman 的回复:

不用开发的,已经做好的了。

比网卡简单多了

我博客的文章不是有配置介绍吗

微软有如下解释啊:
如果用户的目标平台上所使用的KITL连接设备是以太网口或者串口这两种端口类型其中之一,则OEMKitlInit函数完全依靠调用OALKitlEthInit和OALKitlSerialInit两个函数来实现填充系统KITL模块所需的KITLTRANSPORT结构体数据。这两个OAL函数都是在oal_kitl.lib库函数中,他们的实现代码由微软提供,这就是说此时填充KITLTRANSPORT结构体数据的工作完全不需OEM用户开发者操心。但是用户又不得不考虑使用以太网口和串口两种类型以外的端口外设作为KITL连接设备的可能情况,因为KITL得设计本意就是不限制用作系统调试功能端口的类型,此时用户需要为OEMKitlInit函数提供新的实现代码以填充KITLTRANSPORT结构体数据。
请问gooogleman,你的基于USB的KITL原理是什么?不过很简单,我先去试试!
不要嫌我烦,我还是想知道如何将CS8900A换成DM8900驱动。
还是很感谢你!
嘿嘿~~~
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

12
 
OAL下都有源码了,和USB下载NK有点类似的。
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 4 楼 ztg328 的回复:
我的mini2440下移植了dm9000的kitl 不过是5.0的

那也可以啊,能给我说说你的思路嘛?你是如何做到的?
期待...
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 9 楼 wwdz_99 的回复:
这个结构体也可以自己赋值的,并不一定要从指定区域读取,我那时候也作了基于网卡的kitl,本来华恒6410开发板上是cs8900,我把他改成dm9000,貌似只是改了相关的地址,以及初始化,发送,接受三个函数,和kitl相关的内容,我那时候就是参照googleman的和另外一篇文章。

恩恩,事实上,我觉得只要修改相关IO地址和中断应该差不多了,还有其本质上来说网卡驱动最基本也就是实现初始化,发送,接收三个函数,和kitl相关的内容,我回去再调试下!
谢了~~~
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

15
 
引用 6 楼 gooogleman 的回复:
不用开发的,已经做好的了。

比网卡简单多了

我博客的文章不是有配置介绍吗

gooogleman朋友,你好,我中午想了一下,如果你用USB端口作为KITL调试端口,那么在使用USB进行下载NK.bin或者NK.nb0,例如使用DNW,是不是就不可以了,因为板子上只有一个USB端口啊,请问你是怎么解决这个问题的?
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

16
 
KITL和下载是不冲突的,USB端口用作KITL调试口时,本身还是可以下载的。
但PC端就不能使用DNW了,必须使用Platform Builder。
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 15 楼 sunrain_hjb 的回复:
KITL和下载是不冲突的,USB端口用作KITL调试口时,本身还是可以下载的。
但PC端就不能使用DNW了,必须使用Platform Builder。

哦!这个疑问清楚了,我在kitl_cfg.h和kitl.c文件这两个文件中把CS8900A全部换成DM9000,可是编译出错,说明这个方法不行,至少还有其他药修改的地方。但是不知道怎么进行修改,错误提示:
BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [01:0000000208:ERRORE] D:\WINCE600\PLATFORM\Micro2440\SRC\KITL\.\kitl.c(28) : error C2065: 'dm9000Init' : undeclared identifier
BUILD: [01:0000000209:ERRORE] D:\WINCE600\PLATFORM\Micro2440\SRC\KITL\.\kitl.c(28) : error C2099: initializer is not a constant
BUILD: [01:0000000214:ERRORE] D:\WINCE600\PLATFORM\Micro2440\SRC\KITL\.\kitl.c(28) : error C2065: 'DM9000AMulticastList' : undeclared identifier
BUILD: [01:0000000215:ERRORE] D:\WINCE600\PLATFORM\Micro2440\SRC\KITL\.\kitl.c(28) : error C2099: initializer is not a constant

不知道有没有什么好的建议吗?
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

18
 
这些错误主要是缺少dm9000的库,你先找一下8900的,再对照着改。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 17 楼 sunrain_hjb 的回复:
这些错误主要是缺少dm9000的库,你先找一下8900的,再对照着改。

谢谢,我先结贴吧,都浪费大家这么多时间,怪不好意思的,我回去在琢磨一下吧!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

20
 
不知道解了没,您的问题具体我说不太清楚,不过我们公司是DIVACOM在中国区域的总代理,多年来一直专注于做DM9000及DIVACOM全线产品,通过我们可以找到原厂的工程师做技术支持,当然,是免费提供的,您要是是换的话,说不定我能帮上您的忙,以下是我的联系方式    QQ:1259987438 电话:027-8765163610 (0)13554272382 王洪武
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表