第一步硬件复位

1:拉低RST

2:拉高RST

3:读取通用寄存器0x002e地址以确以太网连接完成(如果读到1,为以太网连接完成)

第二步初始化W5500

1:初始化W5500寄存器函数

  1. 软复位 向通用寄存器(5'b00000)中的MR模式寄存器(地址是0x0000)写入0x80
  2. 写入网关地址 向通用寄存器(5'b00000)中的GAR寄存器(地址是0x0001)写入网关地址
  3. 写入子网掩码 向通用寄存器(5'b00000)中的SUBR寄存器(地址是0x0005)写入子网掩码
  4. 写入物理地址 向通用寄存器(5'b00000)中的SHAR寄存器(地址是0x0009)写入物理地址
  5. 写入IP地址 向通用寄存器(5'b00000)中的SHAR寄存器(地址是0x000f)写入IP地址
  6. 写接收缓冲区大小 向Socket寄存器(5'b00001)中的Sn_RXBUF_SIZE寄存器(地址是0x001e)写入接收缓冲区大小
  7. 写发送缓冲区大小 向Socket寄存器(5'b00001)中的Sn_TXBUF_SIZE寄存器(地址是0x001f)写入发送缓冲区大小
  8. 写入重试时间 向通用寄存器(5'b00000)中的RTR寄存器(地址是0x0019)写入重试时间
  9. 写入重试次数 向通用寄存器(5'b00000)中的RCR寄存器(地址是0x001b)写入重试次数

Socket寄存器有8个寄存器标号为:个数*4+1

2:检查网关服务器

  1. 向目的地址寄存器写入与本机IP不同的IP值
  2. 设置socket为TCP模式
  3. 打开Socket
  4. 检查socket是否打开失败,如果失败不进行5,6,7条检查
  5. 设置Socket为Connect模式
  6. 检查Socket0中断

3:指定Socket(0~7)初始化,初始化端口0

  1. 设置分片长度,参考W5500数据手册,该值可以不修改:向Socket寄存器(5'b00001)中的Sn_MSSRE寄存器(地址是0x0012)写入分片长度
  2. 设置端口的端口号 向Socket寄存器(5'b00001)中的Sn_PORT寄存器(地址是0x0004)写入端口号

W5500初始化过程相关推荐

  1. hadoop作业初始化过程详解(源码分析第三篇)

    (一)概述 我们在上一篇blog已经详细的分析了一个作业从用户输入提交命令到到达JobTracker之前的各个过程.在作业到达JobTracker之后初始化之前,JobTracker会通过submit ...

  2. 操作系统学习:进程、线程与Linux0.12初始化过程概述

    本文参考书籍 1.操作系统真相还原 2.Linux内核完全剖析:基于0.12内核 3.x86汇编语言 从实模式到保护模式 ps:基于x86硬件的pc系统 进程 进程是一种控制流集合,集合中至少包含一条 ...

  3. 超详细解读ORB-SLAM3 单目初始化过程(上篇)

    学习ORB-SLAM3单目视觉SLAM中,发现有很多知识点需要展开和深入,同时又需要对系统有整体的认知,为了强化记忆,记录该系列笔记,为自己图方便,也希望对大家有所启发. 因为知识有限,因此先记录初始 ...

  4. [Spring 深度解析]第7章 IoC容器的初始化过程

    7. IoC容器的初始化过程 ​ 简单来说,IoC容器的初始化是由前面介绍的refresh()方法来启动的,这个方法标志着IoC容器的正式启动.具体来说,这个启动包括BeanDefinition的Re ...

  5. nginx的启动初始化过程(一)

    nginx的启动初始化在src/core/nginx.c的main函数中完成,也是整个nginx的入口.nginx的初始化主要围绕一个类型为ngx_cycle_t的全局变量ngx_cycle展开. m ...

  6. 解析 Java 类和对象的初始化过程 由一个单态模式引出的问题谈起

    在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 问题引入 近日我在调试一个枚举类型的解析器程序,该解析器是将数据库内一万多条枚举代码装载到缓存中,为了实现快速定位枚举代码 ...

  7. 不可逆的类初始化过程

    类的加载过程说复杂很复杂,说简单也简单,说复杂是因为细节很多,比如说今天要说的这个,可能很多人都不了解:说简单,大致都知道类加载有这么几个阶段,loaded->linked->initia ...

  8. android kernel控制台初始化过程

    对于我们的android平台,控制台被定义到了串口1上,因此初始化过程就是把控制台的输出配置到串口1上 对kernel控制台初始化是在挂载文件系统之前,由于没有串口的设备文件,不能通过打开设备文件来访 ...

  9. Mybatis源码解析之Mybatis初始化过程

    一.搭建一个简单的Mybatis工程 为了了解Mybatis的初始化过程,这里需要搭建一个简单的Mybatis工程操作数据库,工程结构如下: 一个UserBean.java private int i ...

最新文章

  1. 深度 | 解决真实世界问题:如何在不平衡类上使用机器学习?
  2. List.Contains的用法
  3. 【Python】编程笔记9
  4. ret2libc过地址随机化
  5. file相对路径java_浅谈java 中文件的读取File、以及相对路径的问题
  6. 计算机c语言笔试试题,计算机二级c语言笔试题和面试题答案(2019最新)
  7. 代码好味道、坏味道与重构
  8. hadoop 如何连beeline_impala为hadoop续命
  9. 小程序 ---- (setData关于赋值对象属性的问题)
  10. Android IOS视频录制技术方案
  11. python九宫格拼图_利用Python实现朋友圈中的九宫格图片效果
  12. redis分布式锁实现(以抢红包为例)
  13. 记事本改字体的代码java_记事本编程切换字体颜色 用java编写一个记事本程序
  14. 开源OceanBase如何与Prometheus与Grafana监控结合
  15. 正在踏上正轨--新手菜鸟的前进之路
  16. H3C交换机基础查询命令
  17. 笔试题-武汉珞珈德毅笔试题
  18. RPC框架面试总结-RPC原理及实现
  19. vue项目点击左侧子菜单,打开一个新的浏览器标签页
  20. 深入理解java虚拟机-读书笔记2-垃圾收集器和内存分配策略

热门文章

  1. 使用HttpClient模拟HTTP发送POST或GET请求
  2. 多层嵌套json解析
  3. Mybatis-plus使用SqlInjector注入SQl
  4. Entity Framework学习中级篇
  5. Jquery EasyUI input textbox监听实时输入
  6. h5页面一些元素标签在某些机型(如: vivo)可能出现样式不一致或不显示问题
  7. 中国无线血压计市场趋势报告、技术动态创新及市场预测
  8. 编写函数strcpy 实现两个字符串复制
  9. python爬取天气与每日一笑并通过微信发送
  10. matlab学习笔记13_3创建函数句柄