STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联合移植/ `& O% y7 e" j4 u* z7 k& c) _ 作 者:李志明//檀永//徐石明//丁孝华//桑林 出 版 社:机械工业 出版时间:2010-05-010 \& s: B' n2 w8 p# ?- L 内容推荐 嵌入式实时操作系统可以将产品的应用开发和底层开发有效分层,这样在产品更新的过程中,仅仅需要更改底层接口。这样做不仅可以增强代码可读性,而且可以加快产品的开发周期。因此。掌握嵌入式实时操作系统和网络应用开发相关技术已经迫在眉睫。 《STM32嵌入式系统开发实战指南》以业界最流行的微处理器STM32为平台,详细剖析了开源嵌入式实时操作系统FreeRTOS和TCP/IP开源协议栈LwIP的移植过程,为想要学习嵌入式系统开发的读者扫清了学习这两门关键技术的障碍。本书由李志明,檀永,徐石明,丁孝华,桑林编著。. E" D* x: B9 W! n# w 目录- Q7 h1 J, O# M. S 序言 F* r8 i8 {5 U 前言7 K. q$ A F! c7 ?4 } 第一篇 平台篇 第1章 ARM处理器简介 1.1 ARM内核处理器沿革 1.1.1 传统ARM处理器3 J- }7 Y- p3 ]/ L" G 1.1.2 Cortex内核处理器6 [, K4 I/ r) [ 1.2 Cortex内核系列处理器技术特点 1.2.1 ARM Cortex-M系列处理器 1.2.2 ARM Cortex-R系列处理器. I& _: w- [* ?7 y/ m+ r 1.2.3 ARM Cortex-A系列处理器 1.3 STM32互联型嵌入式控制器" \! c; \, b' ?# _ 1.4 微控制器选型 1.4.1 选型因素* h! h$ R& v, e$ q# `( S7 u# k8 T, E 1.4.2 选型示例: ?$ ]4 M0 ^7 s 第2章 基于STM32F107的开发板 2.1 STM32F107开发板 2.2 主要板载资源 2.2.1 10/100M以太网接口( n0 q5 Y+ c" j7 [( _8 t+ G 2.2.2 CAN总线接口 2.2.3 RS485总线接口 2.2.4 其他总线接口7 N6 ~) w4 ], z 2.3 硬件设计要点7 w8 W- L2 X# T' Y' _: T 2.3.1 电磁兼容问题 2.3.2 信号完整性 2.3.3 电源完整性2 e1 R( P, [3 A- t; F& g0 m 第3章 开发环境 3.1 开发环境及搭建1 j' s# ^! |/ i3 N 3.1.1 常见开发环境5 |: L) [, _- j! I8 V) v$ X( t8 } 3.1.2 IAR EWARM安装) O# k! h2 D. k( ?9 H1 [ 3.1.3 RealView MDK安装6 l) A- Q8 O" \. _, O* y 3.2 相关开发工具" @8 f- W7 y4 K/ J, O 3.3 创建工程# U: ~- W" u- Z& n& p 第4章 编程规范 4.1 ST固件库编程规范 4.1.1 缩写1 P7 l3 v$ ^8 b( D 4.1.2 命名规则% b- V, w) o3 M8 c5 k( Y' y2 v 4.1.3 编码规则) _; ?& o2 K ^/ i) B 4.2 基于C语言的嵌入式编程规范0 z% c7 b, b T9 D 4.2.1 源代码的排版7 d# ]% O7 |$ {5 [0 b8 y 4.2.2 源代码的注释 4.2.3 标识符命名 4.2.4 代码可读性: I6 Q* h" i, w" p- q 4.2.5 变量、结构& w, J! f% G- T, X 4.2.6 函数、过程 4.2.7 可测性( M7 v- n3 L0 V& O4 z. [/ ] 4.2.8 程序效率 4.2.9 质量保证# J9 H. n+ {/ u5 J* q) Y* ?( y 4.2.10 代码编辑、编译、审查+ u# p8 c3 Y1 _9 G 4.2.11 测试与维护 4.2.12 宏定义 第5章 项目规划! \. W$ j8 V" \' L/ x& a$ G 5.1 概述, M1 P) K& S( q* S+ X% Y# q 5.2 系统分析& u. s1 S# n9 d 5.3 系统设计% q8 N! a. D: g+ u+ r 5.4 系统制造 5.5 系统运用及反馈! G) ~4 p D. N* T9 o5 z 5.6 开发团队& ^& U0 W: {& A( s/ b4 t7 M0 ~ 5.6.1 团队负责人 5.6.2 调研人员 5.6.3 开发人员8 R# r& _: E9 ~% I {+ c; ~/ D( W U 第二篇 RTOS篇 第6章 操作系统原理基础知识3 _2 f9 }; ` u& d 6.1 前后台模式应用程序 6.2 嵌入式操作系统 6.2.1 相关基本概念 6.2.2 系统调用, O' {; R) a0 L: A 6.2.3 操作系统结构/ m6 C q' h8 n( N7 N8 C5 S 6.2.4 进程与任务: Q; z% @+ w$ J 6.2.5 进程间的通信 6.2.6 进程调度 6.2.7 存储管理( h$ s/ _& m$ I# ~; n# y 第7章 FreeRTOS嵌入式操作系统 7.1 FreeRTOS特色+ ~9 c+ I1 F4 |* R9 n) b 7.2 任务管理5 k5 F& u+ O, ]* s* K: C$ B3 s. p 7.2.1 任务函数* U: q# k2 f7 I/ A2 c M, N 7.2.2 基本任务状态4 a0 G. U5 q; ?6 k, @ 7.2.3 任务创建 7.2.4 任务的优先级, x1 B* {% W, _: v 7.2.5 非运行状态9 q c7 L6 ^$ C% J 7.2.6 空闲任务及回调函数 7.2.7 改变任务优先级 p( M- P; l5 ]5 ~1 P 7.2.8 删除任务 7.2.9 调度算法概述 7.3 队列管理 7.3.1 概述$ T) `1 _ s7 L 7.3.2 使用队列% @+ a: F' [$ {( Z" x 7.3.3 大型数据单元传输# O4 Q6 t. }, F% N# X% k5 o 7.4 中断管理* a, C# X. B7 x2 M( _& e 7.4.1 延迟中断处理 7.4.2 计数信号量 7.4.3 在中断服务例程中使用队列: B i$ W# e2 a+ j; w0 }9 C 7.4.4 中断嵌套: u* c0 ?/ `( y; e1 }8 g- X* H; Q 7.5 资源管理3 Y. P: T4 g! Y- i. J 7.5.1 基本概念 7.5.2 临界区与挂起调度器 7.5.3 互斥量 7.5.4 互斥的另一种实现: x6 x4 H$ O- t% c. ?: o+ Y 7.6 内存管理 7.6.1 概述 7.6.2 内存分配方案范例 7.7 常见错误 7.7.1 概述8 X- I0 R W( G8 S0 @7 S; g 7.7.2 栈溢出 7.7.3 其他常见错误0 h6 k0 i; E/ r( Y" n# ?/ S( Z% o 第8章 基于STM32F107的FreeRTOS移植 8.1 概述5 M$ K7 Q2 t. k. A. i 8.2 FreeRTOS移植 8.2.1 portmacro.h头文件 8.2.2 port.c源文件4 R8 j$ c, i) R$ y$ c1 Z 8.2.3 portasm.s汇编源文件8 T) C0 k, e" A7 Z# K) } 8.2.4 其他问题$ Q- L6 X8 { `( E4 I; o8 s 8.3 创建测试任务 % ?: e' j5 D6 f 第三篇 LwIP篇 第9章 TCP/IP协议栈介绍0 `4 U! D8 T8 e/ Y% d) r" x8 w' z 9.1 引言 9.2 网络分层 9.2.1 OSI七层参考模型" k/ N& u9 `4 z' p 9.2.2 TCP/IP分层 9.2.3 TCP/IP协议簇的协议4 i* H g" n0 x4 B# p) H 9.3 IP协议- s/ K) g8 D3 o2 ^: q" n 9.4 ARP协议与RARP协议 9.5 ICMP 9.6 TCP协议 9.7 UDP协议4 Q* U; Q% p& i1 B 9.8 FTP协议% ]! y% Z0 k- U# f5 }% R$ B/ I 第10章 LwIP轻量级TCP/IP协议栈 10.1 LwIP进程模型- f- T) O4 D' U4 n( K/ R 10.2 LwIP缓冲与内存管理 10.2.1 LwIP动态内存管理机制 10.2.2 LwIP的缓冲管理机制8 m% I" U( t$ t$ O. Y8 Z, U3 |. l2 R, l 10.3 LwIP网络接口 10.4 LwIP的ARP处理 10.5 LwIP的IP处理) E: x" Z4 z9 k) b, Z8 k i0 ?" E 10.6 LwIP的ICMP处理3 m! w8 r8 g8 @/ |. K 10.7 LwIP的UDP处理: n+ T4 j! m, _6 | \ 10.8 LwIP的TCP处理+ ~2 Q6 i& I+ q+ @ h+ A 10.8.1 TCP处理流程概述4 P8 S. J3 w& s! I. h 10.8.2 TCP控制块 10.8.3 LwIP的TCP滑动窗口6 n; x* b$ o( Z9 a3 i) b 10.8.4 LwIP的TCP超时与重传 10.8.5 LwIP的TCP拥塞控制- D; _! v% @; a- v2 [& p3 F0 G 10.8.6 LwIP的TCP定时器$ A9 p, r/ {3 F* w; s6 m. @) F 10.9 LwIP的应用程序接口简介 10.9.1 RAW API接口 10.9.2 Sequential API接口 第11章 基于STM32F107的LwIP移植 11.1 ethernetif.c文件的移植 11.1.1 ethernetif_init函数6 I8 S5 n; ?$ X8 ]0 O- o" F 11.1.2 low_level_init函数; x/ K" s0 H- \: z 11.1.3 ethernetif_input函数 11.1.4 low_level_input函数' Z& U+ J+ p" p# E) | 11.1.5 low_level_output函数5 I; \$ G. J; Z. m' s 11.2 网络驱动移植 11.2.1 以太网控制器概述 11.2.2 以太网控制器硬件配置* @5 w( [$ a' y& M 11.2.3 以太网控制器硬件的引脚配置 11.2.4 以太网驱动之接收1 O6 m- t+ O9 Q4 n' a0 A 11.2.5 以太网驱动之发送3 r" T* ^' |/ l 11.2.6 其他注意事项, f$ ?( V/ }$ S! g 11.3 基于RAW API接口的HelloWorld例程; J8 y- D4 \2 |9 \# M# D 第四篇 移植篇 第12章 基于FreeRTOS的LwIP协议栈移植 12.1 概述. y0 p' m& P; [) G- T8 ~; k 12.2 FreeRTOS下以太网驱动程序的移植8 T6 K0 g* e; X4 R8 L 12.3 LwIP程序移植% o" j: S4 v/ |! j; h 12.3.1 以太网接口文件ethernetif.c的移植4 J) p4 K) N A- K 12.3.2 操作系统模拟层文件sys_arch.c的移植% q9 a9 l% l" c3 c 第13章 工业通信网关解析 13.1 概述9 |% w/ O6 V. r; `& ] 13.2 编码实现 13.3 通信测试# T) Q6 a# S& J# q& c3 A 附录A 开发板原理图 附录B 专业术语; X( F& u0 L, p$ F 参考文献8 L0 {8 h% U4 t# H- P0 M' D; g 当当网购买地址" k+ W- ]( u4 [. H" q; ]7 X 亚马逊购买地址) U9 o! K! t$ I) H/ [) y1 N 京东 推荐理由:这书主要讲“FreeRTOS与LwIP联合移植”方面的东西,目前市场上讲freertos和lwip在stm32上应用的书我只找到这本,ucos的就多,但ucos商业收费,学这个的人可以参考一下。 4 _7 x, I, o( C% _0 l 2 [- s+ x8 h2 ~7 Y: I7 Z 继续阅读 三十四本STM32图书分享集锦(推荐可获赠ST图书) 5 W" q l) O& S' {$ w: \ |
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联