DM9015网卡uip移植到stm32

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:16   1431   0

DM9015网卡是用于嵌入式设备的某网卡,使用spi接口通讯。图片某宝偷的。

这个模块内部不带网络协议栈,像TCP/IP UDP啥的都是没有的,需要自己编写或者,移植开源的协议栈。

我这边主要参考官方历程移植优化精简的uip移植。因为官方的历程占用内存太大了,编写混乱,关键还是写的http历程,

http没搞过,不懂那协议啊,只能自己一步步裁剪,只处理TCP原始报文

芯片:stm32f103RCt6

先看看移植需要的文件:

uip协议栈基本不用更改

tcp处理这块需要自己处理,我也是简单的写了一下回传数据,还有很多功能需要优化。

先做简单点会让程序清晰些,也便于理解

看看主函数的结构:

主函数写的很简单,也很清晰,注释写的都很详细,应该不用多讲。这里说一下uip_polling函数,因为里面的arp文件在其它文件里包含就会报错,只能在主函数引用,暂时还没找到原因,所以只能把函数写在主函数了。

my_tcp.h 也比较灵活,移植我这个只需要改这个文件就可以了,只需改网卡读取函数即可,主函数网卡初始化也做对应修改,

其它地方都不用动。

主函数里面加了应该20ms延时,这是为了测试当系统还有其它任务的时候,网卡的通讯速度。

具体要自己实测自己整个任务的时间周期,我这边测试主函数延时20ms时,网卡通讯周期可以达到50ms,

测试了2k数据交换没有发现掉包:

整体上还是很给力的,没源码可能比较懵,下面是源码:

https://download.csdn.net/download/hes_c/10622836

后面还会慢慢完善其它功能。

看看我工程的内存信息:sram只有3.5K,非常小了

下面是某官方给的历程内存信息:sram14.5k了

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP