图书介绍

嵌入式网络系统设计:基于ATMEL ARM7系列2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

嵌入式网络系统设计:基于ATMEL ARM7系列
  • 焦海波,刘健康编著 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:7811242621
  • 出版时间:2008
  • 标注页数:480页
  • 文件大小:143MB
  • 文件页数:495页
  • 主题词:微型计算机-系统设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式网络系统设计:基于ATMEL ARM7系列PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 搭建自己的硬件平台1

1.1 目标系统简介1

1.2 芯片选型1

1.3 主芯片功能特性介绍2

1.3.1 Atmel AT91SAM7x256芯片2

1.3.2 Realtek RTL8201BL物理层(PHY)芯片6

1.4 电路设计8

1.4.1 电源及时钟电路8

1.4.2 接口电路9

1.4.3 以太网电路11

1.5 自己制作Wiggler仿真器12

1.5.1 Wiggler仿真器简介12

1.5.2 Wiggler仿真器电路13

1.5.3 Wiggler仿真器驱动软件14

第2章 建立开发环境17

2.1 安装ADS1.217

2.2 安装设置仿真器18

第3章 构建一个最基本的嵌入式系统19

3.1 Hello,embedded world!19

3.2 第一个驱动程序25

3.2.1 点亮开发板25

3.2.2 脱离仿真环境32

3.2.3 代码剖析——驱动程序的基本构造41

3.2.4 RO与程序执行时的地址空间48

3.3 使用高速时钟PLLCK——让LED飞起来53

3.3.1 Atmel的头文件及时钟选择代码53

3.3.2 时钟发生器与电源管理控制器58

3.3.3 时钟设置代码剖析62

3.4 精确控制LED的闪烁频率——使用定时器66

3.4.1 编写第五个程序67

3.4.2 映像文件、入口点与Startup段71

3.4.3 中断处理76

3.4.4 处理器模式88

3.4.5 异常92

3.4.6 代码剖析96

3.5 中断嵌套与快速中断112

3.5.1 普通中断的嵌套112

3.5.2 快速中断与嵌套125

3.6 自己编写下载工具128

第4章 系统的改进——使用RTOS132

4.1 RTOS简介132

4.2 μC/OS-Ⅱ——一个开源的RTOS简介136

4.3 移植μC/OS-Ⅱ到AT91SAM7x256137

4.3.1 下载μC/OS-Ⅱ及移植范例137

4.3.2 移植方法142

4.3.3 准备工作——建立基本的ADS工程144

4.3.4 OS_CPU.H147

4.3.5 OS_CPU_C.C的移植159

4.3.6 OS_CPU_A.S179

4.3.7 编写测试代码197

4.3.8 编译器移植与μC/OS-Ⅱ配置文件200

4.3.9 使用AXD验证μC/OS-Ⅱ207

4.4 μC/OS-Ⅱ的通信及同步机制223

4.4.1 实现第一个要求——使用信号量223

4.4.2 实现第二个要求——使用互斥型信号量228

4.4.3 实现第三个要求231

4.5 总结247

第5章 进阶——嵌入式TCP/IP协议栈LwIP248

5.1 协议层248

5.2 LwIP概览249

5.3 进程模型249

5.4 操作系统模拟层250

5.5 缓冲与内存管理251

5.5.1 包缓冲区(Packet buffers)——pbufs251

5.5.2 内存管理252

5.6 网络接口253

5.7 IP处理254

5.7.1 接收数据包254

5.7.2 发送数据包254

5.7.3 转发数据包255

5.7.4 ICMP处理255

5.8 UDP处理256

5.9 TCP处理257

5.9.1 概览257

5.9.2 数据结构258

5.9.3 序号计算261

5.9.4 排队与发送数据261

5.9.5 接收报文段262

5.9.6 接受新的连接263

5.9.7 快速重发263

5.9.8 定时器263

5.9.9 RTT估算264

5.9.10 阻塞控制264

5.10 协议栈接口264

5.11 应用程序接口265

5.11.1 基本概念265

5.11.2 API实现266

5.12 API参考手册267

5.12.1 数据类型267

5.12.2 缓冲区函数267

5.12.3 网络连接函数270

5.13 实现BSD Socket库276

5.13.1 socket表示方法276

5.13.2 分配socket276

5.13.3 连接设置277

5.13.4 发送和接收数据279

5.14 LwIP应用实例283

5.14.1 使用LwIP API283

5.14.2 使用协议栈直接接口285

第6章 移植LwIP——实现操作系统模拟层288

6.1 获得LwIP源码288

6.2 建立一个最基本的工程288

6.3 把LwIP加入工程288

6.4 官方文档——操作系统模拟层移植说明290

6.5 准备工作——建立文件、定义数据类型及其他293

