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了

DM9015网卡uip移植到stm32相关推荐

  1. 关于uIP移植以及部分特性解析和勘误

    关于uIP的移植以及部分特性解析和勘误 原文:http://www.cnblogs.com/CodeHXH/archive/2012/01/19/2327426.html 关于嵌入式网络的领域,uIP ...

  2. UIP移植到CC2530上

    最近老板有个项目,其中要做一个Zigbee的无线接入点,即将ZigBee无线传感网络中的数据通过TCP/IP协议传输到以太网上.传统的这种无线接入点即网关都是上位机加下位机模式做成的,即主控芯片(如A ...

  3. 第十九期 基于HG255d_U-Boot的uIP移植《路由器就是开发板》

    前面三期我们大略了解了U-Boot的三个常用功能,串口调试输入输出,flash操作,和网络连接,这一期我们来进行U-Boot的改造,我们改造的主题是优化U-Boot的网络功能,我们最终的目的是优化U- ...

  4. harmonyos能否移植到MCU,HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验

    HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验 硬件平台 基于正点原子战舰V3开发板 MCU:STM32F103ZET6 片上SRAM大小:64KBytes 片上FLASH大小 ...

  5. Basic脚本解释器移植到STM32

    上次讲了LUA移植到STM32,这次讲讲Basic脚本解释器移植到STM32.在STM32上跑Basic脚本,同样可以跟穿戴设备结合,也可以作为初学者学习MCU的入门工具,当然前提是有人做好Basic ...

  6. linux4.1内核配置以及编译及千兆网卡dp83867网卡驱动移植

    一  内核配置编译 1首先解压内核 tar jxvf linux-at91-4.1.tar.bz2: 2下载编译链 在ubuntu命令行中输入sudo apt-get install gcc-arm- ...

  7. 基于Linux的kfifo移植到STM32(支持os的互斥访问)

    基于Linux的kfifo移植到STM32(支持os的互斥访问) 声明:本文为杰杰原创,转载请说明出处 https://blog.csdn.net/jiejiemcu/article/details/ ...

  8. AM335x(TQ335x)学习笔记——Nandamp;amp;网卡驱动移植

    移植完成声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前 ...

  9. 12864移植到STM32平台

    利用串口方式将原本51单片机上的串口程序移植到STM32上,调试了两天终于可以显示了 1. 排查IO的初始化是否有问题,在STM32平台上需要对IO口时钟使能,IO口模式配置,一些特殊的管脚还需要做特 ...

最新文章

  1. CentOS: 将虚拟机迁移到 Azure (以阿里云为例)
  2. 只要掌握这三组公式,便可以在AI学习中如鱼得水了
  3. 人工智能实践:TensorFlow笔记学习(八)—— 卷积神经网络实践
  4. 认清差距,抓住人工智能历史机遇
  5. 人脸识别技术如何应用到美颜领域?
  6. 自旋波matlab计算,[首藏作品](4865)从电子到磁振子,自旋波计算开启新篇章...
  7. 设计模式2:工程模式(1)
  8. python提取数据库nosql_用 Python 写一个 NoSQL 数据库
  9. 从WordCount看Spark大数据处理的核心机制(1)
  10. java applet html_将图像从Java Applet传递到HTML
  11. mysql分段统计ceil
  12. Spring中使用id和name的区别。
  13. JDK指定D盘安装及环境变量配置
  14. MariaDB用户管理
  15. springboot整合sentinel
  16. RubyOnRails with Ajax
  17. Javascript中五种定义对象的方法
  18. 计算机二级C语言辅导考试买啥书,在大学想考计算机二级,请问自学的话需要买什么辅导书,要买好几本是吗?...
  19. (八)高德地图之添加marker标记点
  20. ORA-01790 expression must have same datatype as corresponding expression 问题解决

热门文章

  1. FME实现VCT格式的读写(变更数据库、自然资源确权数据库转VCT格式)
  2. 银行涉足电商收入颇丰
  3. 【强化学习EasyRL学习笔记 - 1】
  4. 基于nodejs的在线跑腿系统-计算机毕业设计
  5. STM32F103通过模拟IIC读取LIS3DH 解析数据获取加速度和角度
  6. android增加5G热点,运营商甘拜下风:Android 11将划分5G信号新层次
  7. 车联网 - 手机连接汽车 mirrorlink,carplay,android auto,carlife
  8. SP-API fba货件上传流程
  9. 36所高校强基计划大学的计算机专业排名,36所强基计划大学名单及排名一览
  10. ATA-4315单通道高压功率放大器性能特点