
STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联合移植: C, e; f0 C; I! J 作 者:李志明//檀永//徐石明//丁孝华//桑林 出 版 社:机械工业8 }( r t9 F/ ?3 E 出版时间:2010-05-01 ![]() 内容推荐 嵌入式实时操作系统可以将产品的应用开发和底层开发有效分层,这样在产品更新的过程中,仅仅需要更改底层接口。这样做不仅可以增强代码可读性,而且可以加快产品的开发周期。因此。掌握嵌入式实时操作系统和网络应用开发相关技术已经迫在眉睫。 《STM32嵌入式系统开发实战指南》以业界最流行的微处理器STM32为平台,详细剖析了开源嵌入式实时操作系统FreeRTOS和TCP/IP开源协议栈LwIP的移植过程,为想要学习嵌入式系统开发的读者扫清了学习这两门关键技术的障碍。本书由李志明,檀永,徐石明,丁孝华,桑林编著。 目录- Q" x" z& F1 B( L 序言 前言 第一篇 平台篇" O6 f5 I2 |; i7 l5 O1 B 第1章 ARM处理器简介 1.1 ARM内核处理器沿革8 M+ N# q( R7 O% i2 J0 C+ ? 1.1.1 传统ARM处理器( F- O& j, \+ Z 1.1.2 Cortex内核处理器 1.2 Cortex内核系列处理器技术特点- @6 w4 V7 [/ Q, i, z 1.2.1 ARM Cortex-M系列处理器 1.2.2 ARM Cortex-R系列处理器" |6 S, t0 v& e7 H9 U 1.2.3 ARM Cortex-A系列处理器 1.3 STM32互联型嵌入式控制器! u! b! g9 a+ _+ j! B6 e9 H" `( S% p 1.4 微控制器选型 1.4.1 选型因素% x3 c! s" V/ [ 1.4.2 选型示例 第2章 基于STM32F107的开发板 2.1 STM32F107开发板 2.2 主要板载资源 2.2.1 10/100M以太网接口 2.2.2 CAN总线接口4 {$ G. V/ J. Z) C# \ 2.2.3 RS485总线接口& w& D( f; L( e* K 2.2.4 其他总线接口/ N# j6 O% r$ t: J- C7 |& F 2.3 硬件设计要点7 ?' g/ u' L! h+ _ 2.3.1 电磁兼容问题 2.3.2 信号完整性 2.3.3 电源完整性3 `) ]( l- b7 ^ c 第3章 开发环境; W' F( A) h. L3 y' }0 h# ~ 3.1 开发环境及搭建6 q3 R# h0 p' H* Z7 p! V3 h3 ` 3.1.1 常见开发环境 3.1.2 IAR EWARM安装5 x% U! l" I P5 g0 ]' f1 c7 z 3.1.3 RealView MDK安装 3.2 相关开发工具 3.3 创建工程 第4章 编程规范 4.1 ST固件库编程规范6 s9 w' b- w: l6 U 4.1.1 缩写 4.1.2 命名规则" d6 a' Y& n6 H" p- s' J' ?5 ` 4.1.3 编码规则( M# ~& Q, m9 S1 V |4 z 4.2 基于C语言的嵌入式编程规范. j, V, r0 N" N) q* b. A: A8 _3 p 4.2.1 源代码的排版( u9 n. H8 v% j 4.2.2 源代码的注释 4.2.3 标识符命名 4.2.4 代码可读性2 m5 R/ `# H% Z# F% Z @ 4.2.5 变量、结构 4.2.6 函数、过程 4.2.7 可测性 c. j: b3 D+ {: r+ j+ U 4.2.8 程序效率 4.2.9 质量保证1 {! w$ T! y0 Y 4.2.10 代码编辑、编译、审查 4.2.11 测试与维护7 ]# G& G2 A2 L# }: S6 L! ^ 4.2.12 宏定义& i( Q v7 x( M5 \% g$ J* ~0 a+ N 第5章 项目规划 5.1 概述2 ]1 S- X' B1 Z9 t( s, w 5.2 系统分析, ]# H. h! O) [" Q, g; Q 5.3 系统设计3 X9 i# k& h0 E0 E( q+ V- e 5.4 系统制造- @ U5 Z, _9 \1 K9 W3 c: h6 {# V 5.5 系统运用及反馈9 U3 ~8 r* ^0 {9 V2 u. d. P8 l 5.6 开发团队 5.6.1 团队负责人2 U9 B1 s/ A5 g) Y 5.6.2 调研人员 5.6.3 开发人员 $ J# F& G" `, P' @ 第二篇 RTOS篇 第6章 操作系统原理基础知识6 t ~$ A7 W h1 W1 R2 g 6.1 前后台模式应用程序) U) o4 V# H1 w) e6 i 6.2 嵌入式操作系统$ w+ f* E3 C5 d0 I; J$ k- e8 w 6.2.1 相关基本概念 6.2.2 系统调用 6.2.3 操作系统结构: a; v$ y2 b' `: |4 _1 { 6.2.4 进程与任务3 q% _; h5 Q9 b 6.2.5 进程间的通信 6.2.6 进程调度 6.2.7 存储管理 第7章 FreeRTOS嵌入式操作系统 7.1 FreeRTOS特色: |9 A! @6 _& o4 L1 a 7.2 任务管理6 g% _7 \2 f0 h1 t) P4 x6 F 7.2.1 任务函数 7.2.2 基本任务状态 7.2.3 任务创建 7.2.4 任务的优先级 7.2.5 非运行状态 7.2.6 空闲任务及回调函数, e3 M# D% S8 D 7.2.7 改变任务优先级 7.2.8 删除任务 7.2.9 调度算法概述 7.3 队列管理4 u. D1 ]& Z7 z; k4 _ 7.3.1 概述 7.3.2 使用队列) D- D- ~7 `7 I, x/ W 7.3.3 大型数据单元传输 7.4 中断管理 7.4.1 延迟中断处理9 p2 G; N4 M) O) ?, T; q, B 7.4.2 计数信号量, l1 P! g" z# _ 7.4.3 在中断服务例程中使用队列 7.4.4 中断嵌套 7.5 资源管理 7.5.1 基本概念( o' y/ H5 Z! y/ O6 T 7.5.2 临界区与挂起调度器( B! B# B4 D1 ]' W 7.5.3 互斥量5 y4 p" F+ b4 t {0 u) l( f8 c 7.5.4 互斥的另一种实现 7.6 内存管理 7.6.1 概述+ D9 P5 f% z( N* a7 i 7.6.2 内存分配方案范例 7.7 常见错误 7.7.1 概述; `, r2 L) A9 L+ k/ q/ X 7.7.2 栈溢出 7.7.3 其他常见错误3 u& l4 k5 T! U+ |) ?! N 第8章 基于STM32F107的FreeRTOS移植( `( e* j# l( J$ j/ d- ` 8.1 概述6 \4 H8 e8 x, A2 A" N2 l$ y; Q 8.2 FreeRTOS移植 8.2.1 portmacro.h头文件' K5 j$ \9 _+ F: m5 g 8.2.2 port.c源文件 8.2.3 portasm.s汇编源文件 8.2.4 其他问题 8.3 创建测试任务 第三篇 LwIP篇/ P, z, h' \; a+ @ 第9章 TCP/IP协议栈介绍+ U! S" f2 V% W0 Y 9.1 引言" s+ U4 W9 B6 @; X% o+ X 9.2 网络分层 9.2.1 OSI七层参考模型 9.2.2 TCP/IP分层) S D) g* K: o X( `, Y. [$ R 9.2.3 TCP/IP协议簇的协议 9.3 IP协议# M' ]; c1 J/ w+ p 9.4 ARP协议与RARP协议 9.5 ICMP 9.6 TCP协议% d: ]# k. G8 y2 o8 h 9.7 UDP协议# b3 i4 z' U2 d. S+ n; Q 9.8 FTP协议- {$ g; U; ~# M 第10章 LwIP轻量级TCP/IP协议栈 10.1 LwIP进程模型7 k( q: P( Y0 v$ [* r* @, Q9 F: | 10.2 LwIP缓冲与内存管理 10.2.1 LwIP动态内存管理机制 10.2.2 LwIP的缓冲管理机制 g/ ~' T2 c) Z' x3 K* f/ p6 d 10.3 LwIP网络接口# A$ S+ H) p, S# [. N: ] 10.4 LwIP的ARP处理 10.5 LwIP的IP处理1 a! [* `4 }* |$ ~* C 10.6 LwIP的ICMP处理 10.7 LwIP的UDP处理! W. N1 N/ z& d+ ~9 G X' n+ g 10.8 LwIP的TCP处理9 [0 N* W& L- w0 d3 e l6 N 10.8.1 TCP处理流程概述 10.8.2 TCP控制块 10.8.3 LwIP的TCP滑动窗口& H6 v4 u. j2 R) K1 Q X5 ` 10.8.4 LwIP的TCP超时与重传& L# D: N f- T& ~ 10.8.5 LwIP的TCP拥塞控制 10.8.6 LwIP的TCP定时器6 }- j2 i9 N9 U( d" I+ i. T 10.9 LwIP的应用程序接口简介, M/ u$ ?# M8 {3 s 10.9.1 RAW API接口/ Z( N/ A3 k9 ~# x6 ~' D0 E, n 10.9.2 Sequential API接口0 D" Q, W# \& y: R' r2 t' D 第11章 基于STM32F107的LwIP移植) H' p& w. Q; A" K6 D 11.1 ethernetif.c文件的移植" A) }8 D' r# }# C2 ~4 D 11.1.1 ethernetif_init函数 11.1.2 low_level_init函数* A4 ]7 f1 {7 ?* V 11.1.3 ethernetif_input函数: E% ~% U, s5 J; G 11.1.4 low_level_input函数& A' ? t/ d' l0 s; t F 11.1.5 low_level_output函数& t( Z3 w, D1 g6 J0 ]8 U- } 11.2 网络驱动移植. O& q. j- t) Z4 M8 o6 Q: e! M 11.2.1 以太网控制器概述 11.2.2 以太网控制器硬件配置5 l% y9 a' p6 c' s4 r! f 11.2.3 以太网控制器硬件的引脚配置 11.2.4 以太网驱动之接收& @6 B5 e6 t- I9 R& y) u 11.2.5 以太网驱动之发送 11.2.6 其他注意事项 11.3 基于RAW API接口的HelloWorld例程 第四篇 移植篇 第12章 基于FreeRTOS的LwIP协议栈移植 12.1 概述# }7 n% j0 Z1 b- s* w( U" g 12.2 FreeRTOS下以太网驱动程序的移植9 S! g1 j- d# s( q& W. S 12.3 LwIP程序移植0 N6 `$ n6 E- Z; E! J& g 12.3.1 以太网接口文件ethernetif.c的移植/ K* p" W* |( W" p+ |. k 12.3.2 操作系统模拟层文件sys_arch.c的移植* Z$ A8 t- G: o6 y" q 第13章 工业通信网关解析 13.1 概述& u2 a# h& j4 A4 O% _4 l( K% k ? 13.2 编码实现0 s! y( e4 L2 n* }. O" t 13.3 通信测试 附录A 开发板原理图 附录B 专业术语 参考文献& P5 U- X. {! P+ k3 S% R 当当网购买地址3 V) b+ N' W# s3 k $ m+ `" f& D1 h% f" b* ~$ x/ W8 E 亚马逊购买地址 京东4 u( v" ~7 [! m5 j$ g & E; `% W. m6 V- @3 ^1 ^ 推荐理由:这书主要讲“FreeRTOS与LwIP联合移植”方面的东西,目前市场上讲freertos和lwip在stm32上应用的书我只找到这本,ucos的就多,但ucos商业收费,学这个的人可以参考一下。6 p& m9 F c8 [3 E" m8 Z . I4 c6 y: ?' |7 Y0 Y9 n 继续阅读 三十四本STM32图书分享集锦(推荐可获赠ST图书) |
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联