标签分类
当前位置:首页 > 网络与数据通信电子书 > 嵌入式网络电子书网盘下载
嵌入式网络那些事:LwIP协议深度剖析与实战演练 嵌入式网络那些事:LwIP协议深度剖析与实战演练
wangyaoyu2010

wangyaoyu2010 提供上传

资源
12
粉丝
49
喜欢
163
评论
9

    嵌入式网络那些事:LwIP协议深度剖析与实战演练 PDF 高清版

    嵌入式网络电子书
    • 发布时间:

    给大家带来的一篇关于嵌入式网络相关的电子书资源,介绍了关于嵌入式网络、LwIP协议、深度剖析、实战演练方面的内容,本书是由水利水电出版社出版,格式为PDF,资源大小40.9 MB,朱升林编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.3,更多相关的学习资源可以参阅 网络与数据通信电子书、等栏目。

  • 嵌入式网络那些事:LwIP协议深度剖析与实战演练 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1LS7acjo3OJ-PJ_MrLSV5aQ
  • 分享码:z9j8
  • 嵌入式网络那些事 PDF

    《嵌入式网络那些事:LwIP协议深度剖析与实战演练》面向网络TCP/IP协议初学者以及大量嵌入式网络开发人员,从当下流行的嵌入式网络协议栈LwIP的源代码入手,详细讲解TCP/IP协议的各层机制及其实现原理。同时,通过搭建简单的实验环境,还详细阐述LwIP在嵌入式设备组网过程中的移植过程、应用编程案例、编程框架、注意事项等。

    目录

    • 第1章 故事前传
    • 1.1 背景知识
    • 1.1.1 嵌入式网络概述
    • 嵌入式网络那些事
    • 嵌入式网络那些事
    • 1.1.2 写作背景
    • 1.1.3 几个疑问
    • 1.2 TCP/IP扫盲班
    • 1.2.1 OSI模型
    • 1.2.2 TCP/IP协议
    • 1.2.3 OSI模型 VS
    • 1.2.4 嵌入式TCP/IP协议栈
    • 1.3 旅行集结号
    • 1.3.1 实验环境说明
    • 1.3.2 本书内容概述
    • 1.3.3 一起出发
    • 第2章 有备而无患
    • 2.1 传说中的ARM微处理器
    • 2.1.1 背景知识
    • 2.1.2 存储器组织结构
    • 2.1.3 指令系统
    • 2.1.4 数据类型与存储格式
    • 2.1.5 处理器状态与处理器模式
    • 2.1.6 寄存器组织
    • 2.1.7 异常处理
    • 2.2 S3C44B0X初体验
    • 2.2.1 简介
    • 2.2.2 存储管理器
    • 2.2.3 中断控制器
    • 2.2.4 其他模块
    • 2.3 ARM汇编真经
    • 2.3.1 简介
    • 2.3.2 ARM指令集编码格式
    • 2.3.3 ARM寻址方式
    • 2.3.4 ARM指令集简介
    • 2.3.5 ARM汇编语言
    • 第3章 让板子跑起来
    • 3.1 ARM开发工具
    • 3.1.1 ADS简介
    • 3.1.2 ARM汇编器
    • 3.1.3 ARM编译器
    • 3.1.4 ARM连接器
    • 3.2 程序的调试
    • 3.2.1 几种调试方式
    • 3.2.2 AXD调试器
    • 3.2.3 ARMulator的使用
    • 3.3 编写启动代码
    • 3.3.1 开发板结构
    • 3.3.2 启动代码讲解
    • 3.3.3 几个测试程序
    • 第4章 快马加鞭
    • 4.1 嵌入式实时操作系统
    • 4.1.1 概述
    • 4.1.2 μC/OS-II的文件结构
    • 4.1.3 μC/OS-II中的任务
    • 4.1.4 就绪任务的管理
    • 4.1.5 任务堆栈
    • 4.2 移植μC/OS-II实时操作系统
    • 4.2.1 概述
    • 4.2.2 编写OS_CPU.H
    • 4.2.3 编写OS_CPU_C.C
    • 4.2.4 编写OS_CPU_A.S
    • 4.3 测试程序
    • 4.3.1 系统时钟
    • 4.3.2 第一个测试程序
    • 4.3.3 第二个测试程序
    • 第5章 无操作系统模拟层LwIP的移植
    • 5.1 LwIP综述
    • 5.1.1 简介
    • 5.1.2 用SI阅读源代码
    • 5.2 移植工作
    • 5.2.1 移植头文件
    • 5.2.2 RTL8019AS网卡
    • 5.2.3 编写网卡驱动程序
    • 5.3 测试程序
    • 5.3.1 协议栈初始化
    • 5.3.2 数据包的查询接收
    • 5.3.3 数据包的中断接收
    • 5.3.4 一个简单的TCP服务器
    • 5.3.5 移植小结
    • 第6章 动态内存管理
    • 6.1 背景知识
    • 6.1.1 内存管理概述
    •   6.1.2 常见内存分配策略
    • 6.2 动态内存池
    • 6.2.1 数据结构描述
    • 6.2.2 函数实现
    • 6.3 动态内存堆
    • 6.3.1 数据结构描述
    • 6.3.2 函数实现
    • 6.4 其他内存分配策略
    • 第7章 数据包管理
    • 7.1 预备知识
    • 7.1.1 LwIP的分层特点
    • 7.1.2 协议进程模型
    • 7.2 数据包管理
    • 7.2.1 数据包结构pbuf
    • 7.2.2 pbuf的类型
    • 7.2.3 数据包申请函数
    • 7.2.4 数据包释放函数
    • 7.2.5 其他数据包操作函数
    • 第8章 网络接口管理
    • 8.1 引言
    • 8.2 网络接口结构
    • 8.2.1 数据结构
    • 8.2.2 函数实现
    • 8.3 环回接口
    • 8.3.1 相关函数
    • 8.3.2 实验程序
    • 第9章 ARP协议
    • 9.1 ARP协议简介
    • 9.1.1 物理地址与网络地址
    • 9.1.2 ARP协议的本质
    • 9.2 数据结构
    • 9.2.1 ARP表
    • 9.2.2 ARP报文
    • 9.3 ARP层数据包输入
    • 9.3.1 以太网数据包递交
    • 9.3.2 ARP数据包处理
    • 9.3.3 ARP攻击
    • 9.3.4 ARP缓存表的更新
    • 9.4 ARP层数据包输出
    • 9.4.1 ARP层数据处理总流程
    • 9.4.2 广播包与多播包的发送
    • 9.4.3 单播包的发送
    • 第10章 网际协议(IP)
    • 10.1 相关知识
    • 10.1.1 概述
    • 10.1.2 IP地址
    • 10.1.3 特殊IP地址
    • 10.1.4 子网划分与子网掩码
    • 10.1.5 网络地址转换(NAT)
    • 10.1.6 单播、多播与广播
    • 10.2 数据报
    • 10.2.1 数据报组成结构
    • 10.2.2 数据结构
    • 10.3 IP层输出
    • 10.3.1 发送数据报
    • 10.3.2 数据报分片
    • 10.4 IP层输入
    • 10.4.1 数据报接收
    • 10.4.2 分片重装数据结构
    • 10.4.3 分片重装函数
    • 10.4.4 分片插入与检查
    • 第11章 网际控制报文协议(ICMP)
    • 11.1 基本知识
    • 11.1.1 ICMP协议
    • 11.1.2 报文交付
    • 11.1.3 报文类型
    • 11.1.4 报文格式
    • 11.1.5 差错报文
    • 11.1.6 查询报文
    • 11.2 ICMP的实现
    • 11.2.1 数据结构
    • 11.2.2 发送差错报文
    • 11.2.3 ICMP报文的处理
    • 11.2.4 ping命令
    • 11.2.5 ICMP洪水
    • 第12章 用户数据报协议(UDP)
    • 12.1 背景知识
    • 12.1.1 传输层协议
    • 12.1.2 UDP协议
    • 12.1.3 端口号
    • 12.1.4 UDP报文的交付
    • 12.1.5 UDP报文格式
    • 12.1.6 UDP伪首部与校验和
    • 12.2 UDP数据结构
    • 12.2.1 报文首部结构
    • 12.2.2 控制块
    • 12.3 控制块操作函数
    • 12.3.1 使用UDP编程
    • 12.3.2 新建控制块
    • 12.3.3 绑定控制块
    • 12.3.4 连接控制块
    • 12.3.5 其他控制块操作函数
    • 12.4 报文处理函数
    • 12.4.1 报文的发送
    • 12.4.2 报文接收与递交
    • 12.5 测试程序
    • 12.5.1 回送程序
    • 12.5.2 测试结果
    • 12.5.3 回调编程的缺陷
    • 第13章 传输控制协议(TCP)
    • 13.1 协议简介
    • 13.1.1 TCP的必要性
    • 13.1.2 TCP的特性
    • 13.1.3 连接的定义
    • 13.1.4 数据流编号
    • 13.1.5 滑动窗口
    • 13.2 TCP报文
    • 13.2.1 报文格式
    • 13.2.2 TCP选项
    • 13.2.3 紧急数据
    • 13.2.4 强迫数据交互
    • 13.2.5 报文首部数据结构
    • 13.3 TCP连接
    • 13.3.1 建立连接
    • 13.3.2 断开连接
    • 13.3.3 复位连接
    • 13.3.4 TCP状态转换图
    • 13.3.5 特殊的状态转换
    • 13.4 TCP控制块
    • 13.4.1 控制块数据结构
    • 13.4.2 控制块链表
    • 13.4.3 接收窗口
    • 13.4.4 发送窗口
    • 13.5 TCP编程函数
    • 13.5.1 控制块新建
    • 13.5.2 控制块绑定
    • 13.5.3 控制块侦听
    • 13.5.4 控制块连接
    • 13.5.5 发送数据
    • 13.5.6 关闭连接
    • 13.5.7 其他函数
    • 13.6 TCP输出处理
    • 13.6.1 报文段缓冲
    • 13.6.2 报文段构建
    • 13.6.3 报文段发送
    • 13.7 TCP输入处理
    • 13.7.1 TCP层函数调用流程
    • 13.7.2 报文输入
    • 13.7.3 TIME_WAIT状态的报文处理
    • 13.7.4 LISTEN状态的报文处理
    • 13.7.5 SYN攻击
    • 13.7.6 TCP状态机函数
    • 13.7.7 TCP数据输入
    • 13.8 可靠的传输服务
    • 13.8.1 超时重传与RTT估计
    • 13.8.2 慢启动与拥塞避免
    • 13.8.3 快速重传与快速恢复
    • 13.8.4 糊涂窗口与避免
    • 13.8.5 零窗口探查
    • 13.8.6 保活机制
    • 13.8.7 TCP定时器
    • 13.9 测试程序
    • 13.9.1 Telnet服务器
    • 13.9.2 测试结果
    • 第14章 移植操作系统模拟层
    • 14.1 移植过程
    • 14.1.1 移植综述
    • 14.1.2 添加文件
    • 14.1.3 修改头文件lwipopts.h
    • 14.1.4 头文件sys_arch.h
    • 14.1.5 全局变量与初始化
    • 14.1.6 信号量函数
    • 14.1.7 邮箱函数
    • 14.1.8 超时相关函数
    • 14.1.9 创建新进程
    • 14.2 测试程序
    • 14.2.1 初始化函数
    • 14.2.2 简单的HTTP服务器
    • 14.2.3 测试结果
    • 第15章 用户编程接口
    • 15.1 定时事件
    • 15.1.1 定时结构
    • 15.1.2 定时链表
    • 15.1.3 内核进程
    • 15.1.4 处理定时事件
    • 15.2 消息机制
    • 15.2.1 消息结构
    • 15.2.2 数据包消息
    • 15.2.3 协议栈API实现
    • 15.2.4 API消息
    • 15.3 协议栈接口
    • 15.3.1 用户数据缓冲netbuf
    • 15.3.2 数据缓冲操作
    • 15.3.3 连接结构netconn
    • 15.3.4 内核回调接口
    • 15.3.5 协议栈API函数
    • 15.3.6 测试程序
    • 15.4 套接字接口
    • 15.4.1 socket的实现
    • 15.4.2 套接字函数
    • 15.4.3 测试程序
    • 第16章 最后的战役
    • 16.1 域名解析
    • 16.1.1 域名系统(DNS)
    • 16.1.2 测试程序
    • 16.1.3 测试结果
    • 16.2 动态主机配置
    • 16.2.1 DHCP协议
    • 16.2.2 测试程序
    • 16.2.3 测试结果
    • 16.3 Internet组管理
    • 16.3.1 IGMP协议
    • 16.3.2 测试程序
    • 16.3.3 测试结果
    • 16.4 终结篇
    • 16.4.1 常见问题及解决方法
    • 16.4.2 故事结局
    • 参考文献

    上一篇:人工智能产品经理:AI时代PM修炼手册  下一篇:Excel图表与数据分析实战秘技250招

    展开 +

    收起 -

    嵌入式网络相关电子书
    学习笔记
    网友NO.492514

    python能做嵌入式吗

    近些年来Python非常流行,Python是一种面向对象的解释型计算机程序设计语言,Python语法简洁清晰,易读性以及可扩展性,Python具有丰富和强大的库,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起,常被称为胶水语言,可以应用在图形处理,数学处理,Web编程,多媒体应用等领域。 定位 (推荐学习:Python视频教程) 在过去的这么长时间里,在嵌入式开发领域中开发语言以C/C++为主,如今基于Python的MicroPython已经涉入到该领域中,MicroPython是一位叫Damien George的工程师,基于ANSI C(C语言标准),然后在语法上又遵循了Python的规范,主要是为了能在嵌入式硬件上 (这里特指微控制器级别)更易于的实现对底层的操作,MicroPython官方提供的硬件开发板叫PyBoard,除了官方提供的开发板外,还有一些嵌入式硬件也被成功移植了MicroPython,例如:Esp8266,WiPy,Espruino Pico,STM32F4 Discovery等。 MicroPython pyboard是一个紧凑的电子电路板,在裸机上运行MicroPython,为您提供一个低级Python操作系统,可用于控制各种电子项目。 MicroPython包含许多高级功能,如交互式提示,任意精度整数,闭包,列表理解,生成器,异常处理等。然而它非常紧凑,可以在256k的代码空间和16k的RAM内运行。 MicroPython旨在尽可能与普通Python兼容,以便您轻松地将……

    网友NO.781234

    python可以做嵌入式吗

    Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 近些年来Python非常流行,Python是一种面向对象的解释型计算机程序设计语言,Python语法简洁清晰,易读性以及可扩展性,Python具有丰富和强大的库,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起,常被称为胶水语言,可以应用在图形处理,数学处理,Web编程,多媒体应用等领域。 在过去的这么长时间里,在嵌入式开发领域中开发语言以C/C++为主,如今基于Python的MicroPython已经涉入到该领域中, MicroPython 是一位叫Damien George的工程师,基于ANSI C(C语言标准),然后在语法上又遵循了Python的规范,主要是为了能在嵌入式硬件上(这里特指微控制器级别)更易于的实现对底层的操作,MicroPython官方提供的硬件开发板叫PyBoard,除了官方提供的开发板外,还有一些嵌入式硬件也被成功移植了MicroPython,例如:Esp8266,WiPy,Espruino Pico,STM32F4 Discovery等。 Python本来就是非常容易入门的语言,同时也是应用广泛的语言,MicroPython将这用容易学习和使用的语言带到了嵌入式开发中,可以直接操作硬件,并且不需要编译和下载,可以快速的看……

    网友NO.772775

    关于javascript获取内联样式与嵌入式样式的实例

    通过style属性设置背景图案 !--html--div id="change"change color/div /*css*/#change { border: 1px solid black; width: 200px; height: 200px; text-align: center; line-height: 200px; } //jschange.style.backgroundColor="purple"; 在侧边栏设置一个颜色选择器,将change的背景颜色设置为选择的颜色,此时颜色选择器的颜色是使用内联样式的方式添加的。 !DOCTYPE htmlhtml lang="en"head meta charset="UTF-8" titlecss/title style * { margin: 0; padding: 0; } .wrap { width: 220px; height: 200px; position: absolute; top: 300px; left: -172px; } .open-close { height: 45px; width: 48px; background: url("open-close.png") no-repeat; background-size: contain; border: 1px solid grey; border-left: none; position: absolute; top: 0; right: 0; z-index: 2; } .changer { height: 150px; width: 170px; position: absolute; top: 0; left: 0; border: 1px solid grey; text-align: center; padding-top: 8px; } .list li { display: block; width: 36px; height: 36px; float: left; margin-left: 9%; margin-top: 10%; } #change { border: 1px solid black; width: 200px; height: 200px; text-align: center; line-height: 200px; } /style/headbodydiv class="wrap" id="wrap" !--html-- div class="open-close" id="open"/div div class="changer" span颜色选择器/span ul class="list" li class="color-orange" /li li class="color-red" /li li class="color-blue" /li li class="color-black" /li li class="color-green" /li li class="color-pink" /li /ul /div/divdiv id="change" change color/divscr……

    网友NO.540551

    嵌入式与python选哪个

    从概念上来说,嵌入式和Python的区别还是比较明显的,嵌入式是一个开发领域,而Python则是一门编程语言。 嵌入式开发是开发领域的一个重要分支,是物联网领域技术的重要组成部分,可以说有物联网的地方就离不开嵌入式开发。(推荐学习:Python视频教程) 通常情况下,嵌入式开发在工业领域有广泛的应用,比如汽车领域、数控机床、智能装备等领域都有广泛的应用,随着产业互联网的发展,嵌入式开发未来的发展前景还是非常不错的。 Python是目前被广泛使用的一种编程语言,在Web开发、大数据开发、大数据分析、人工智能(机器学习、计算机视觉、自然语言处理)等领域有广泛的用途。目前Python也被列入到嵌入式开发语言中,所以Python也可以做嵌入式开发。 对于初学者来说,建议从学习Python语言开始,一方面原因是Python语言本身比较简单,即使没有任何编程基础也能够比较顺利的入门,另一方面原因是Python语言的应用面比较广,尤其在当前的大数据时代背景下,Python在大数据开发、大数据分析等领域都有广泛的应用,掌握Python语言在大数据时代还是有一定必要的。 学习Python之前最好先定一个方向,比如Web开发方面、大数据方向等,对于初学者来说,建议从Web开发方向入手,这样能够比较顺利的入门,也能在学习的……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明