《AVR单片机C语言开发应用实例 TCP/IP篇》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:沈文,黄力岱,吴宗锋编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302113335
  • 页数:619 页
图书介绍:Ethernut是第一个推出基于8位单片机的嵌入以太网解决方案,并且公开了该方案的硬件电路和全部源代码,因此用户可以很方便地对Ethernut方案进行剪裁,定制出适合自己的以太网解决方案。在该方案的基础上进行二次开发,可以大大提高开发进度和降低出错概率。本书共分为4部分,第一部分:介绍了Ethernut的软硬件特点并给出原理图,说明如何编译生成用户所需的库函数,并介绍了利用WinAVR和ICCAVR编译一个演示实例的过程,最后介绍一些工具软件的使用方法;第二部分:分析了Ethernut源代码中的重点和难点,并给出全部API函数的使用方法及调用参数;第三部分:给出14个演示实例的全部源代码,并对代码进行分析;第四部分:介绍两个基于Ethernut的实际产品,并对产品的源代码进行分析,除此之外,还给出了一些扩展应用实例,如CAN、USB主机、Wireless LAN(无线网卡)、Bluetooth(蓝牙)以及利用MMC卡、CF卡或IDE硬盘外扩大容量存储器等,并给出这些应用的原理图和源代码。本书不仅适合作为大中专院校电子专业学生学习Nut/Net的教材和教师参考用书,也适合于开发RTOS、

第1部分 开发指南 1

第1章 1.3g版的Ethernut开发板 1

目录 1

1.1 硬件结构 3

1.1.1 扩展输出端子 4

1.1.2 DB-9插座 4

1.1.3 RJ-45端口 5

1.1.4 ISP和JTAG端口 5

1.1.5 LED指示灯 7

1.1.6 跳线设置 7

1.1.7 电源输入 8

1.2 运行BaseMon演示程序 9

1.3.1 PC机网卡的设置 12

1.3 网络设置 12

1.3.2 网络参数的设置 14

第2章 2.1b版的Ethernut开发板 16

2.1 硬件结构 17

2.1.1 扩展输出端子 18

2.1.2 DB-9插座 19

2.1.3 RJ-45端口 20

2.1.4 Ethernut的RS-485端口定义 20

2.1.5 JTAG端口 20

2.1.6 LED指示灯 21

2.1.7 跳线设置 21

2.1.8 电源输入 25

2.2 运行BaseMon演示程序 26

2.3.1 PC机网卡的设置 29

2.3 网络设置 29

2.3.2 网络参数的设置 31

第3章 Nut/OS配置和编译httpd演示实例 33

3.1 下载和安装相应的软件 33

3.2 编译ICCAVR的Nut/OS函数库 34

3.2.1 配置Nut/OS 34

3.2.2 编译Nut/OS库函数 37

3.3 编译WinAVR的Nut/OS函数库 41

3.3.1 配置Nut/OS 41

3.3.2 编译Nut/OS库函数 44

3.4 编译httpd应用实例 47

3.4.1 使用ICCAVR编译 47

3.4.2 使用WinAVR中编译 52

3.5 运行Web Server演示 53

3.6 1.3f开发板连接JTAG仿真器 54

第4章 常用工具软件 56

4.1 Ethernut配套工具软件 56

4.1.1 crurom的使用 56

4.1.2 robi的使用 58

4.1.3 nutsetup的使用 58

4.1.4 tftpd32的使用 59

4.2 常用的网络指令 61

4.2.1 Ping命令的使用技巧 61

4.2.2 Netstat命令的使用技巧 64

4.2.3 IPConfig命令的使用技巧 65

4.2.4 ARP地址转换协议的使用技巧 66

4.2.5 Tracert的使用技巧 67

4.2.6 Route的使用技巧 67

4.3 常用网络名词 68

4.2.7 Nbtstat的使用技巧 68

第2部分 API接口分析 72

第5章 Ethernut文件索引 72

5.1 目录结构 72

5.2 文件索引 73

5.3 数据结构索引 75

5.4 函数索引 77

第6章 Nut/OS实时操作系统 84

6.1 Nut/OS需求条件 85

6.1.1 程序存储空间 85

6.1.2 数据空间 85

6.1.3 程序存储空间和数据空间的占用 87

6.1.4 EEPROM存储空间 88

6.2 不依赖于编译的数据类型 89

6.3 实时系统概念 90

6.4 线程管理 99

6.4.1 线程管理API 99

6.4.2 线程状态 100

6.4.3 创建线程 102

6.4.4 改变优先级 103

6.4.5 隐藏线程 104

6.4.6 系统初始化 104

6.5 线程之间通信与同步 106

6.5.1 信号量 106

6.5.2 互斥体 108

6.5.3 消息队列 111

6.5.4 事件 114

6.5.5 运行机制 118

6.6 时间管理 122

6.7 I/O管理 127

6.8 堆栈管理 130

6.9 内存页管理 134

第7章 Nut/Net协议栈 138

7.1 TCP/IP协议简介 139

7.1.1 OSI参考模型 139

7.1.2 TCP/IP参考模型 143

7.1.3 数据封装 145

7.1.4 数据帧分用 146

7.2 以太网 147