6.6 信号量操作函数297

6.6.1 sys_new_sem()函数297

6.6.2 sys_sem_signal()函数297

6.6.3 sys_sem_free()函数298

6.6.4 sys_arch_sem_wait()函数298

6.6.5 编译301

6.7 邮箱操作函数304

6.7.1 准备工作——设计思路及数据类型定义304

6.7.2 sys_mbox_new()函数309

6.7.3 sys_mbox_free()函数311

6.7.4 sys_mbox_post()函数311

6.7.5 sys_arch_mbox_fetch()函数312

6.8 实现sys_thread_new()函数313

6.9 实现sys_arch_timeouts()函数316

6.10 实现临界保护函数318

6.11 扫尾——结束操作系统模拟层的编写319

第7章 以太网MAC(EMAC)编程手册323

7.1 概览323

7.2 结构框图323

7.3 功能描述324

7.3.1 接收缓冲区325

7.3.2 发送缓冲区328

7.3.3 EMAC发送模块330

7.3.4 暂停帧(Pause Frame)支持331

7.3.5 EMAC接收模块331

7.3.6 EMAC地址检查模块332

7.3.7 广播地址333

7.3.8 哈希寻址333

7.3.9 复制所有帧(或混杂模式)334

7.3.10 类型ID检查334

7.3.11 VLAN支持334

7.3.12 PHY管理335

7.3.13 MII与RMII接口335

7.4 操作说明336

7.4.1 初始化配置336

7.4.2 初始化接收缓冲区数组336

7.4.3 初始化发送缓冲区数组337

7.4.4 地址匹配337

7.4.5 中断338

7.4.6 发送帧338

7.4.7 接收帧338

7.5 用户接口——寄存器说明339

7.5.1 网络控制寄存器340

7.5.2 网络配置寄存器342

7.5.3 网络状态寄存器343

7.5.4 发送状态寄存器344

7.5.5 接收缓冲区队列指针寄存器344

7.5.6 发送缓冲区队列指针寄存器345

7.5.7 接收状态寄存器346

7.5.8 中断状态寄存器346

7.5.9 中断使能寄存器348

7.5.10 中断禁止寄存器348

7.5.11 中断掩码寄存器349

7.5.12 PHY管理寄存器350

7.5.13 暂停时间寄存器351

7.5.14 低位哈希寄存器351

7.5.15 高位哈希寄存器351

7.5.16 低位特殊地址寄存器1~4352

7.5.17 高位特殊地址寄存器1~4352

7.5.18 类型ID寄存器353

7.5.19 用户输入/输出寄存器353

7.5.20 统计寄存器354

第8章 LwIP应用之旅——初始化、网络驱动及使用8.1 rawapi.txt——LwIP初始化说明355

8.2 准备工作——建立LwIP入口文件357

8.3 _ilvInitLwIP()函数358

8.4 _ilvSetLwIP()函数359

8.5 ethernetif_init()——初始化底层网络接口函数364

8.5.1 ethernetif_init()——底层网络接口的入口函数365

8.5.2 low_level_output()——链路层发送函数366

8.5.3 low_level_init()——网卡初始化函数368

8.5.4 EMACInit()——网卡初始化工作的实际完成者370

8.5.5 ethernetif_input()——实现接收线程397

8.5.6 low_level_input()——读取完整的一帧数据399

8.5.7 GetInputPacketLen()函数——获得帧长401

8.5.8 EMACReadPacket()——搬运,从接收缓冲区到pbuf405

8.5.9 EMACSendPacket()函数——发送一帧数据411

8.5.10 编译ethernetif.c及lib_emac.c文件415

8.6 ping——结束LwIP的移植418

8.6.1 编译、链接整个工程418

8.6.2 遗漏的工作——把LwIP整合到系统中421

8.6.3 测试LwIP——ping及简单的WEB服务器425

第9章 重构——继续改进系统428

9.1 改善软件系统的可维护性428

9.1.1 提高源码的可读性428

9.1.2 添加必要的注释语句430

9.1.3 重新调整程序文件及代码的组织结构431

9.2 改善软件系统的可扩展性、可重用性432

9.2.1 重新架构网络系统432

9.2.2 编码实现新的系统架构435

9.2.3 小结443

9.3 SWI系统调用444

9.3.1 工作机制444

9.3.2 编码实现SWI系统调用447

第10章 实现动态网页服务451

10.1 设计思路451

10.2 源码剖析454

10.3 实现DNS解析460

附录A 开发板原理图471

附录B ARM指令集编码472

附录C 程序状态寄存器位域说明474

附录D AT91SAM7x256内嵌外设用户接口列表475

附录E PIO控制器复用引脚说明479

参考文献481

热门推荐