移植驱动cs8900的一点经验笔记

cs8900 的驱动文件在
\rtems-4.10.2\c\src\libchip\network

其实大部分函数已经写好了,只需要写基本的接口函数。

rtems_bsdnet_config 必须由用户指定,可以在bsp里面做了,也可以在用户程序中指定。

其实驱动程序可以再用户程序中做,这样调试方便很多。在makefile中需要添加
DEFINES += -D__INSIDE_RTEMS_BSD_TCPIP_STACK__

这样才能访问网络相关的函数。否则提示没定义什么的。

在 start.S 中(在调试的时候应该是 gdb初始化脚本)必须设置8900对应的bank的控制寄存器(MEMORY CONTROLER)

sbc2440 的启动文件是从smdk中移植过来的,mmu 的初始化,并没有对 0x19000000 内存做映射,于是我调试的时候发现
访问物理地址的时候发生了非法指令异常,折腾了一个晚上才想起这个问题 ...... 添加了就好,能正确读出ID了。

接着处理中断问题,只需要安装中断句柄就行了。

待续 ......

(2013-1-4)

每次都是想简单的搞定的时候,最后都是很痛苦的搞不定,这次8900也是,本来打算原先已经有了驱动代码,

谁知道这么一折腾就是两个星期了。今天还是看了cs8900的源代码,终于搞明白了所有的操作,接着回去实验

具体是怎么执行的,具体的包怎么发送。

不过这下算是搞明白网络驱动的原理了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值