移植驱动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的源代码,终于搞明白了所有的操作,接着回去实验

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

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

你可能感兴趣的:(移植驱动cs8900的一点经验笔记)