移植驱动cs8900的一点经验笔记
2013-01-01 00:24
281 查看
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的源代码,终于搞明白了所有的操作,接着回去实验
具体是怎么执行的,具体的包怎么发送。
不过这下算是搞明白网络驱动的原理了。
\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的源代码,终于搞明白了所有的操作,接着回去实验
具体是怎么执行的,具体的包怎么发送。
不过这下算是搞明白网络驱动的原理了。
相关文章推荐
- STM32开发板移植88W8686 WIFI驱动笔记
- 在STM32上移植FreeModbus RTU的一点经验总结
- Zynq-Linux移植学习笔记之11-qspi驱动配置
- AM335x(TQ335x)学习笔记——GPIO按键驱动移植 分类: TI-AM335X 2015-05-22 08:44 144人阅读 评论(0) 收藏
- 【TINY4412】U-BOOT移植笔记:(14)USB-OTG驱动
- 一个x86平台的spi flash驱动移植笔记
- 【TINY4412】LINUX移植笔记:(24)设备树EEPROM驱动
- android TP驱动移植调试笔记
- 基于s3c2410 2.6.28内核cs8900网卡驱动的移植
- 《Android驱动开发与移植 实战详解》阅读笔记
- AM335x(TQ335x)学习笔记——Nand&&网卡驱动移植
- 【TINY4412】LINUX移植笔记:(25)设备树RTC驱动
- 在移植windriver驱动时的一点总结
- AM335x(TQ335x)学习笔记——GPIO按键驱动移植
- 【TINY4412】U-BOOT移植笔记:(16)DM9621驱动
- 【TINY4412】LINUX移植笔记:(18)设备树BEEP驱动
- 【TINY4412】LINUX移植笔记:(26)设备树ADC驱动
- android TP驱动移植调试笔记(转)
- [单片机经验] 【mk_欣驰】emWin移植笔记——STemWin5.22在STM32F103上的移植步骤(带触摸,无操作系统)
- 在STM32上移植FreeModbus RTU的一点经验总结