资源名称:stm32嵌入式系统开发实战指南

内容简介:

《STM32嵌入式系统开发实战指南》以一款轻量级嵌入式实时操作系统为样本,阐述了嵌入式实时操作系统任务管理、时间管理、资源共享、内存管理等机制,介绍了内核及TCP/IP的移植和具体使用方法。为了避免枯燥的理论阐述,本书辅以适量的例程帮助大家学习。此外,本书还简要阐述了硬件平台设计、项目开展的一般步骤和注意事项。

《STM32嵌入式系统开发实战指南》适合已熟悉STM32的操作、掌握基于STM32官方驱动库的前后台模式应用软件开发的读者或初级嵌入式软件开发工程师阅读。本书由李志明,檀永,徐石明,丁孝华,桑林编著。

资源目录:

序言

  前言

  第一篇 平台篇

  第1章 ARM处理器简介

  1.1 ARM内核处理器沿革

  1.1.1 传统ARM处理器

  1.1.2 Cortex内核处理器

  1.2 Cortex内核系列处理器技术特点

  1.2.1 ARM Cortex-M系列处理器

  1.2.2 ARM Cortex-R系列处理器

  1.2.3 ARM Cortex-A系列处理器

  1.3 STM32互联型嵌入式控制器

  1.4 微控制器选型

  1.4.1 选型因素

  1.4.2 选型示例

  第2章 基于STM32F107的开发板

  2.1 STM32F107开发板

  2.2 主要板载资源

  2.2.1 10/100M以太网接口

  2.2.2 CAN总线接口

  2.2.3 RS485总线接口

  2.2.4 其他总线接口

  2.3 硬件设计要点

  2.3.1 电磁兼容问题

  2.3.2 信号完整性

  2.3.3 电源完整性

  第3章 开发环境

  3.1 开发环境及搭建

  3.1.1 常见开发环境

  3.1.2 IAR EWARM安装

  3.1.3 RealView MDK安装

  3.2 相关开发工具

  3.3 创建工程

  第4章 编程规范

  4.1 ST固件库编程规范

  4.1.1 缩写

  4.1.2 命名规则

  4.1.3 编码规则

  4.2 基于C语言的嵌入式编程规范

  4.2.1 源代码的排版

  4.2.2 源代码的注释

  4.2.3 标识符命名

  4.2.4 代码可读性

  4.2.5 变量、结构

  4.2.6 函数、过程

  4.2.7 可测性

  4.2.8 程序效率

  4.2.9 质量保证

  4.2.10 代码编辑、编译、审查

  4.2.11 测试与维护

  4.2.12 宏定义

  第5章 项目规划

  5.1 概述

  5.2 系统分析

  5.3 系统设计

  5.4 系统制造

  5.5 系统运用及反馈

  5.6 开发团队

  5.6.1 团队负责人

  5.6.2 调研人员

  5.6.3 开发人员

  第二篇 RTOS篇

  第6章 操作系统原理基础知识

  6.1 前后台模式应用程序

  6.2 嵌入式操作系统

  6.2.1 相关基本概念

  6.2.2 系统调用

  6.2.3 操作系统结构

  6.2.4 进程与任务

  6.2.5 进程间的通信

  6.2.6 进程调度

  6.2.7 存储管理

  第7章 FreeRTOS嵌入式操作系统

  7.1 FreeRTOS特色

  7.2 任务管理

  7.2.1 任务函数

  7.2.2 基本任务状态

  7.2.3 任务创建

  7.2.4 任务的优先级

  7.2.5 非运行状态

  7.2.6 空闲任务及回调函数

  7.2.7 改变任务优先级

  7.2.8 删除任务

  7.2.9 调度算法概述

  7.3 队列管理

  7.3.1 概述

  7.3.2 使用队列

  7.3.3 大型数据单元传输

  7.4 中断管理

  7.4.1 延迟中断处理

  7.4.2 计数信号量

  7.4.3 在中断服务例程中使用队列

  7.4.4 中断嵌套

  7.5 资源管理

  7.5.1 基本概念

  7.5.2 临界区与挂起调度器

  7.5.3 互斥量

  7.5.4 互斥的另一种实现

  7.6 内存管理

  7.6.1 概述

  7.6.2 内存分配方案范例

  7.7 常见错误

  7.7.1 概述

  7.7.2 栈溢出

  7.7.3 其他常见错误

  第8章 基于STM32F107的FreeRTOS移植

  8.1 概述

  8.2 FreeRTOS移植

  8.2.1 portmacro.h头文件

  8.2.2 port.c源文件

  8.2.3 portasm.s汇编源文件

  8.2.4 其他问题

  8.3 创建测试任务

  第三篇 LwIP篇

  第9章 TCP/IP协议栈介绍

  9.1 引言

  9.2 网络分层

  9.2.1 OSI七层参考模型

  9.2.2 TCP/IP分层

  9.2.3 TCP/IP协议簇的协议

  9.3 IP协议

  9.4 ARP协议与RARP协议

  9.5 ICMP

  9.6 TCP协议

  9.7 UDP协议

  9.8 FTP协议

  第10章 LwIP轻量级TCP/IP协议栈

  10.1 LwIP进程模型

  10.2 LwIP缓冲与内存管理

  10.2.1 LwIP动态内存管理机制

  10.2.2 LwIP的缓冲管理机制

  10.3 LwIP网络接口

  10.4 LwIP的ARP处理

  10.5 LwIP的IP处理

  10.6 LwIP的ICMP处理

  10.7 LwIP的UDP处理

  10.8 LwIP的TCP处理

  10.8.1 TCP处理流程概述

  10.8.2 TCP控制块

  10.8.3 LwIP的TCP滑动窗口

  10.8.4 LwIP的TCP超时与重传

  10.8.5 LwIP的TCP拥塞控制

  10.8.6 LwIP的TCP定时器

  10.9 LwIP的应用程序接口简介

  10.9.1 RAW API接口

  10.9.2 Sequential API接口

  第11章 基于STM32F107的LwIP移植

  11.1 etherif.c文件的移植

  11.1.1 etherif_init函数

  11.1.2 low_level_init函数

  11.1.3 etherif_input函数

  11.1.4 low_level_input函数

  11.1.5 low_level_output函数

  11.2 网络驱动移植

  11.2.1 以太网控制器概述

  11.2.2 以太网控制器硬件配置

  11.2.3 以太网控制器硬件的引脚配置

  11.2.4 以太网驱动之接收

  11.2.5 以太网驱动之发送

  11.2.6 其他注意事项

  11.3 基于RAW API接口的HelloWorld例程

  第四篇 移植篇

  第12章 基于FreeRTOS的LwIP协议栈移植

  12.1 概述

  12.2 FreeRTOS下以太网驱动程序的移植

  12.3 LwIP程序移植

  12.3.1 以太网接口文件etherif.c的移植

  12.3.2 操作系统模拟层文件sys_arch.c的移植

  第13章 工业通信网关解析

  13.1 概述

  13.2 编码实现

  13.3 通信测试

  附录A 开发板原理图

  附录B 专业术语

  参考文献

资源截图:

stm32嵌入式系统开发实战指南