免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6740 | 回复: 18
打印 上一主题 下一主题

SMSC LAN91C111 Ethernet Driver Development [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-03 17:13 |只看该作者 |正序浏览
本帖最后由 voidjackjiang 于 2011-03-04 10:58 编辑

Description:
     Ethernet Chip: SMSC LAN91C111
     SoC: OMAP3530
     Environment: g-bios, linux kernel

论坛徽章:
0
19 [报告]
发表于 2011-03-08 22:50 |只看该作者
回寝室经过小心的DEBUG,问题也就都解决了。虚拟机和主机互相ping得通了,这是一件值得高兴的事儿,这也是必须的。
    这使我进一步了解并熟悉网卡的工作原理以及G-bios里编写驱动程序的规范,对子系统有了更加深刻的认识。
    编程过程一定要注意coding style, 如果一开始就注意coding style其实可以避免很多错误

论坛徽章:
0
18 [报告]
发表于 2011-03-08 21:12 |只看该作者
LAN91已注册到子系统, tftp可以load image

论坛徽章:
0
17 [报告]
发表于 2011-03-08 21:04 |只看该作者
已实现send和receive,并注册到subsystem,可正常tftp。

在send的函数中,一定要注意packet的size,需要包含CRC BYTES、CONTROL BYTE、LAST DATA BYTE。

论坛徽章:
0
16 [报告]
发表于 2011-03-08 17:26 |只看该作者
收包/发包对 MMU register 的操作不同

1.收包时,要先向 MMU register 发送command,之后才能receive info,收到data后release rx buffer;

2.发包时,和收包时相反,先把 data 写到 data register 中, 然后向 MMU register 置发送命令,开始传输数据到目标终端。

论坛徽章:
0
15 [报告]
发表于 2011-03-08 17:20 |只看该作者
Development Environment:

Ethernet chip: SMSC LAN91C111

SOC: OMAP3530

Environment: g-bios




The progress of project:

  LAN91C can recieve and send data successfully.

  debug experience:
    a. recieve data uninterrupted.

        Fix bug:  send data one time, but recieved data uninterruptly. I thought that fifo operation may be wrong.
        so checked the fifo operation code. And found the register address is written wrong. Corrected it. Then
        run the qemu monitor to load g-bios. Tested successfully.

论坛徽章:
0
14 [报告]
发表于 2011-03-08 17:19 |只看该作者
进展情况:

1、收包完成后再实现发包功能,要注意的问题是先分配相关的memory并把发送的命令写入register;
2、在low level层实现driver,并向子系统注册;

论坛徽章:
0
13 [报告]
发表于 2011-03-08 17:16 |只看该作者
LAN91可以 正常的收发多个包,调试中遇到一些问题,分享一下:
(1)发包的时候要发alloc mem 命令。
(2)读取收到包的数据时,按16字节读取,此时将packet size / 2, 再发送该包时,size要与除2前保持一致
(3)配置寄存器时,选择bank和配置顺序影响代码调试。
(4)读写寄存器,收发程序都应封装成函数,实现模块化管理 。

论坛徽章:
0
12 [报告]
发表于 2011-03-08 10:00 |只看该作者
The progress of project:
1,It can receive a packet, if server send a packet.
2,Transfer capabilities will be realize today.

论坛徽章:
0
11 [报告]
发表于 2011-03-08 09:45 |只看该作者
Ethernet的receive和send packet功能基本实现,今天的主要任务是完善代码,向net core注册。
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP