本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书名: | STM32嵌入式系统开发实战指南[按需印刷]|3767325 |
图书定价: | 69元 |
图书作者: | 李志明;檀永;徐石明 |
出版社: | 机械工业出版社 |
出版日期: | 2013/5/1 0:00:00 |
ISBN号: | 9787111417163 |
开本: | 16开 |
页数: | 320 |
版次: | 1-1 |
作者简介 |
李志明,研发工程师,毕业于东南大学仪器科学与工程学院。现任职于中国电力科学研究院,主要从事科研项目的研究与开发,并参与相关行业标准、企业标准的制定工作。先后参与多项国家“863”计划、国家能源局和国家电网公司重大科技项目。研究领域涉及智能用电及检测技术、嵌入式软硬件开发等。檀永,研发工程师,毕业于苏州大学电子信息学院通信工程系,现任职于国电南瑞科技股份公司研发中心。长期从事电力二次监控设备的研发工作,对嵌入式软硬件开发有着丰富的经验,对嵌入式操作系统及TCP/IP协议栈有着深入的研究和丰富的实践经验。徐石明,教授级高级工程师,九三学社成员,毕业于哈尔滨工业大学电磁测量及仪表专业。先后任国电自动化研究院配电公司副总经理、国电南瑞科技股份公司研发中心主任,现担任中国电力科学研究院用电与能效研究所所长,兼任中国电机工程学会供用电专委会委员,电力系统控制及通信标准化技术委员会变电站工作组成员,电力行业标准的起草人之一,IEC/TC57 WGl2工作组成员。先后主持或参与多项国家“863”计划、国家能源局和国家电网公司重大科技项目,并获多项国家科技进步奖和省部级科技奖。 |
内容简介 |
《STM32嵌入式系统开发实战指南:FreeRTOS与LwIP联合移植》以一款轻量级嵌入式实时操作系统为样本,阐述了嵌入式实时操作系统任务管理、时间管理、资源共享、内存管理等机制,介绍了内核及TCP/IP的移植和具体使用方法。为了避免枯燥的理论阐述,本书辅以适量的例程帮助大家学习。此外,本书还简要阐述了硬件平台设计、项目开展的一般步骤和注意事项。 《STM32嵌入式系统开发实战指南:FreeRTOS与LwIP联合移植》适合已熟悉STM32的操作、掌握基于STM32官方驱动库的前后台模式应用软件开发的读者或初级嵌入式软件开发工程师阅读。 |
目录 |
《STM32嵌入式系统开发实战指南:FreeRTOS与LwIP联合移植》 序 言 前 言 第一篇 平台篇 第1章 ARM处理器简介 2 1.1 ARM内核处理器沿革 2 1.1.1 传统ARM处理器 3 1.1.2 Cortex内核处理器 4 1.2 Cortex内核系列处理器技术特点 8 1.2.1 ARM Cortex-M系列处理器 8 1.2.2 ARM Cortex-R系列处理器 10 1.2.3 ARM Cortex-A系列处理器 11 1.3 STM32互联型嵌入式控制器 12 1.4 微控制器选型 14 1.4.1 选型因素 14 1.4.2 选型示例 17 第2章 基于STM32F107的开发板 18 2.1 STM32F107开发板 18 2.2 主要板载资源 19 2.2.1 10/100M以太网接口 19 2.2.2 CAN总线接口 27 2.2.3 RS485总线接口 35 2.2.4 其他总线接口 37 2.3 硬件设计要点 44 2.3.1 电磁兼容问题 44 2.3.2 信号完整性 45 2.3.3 电源完整性 47 第3章 开发环境 50 3.1 开发环境及搭建 50 3.1.1 常见开发环境 50 3.1.2 IAR EWARM安装 52 3.1.3 RealView MDK安装 54 3.2 相关开发工具 57 3.3 创建工程 58 第4章 编程规范 72 4.1 ST固件库编程规范 72 4.1.1 缩写 72 4.1.2 命名规则 73 4.1.3 编码规则 73 4.2 基于C语言的嵌入式编程规范 77 4.2.1 源代码的排版 77 4.2.2 源代码的注释 80 4.2.3 标识符命名 86 4.2.4 代码可读性 88 4.2.5 变量、结构 90 4.2.6 函数、过程 94 4.2.7 可测性 102 4.2.8 程序效率 106 4.2.9 质量保证 109 4.2.10 代码编辑、编译、审查 115 4.2.11 测试与维护 116 4.2.12 宏定义 116 第5章 项目规划 118 5.1 概述 118 5.2 系统分析 118 5.3 系统设计 119 5.4 系统制造 119 5.5 系统运用及反馈 120 5.6 开发团队 120 5.6.1 团队负责人 120 5.6.2 调研人员 121 5.6.3 开发人员 122 第二篇 RTOS篇 第6章 操作系统原理基础知识 126 6.1 前后台模式应用程序 126 6.2 嵌入式操作系统 126 6.2.1 相关基本概念 126 6.2.2 系统调用 127 6.2.3 操作系统结构 127 6.2.4 进程与任务 129 6.2.5 进程间的通信 129 6.2.6 进程调度 129 6.2.7 存储管理 130 第7章 FreeRTOS嵌入式操作系统 131 7.1 FreeRTOS特色 131 7.2 任务管理 131 7.2.1 任务函数 131 7.2.2 基本任务状态 132 7.2.3 任务创建 133 7.2.4 任务的优先级 138 7.2.5 非运行状态 141 7.2.6 空闲任务及回调函数 147 7.2.7 改变任务优先级 148 7.2.8 删除任务 151 7.2.9 调度算法概述 153 7.3 队列管理 155 7.3.1 概述 155 7.3.2 使用队列 157 7.3.3 大型数据单元传输 168 7.4 中断管理 169 7.4.1 延迟中断处理 169 7.4.2 计数信号量 175 7.4.3 在中断服务例程中使用队列 179 7.4.4 中断嵌套 184 7.5 资源管理 185 7.5.1 基本概念 185 7.5.2 临界区与挂起调度器 187 7.5.3 互斥量 189 7.5.4 互斥的另一种实现 195 7.6 内存管理 199 7.6.1 概述 199 7.6.2 内存分配方案范例 199 7.7 常见错误 202 7.7.1 概述 202 7.7.2 栈溢出 202 7.7.3 其他常见错误 204 第8章 基于STM32F107的FreeRTOS移植 206 8.1 概述 206 8.2 FreeRTOS移植 206 8.2.1 portmacro.h头文件 206 8.2.2 port.c源文件 209 8.2.3 portasm.s汇编源文件 211 8.2.4 其他问题 215 8.3 创建测试任务 215 第三篇 LwIP篇 第9章 TCP/IP协议栈介绍 220 9.1 引言 220 9.2 网络分层 220 9.2.1 OSI七层参考模型 220 9.2.2 TCP/IP分层 222 9.2.3 TCP/IP协议簇的协议 223 9.3 IP协议 224 9.4 ARP协议与RARP协议 225 9.5 ICMP 226 9.6 TCP协议 227 9.7 UDP协议 229 9.8 FTP协议 230 第10章 LwIP轻量级TCP/IP协议栈 232 10.1 LwIP进程模型 232 10.2 LwIP缓冲与内存管理 233 10.2.1 LwIP动态内存管理机制 233 10.2.2 LwIP的缓冲管理机制 236 10.3 LwIP网络接口 240 10.4 LwIP的ARP处理 245 10.5 LwIP的IP处理 248 10.6 LwIP的ICMP处理 251 10.7 LwIP的UDP处理 252 10.8 LwIP的TCP处理 254 10.8.1 TCP处理流程概述 254 10.8.2 TCP控制块 255 10.8.3 LwIP的TCP滑动窗口 259 10.8.4 LwIP的TCP超时与重传 260 10.8.5 LwIP的TCP拥塞控制 262 10.8.6 LwIP的TCP定时器 263 10.9 LwIP的应用程序接口简介 264 10.9.1 RAW API接口 264 10.9.2 Sequential API接口 267 第11章 基于STM32F107的LwIP移植 274 11.1 ethernetif.c文件的移植 274 11.1.1 ethernetif_init函数 274 11.1.2 low_level_init函数 274 11.1.3 ethernetif_input函数 276 11.1.4 low_level_input函数 276 11.1.5 low_level_output函数 277 11.2 网络驱动移植 278 11.2.1 以太网控制器概述 278 11.2.2 以太网控制器硬件配置 279 11.2.3 以太网控制器硬件的引脚配置 282 11.2.4 以太网驱动之接收 283 11.2.5 以太网驱动之发送 284 11.2.6 其他注意事项 285 11.3 基于RAW API接口的HelloWorld例程 287 第四篇 移植篇 第12章 基于FreeRTOS的LwIP协议栈移植 294 12.1 概述 294 12.2 FreeRTOS下以太网驱动程序的移植 295 12.3 LwIP程序移植 296 12.3.1 以太网接口文件ethernetif.c的移植 296 12.3.2 操作系统模拟层文件sys_arch.c的移植 298 第13章 工业通信网关解析 306 13.1 概述 306 13.2 编码实现 306 13.3 通信测试 310 附录A 开发板原理图 313 附录B 专业术语 319 参考文献 321 |