7.2.1 以太网和IEEE802封装 147

7.2.2 Ethernet API 149

7.3.1 ARP概述 152

7.3 ARP(地址解析协议) 152

7.3.2 ARP的分组格式 153

7.3.3 ARP API分析 154

7.4 IP(网际协议) 160

7.4.1 IP概述 160

7.4.2 IP首部 164

7.4.3 IP记录路由选项 167

7.4.4 IP时间戳选项 168

7.4.5 IP源站选路选项 168

7.4.6 IP分片 169

7.4.7 IP API分析 170

7.5 ICMP(Internet控制报文协议) 180

7.5.1 ICMP概述 180

7.5.2 ICMP报文类型 181

7.5.3 ICMP地址掩码请求与应答 182

7.5.4 ICMP时间戳请求与应答 183

7.5.5 ICMP差错报文 183

7.5.6 ICMP API分析 185

7.6 UDP(用户数据报协议) 188

7.6.1 UDP概述 188

7.6.2 UDP首部 188

7.6.3 UDP API分析 190

7.7 TCP(传输控制协议) 191

7.7.1 TCP概述 191

7.7.2 TCP首部 192

7.7.4 TCP的超时与重传 194

7.7.5 TCP API分析 194

7.7.3 TCP连接的建立与终止 194

7.8 DHCP(动态主机配置协议) 200

7.8.1 DHCP工作过程 200

7.8.2 DHCP API分析 202

7.9 FTP(文件传输协议) 210

7.9.1 FTP概述 210

7.9.2 FTP应答 213

7.9.3 FTP连接管理 214

7.9.4 FTP API分析 215

7.10 HTTP(超文本传送协议) 224

7.10.1 HTTP概述 224

7.10.2 HTTP高级主题 227

7.10.3 HTTP API分析 228

7.11.1 DNS概述 234

7.11 DNS(域名系统) 234

7.11.2 DNS报文格式 236

7.11.3 DNS使用协议 239

7.11.4 DNS API分析 239

7.12 PPP(点到点协议) 241

7.12.1 PPP概述 241

7.12.2 PPP协议格式 243

7.12.3 LCP(链路控制协议) 245

7.12.4 PAP(密码验证协议) 246

7.12.5 IPCP(IP控制协议) 247

7.12.6 PPP(PPP驱动程序) 248

7.13 socket(套接口) 253

7.13.1 socket概述 253

7.13.2 TCP socket 254

7.13.3 UDP socket 260

7.14 其他常用网络协议简介 263

7.14.1 BOOT(引导程序协议) 263

7.14.2 TFTP(简单文件传送协议) 264

7.14.3 Telnet(远程登录) 266

第8章 驱动程序API 270

8.1 硬件结构定义 270

8.1.1 Ethernut Hardware 270

8.1.2 Medianut Hardware 271

8.2 串行通信驱动 272

8.2.1 片内UART驱动程序 273

8.2.2 USART驱动程序 282

8.2.3 片内UART Debug驱动程序 288

8.2.5 SPI UART驱动程序 289

8.2.4 UARTI/O控制函数 289

8.3 网络驱动程序 290

8.3.1 RTL8019AS驱动程序 291

8.3.2 LAN91C111驱动程序 292

8.3.3 CS8900驱动程序 294

8.3.4 网络缓冲 295

8.3.5 网络流媒体驱动 297

8.4 声音驱动程序 297

8.5 显示驱动程序 301

8.6 中断管理 305

8.7 数字I/O口 307

8.8 SPI FLASH驱动程序 308

第9章 文件系统 311

10.1 标准I/O驱动 314

第10章 C运行时间库 314

10.2 低级I/O操作 337

10.3 时间管理 340

10.4 C运行时间库的补充 343

第3部分 演示实例分析 346

第11章 threads分析 346

第12章 times分析 349

第13章 uart分析 355

第14章 rs232d分析 358

第15章 inetq分析 362

第16章 tcps分析 367

第17章 portdio分析 373

第18章 pppc分析 380

第19章 logtime分析 387

第20章 ftpserv分析 392

第21章 httpserv分析 397

第22章 webport分析 409

第23章 eboot分析 433

第24章 basemon分析 458

第4部分 扩展应用 508

第25章 媒体播放板 508

25.1 扩展板说明 508

25.2 扩展板原理图 510

25.3 MP3播放 513

25.4 红外遥控的网络收音机 516

第26章 GSM短信网关(SMS) 543

27.1 SPI文件管理系统 551

第27章 高级应用简介 551

27.2 CAN总线 552

27.3 单总线(1Wire) 552

27.4 扩展串口 561

27.5 MMC卡(使用FAT文件系统读写) 570

27.6 IDE硬盘和CF卡(使用FAT文件系统读写) 572

27.7 USB Host 587

27.8 无线网卡(Wireless LAN) 589

27.9 蓝牙(Bluetooth) 598

第28章 Ethernut通过ADSL接入互联网 600

附录A Ethernut 1.3g开发板原理图 607

附录B Ethernut 2.1b开发板原理图 611

附录C Ethernut 2.1b开发板XC9536XL原理图 615

附录D Charon ll DB开发板 616

参考文献 619