
STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联合移植0 D) c0 a4 i9 A8 r8 R5 u, u 作 者:李志明//檀永//徐石明//丁孝华//桑林 出 版 社:机械工业 出版时间:2010-05-01 ![]() 内容推荐3 t2 K0 z9 n% F3 @ 嵌入式实时操作系统可以将产品的应用开发和底层开发有效分层,这样在产品更新的过程中,仅仅需要更改底层接口。这样做不仅可以增强代码可读性,而且可以加快产品的开发周期。因此。掌握嵌入式实时操作系统和网络应用开发相关技术已经迫在眉睫。' Z( |: p+ b7 z2 ^( u 《STM32嵌入式系统开发实战指南》以业界最流行的微处理器STM32为平台,详细剖析了开源嵌入式实时操作系统FreeRTOS和TCP/IP开源协议栈LwIP的移植过程,为想要学习嵌入式系统开发的读者扫清了学习这两门关键技术的障碍。本书由李志明,檀永,徐石明,丁孝华,桑林编著。' x- q) o$ {9 ] 目录4 U7 ^; x- N% u2 N* ?1 ]! b* v 序言 F3 y, L! h5 i0 j 前言, Z+ ?4 i4 w' ~7 B& m) o2 x5 l& R U! E 第一篇 平台篇, s0 y4 u# ^! a, @4 F8 x: } 第1章 ARM处理器简介 1.1 ARM内核处理器沿革* q" s; |0 F! q2 f9 S1 p! r 1.1.1 传统ARM处理器/ Z& H# C7 G! \8 p% t$ J T/ V! w 1.1.2 Cortex内核处理器- `) S% F$ v& f/ X/ Q, f$ H 1.2 Cortex内核系列处理器技术特点5 K5 W3 P" Y% T' B% t# F* v5 p 1.2.1 ARM Cortex-M系列处理器 1.2.2 ARM Cortex-R系列处理器$ m& E' [) B |, a 1.2.3 ARM Cortex-A系列处理器 1.3 STM32互联型嵌入式控制器 1.4 微控制器选型 1.4.1 选型因素 1.4.2 选型示例" N6 p; ]) B+ R1 ~, I 第2章 基于STM32F107的开发板 2.1 STM32F107开发板' c3 v! C! L q, O. ^6 S5 y 2.2 主要板载资源 2.2.1 10/100M以太网接口- l1 I4 M# F) \3 z7 M' T/ F 2.2.2 CAN总线接口7 B& W% X8 D0 U# W 2.2.3 RS485总线接口 2.2.4 其他总线接口 2.3 硬件设计要点: G3 T5 M) Y) M. r( v 2.3.1 电磁兼容问题 2.3.2 信号完整性1 | b) A$ q$ v/ n/ \& G 2.3.3 电源完整性 第3章 开发环境& l$ i- z7 W7 p5 A 3.1 开发环境及搭建 3.1.1 常见开发环境 3.1.2 IAR EWARM安装 3.1.3 RealView MDK安装. m! z9 N; M- l 3.2 相关开发工具9 @( v& _' L6 Q 3.3 创建工程. p/ l& B9 y+ q" n. `6 p 第4章 编程规范8 ]% P* I8 r/ a$ \6 w5 [. u 4.1 ST固件库编程规范 4.1.1 缩写 4.1.2 命名规则 4.1.3 编码规则 4.2 基于C语言的嵌入式编程规范( Y3 B( Y8 D: y) ~% L0 C+ a3 G 4.2.1 源代码的排版 4.2.2 源代码的注释& E, @0 r4 }+ Q6 G* ^ 4.2.3 标识符命名& W4 o3 S: p) ]4 c 4.2.4 代码可读性 4.2.5 变量、结构 4.2.6 函数、过程! | J6 m/ |8 \1 b 4.2.7 可测性 4.2.8 程序效率9 n# b& N# _, c0 i- |% c5 h m! X 4.2.9 质量保证1 T& E5 ^! E$ ?, D& C" [ Y 4.2.10 代码编辑、编译、审查+ }' D% p, i1 h) ^# c1 E 4.2.11 测试与维护* ]! l& o4 @2 p0 J) i 4.2.12 宏定义. V) f! t! ]! Y* n5 O 第5章 项目规划5 J0 [, t: Y1 L# z7 A" `* D2 M8 |5 B 5.1 概述8 K& R b/ `! o/ e; \' k0 G$ q' J 5.2 系统分析 5.3 系统设计+ L% g+ W, A# o8 q# m( V8 [ 5.4 系统制造 5.5 系统运用及反馈 5.6 开发团队 5.6.1 团队负责人 5.6.2 调研人员/ `2 ?* ~: q3 i 5.6.3 开发人员 第二篇 RTOS篇 w5 L1 B1 J2 q6 s& o# f 第6章 操作系统原理基础知识# z" ^! w9 V/ K) t 6.1 前后台模式应用程序 6.2 嵌入式操作系统, R E' J; w/ y& V, C% u 6.2.1 相关基本概念 6.2.2 系统调用 6.2.3 操作系统结构 6.2.4 进程与任务/ P5 ]$ J4 |1 ]0 c9 L 6.2.5 进程间的通信( t2 D) l1 `& t( E+ F 6.2.6 进程调度, z! J# L! B2 u4 s9 F) i3 Q. g9 a 6.2.7 存储管理+ M2 J% T2 M, u 第7章 FreeRTOS嵌入式操作系统4 M- d9 b: _( R3 e+ ~ 7.1 FreeRTOS特色 7.2 任务管理 7.2.1 任务函数 7.2.2 基本任务状态 7.2.3 任务创建! L3 J* [- h- B% U# u 7.2.4 任务的优先级4 J8 ?( k- E) J" P& u; J 7.2.5 非运行状态4 i( F- G& S& p! _1 t 7.2.6 空闲任务及回调函数 7.2.7 改变任务优先级" {6 q! K. {% ?8 _- E' I3 n 7.2.8 删除任务. H! |6 P% P/ K* \6 A; L4 T6 ` 7.2.9 调度算法概述 7.3 队列管理# m( G+ F: Q& R9 {4 F9 Y 7.3.1 概述: }2 e x6 ]. ~6 ~* ^! |9 u 7.3.2 使用队列( p) z. o" k1 [$ e 7.3.3 大型数据单元传输 7.4 中断管理 w8 c3 x8 ?5 l) C. [7 w 7.4.1 延迟中断处理 7.4.2 计数信号量- w5 `* h/ X3 J' c, S7 a 7.4.3 在中断服务例程中使用队列/ E: f& W, y& W6 C: T1 A- M 7.4.4 中断嵌套' e' |" K; [) m0 C2 E t8 Z9 A; E 7.5 资源管理 7.5.1 基本概念. h' U0 E9 w% ]5 C9 A9 }) u 7.5.2 临界区与挂起调度器 7.5.3 互斥量 7.5.4 互斥的另一种实现 7.6 内存管理1 z6 ^6 J/ s* Z7 L 7.6.1 概述% t" m3 d4 `4 i' p, w2 M9 k 7.6.2 内存分配方案范例3 M1 G' m* I7 m' _ 7.7 常见错误 7.7.1 概述0 ^# Y3 X" ~ R' ^" H) S 7.7.2 栈溢出! C" o4 X5 b9 f, W) P. Z4 n 7.7.3 其他常见错误 第8章 基于STM32F107的FreeRTOS移植 8.1 概述 8.2 FreeRTOS移植! v/ Y6 R I- W$ [8 s' } 8.2.1 portmacro.h头文件3 ~, ]/ b7 Y4 z6 I3 r/ q/ m 8.2.2 port.c源文件- T; b5 Z) d2 o5 D3 y( _ 8.2.3 portasm.s汇编源文件 8.2.4 其他问题 8.3 创建测试任务3 l$ [, h T# S9 o( p* | / H- Q1 R6 q, i3 a 第三篇 LwIP篇0 Y; A* J$ {0 t* ~& k. s. b X+ t 第9章 TCP/IP协议栈介绍6 w! z D7 [6 _6 U; d 9.1 引言 9.2 网络分层5 I, H+ H# ?: h; m, M$ |; e0 ` 9.2.1 OSI七层参考模型 9.2.2 TCP/IP分层" I o5 o$ X; ^# i 9.2.3 TCP/IP协议簇的协议 9.3 IP协议 9.4 ARP协议与RARP协议9 V) o \' b- W 9.5 ICMP( K! q! s* v* {+ ` 9.6 TCP协议 9.7 UDP协议$ C$ n* }% k# L; y { 9.8 FTP协议 第10章 LwIP轻量级TCP/IP协议栈 10.1 LwIP进程模型2 ]1 U# ?+ ` }* J 10.2 LwIP缓冲与内存管理 10.2.1 LwIP动态内存管理机制 10.2.2 LwIP的缓冲管理机制 10.3 LwIP网络接口 10.4 LwIP的ARP处理 10.5 LwIP的IP处理; ?5 e& c& P! y9 ^5 v7 f 10.6 LwIP的ICMP处理; W3 v2 A% w- A 10.7 LwIP的UDP处理% ~6 d' i: A K% R 10.8 LwIP的TCP处理 10.8.1 TCP处理流程概述' O. T. g3 X z 10.8.2 TCP控制块 10.8.3 LwIP的TCP滑动窗口 10.8.4 LwIP的TCP超时与重传8 V2 ] v" X3 y3 @! v0 ` 10.8.5 LwIP的TCP拥塞控制0 D. E# s Q6 a8 B 10.8.6 LwIP的TCP定时器 10.9 LwIP的应用程序接口简介 10.9.1 RAW API接口2 W8 I) M+ S% a& q' O 10.9.2 Sequential API接口- Z. F8 H/ s. _, Z4 w 第11章 基于STM32F107的LwIP移植 11.1 ethernetif.c文件的移植 11.1.1 ethernetif_init函数. y0 k% ~& o! V% K: G% ` 11.1.2 low_level_init函数8 K+ g0 F$ `! B, C" G" s 11.1.3 ethernetif_input函数 11.1.4 low_level_input函数$ K% R& K& A$ @$ L' @% y2 Q 11.1.5 low_level_output函数 11.2 网络驱动移植; Y7 Q, Q5 V9 c$ }% E$ {/ C2 @ 11.2.1 以太网控制器概述 11.2.2 以太网控制器硬件配置 11.2.3 以太网控制器硬件的引脚配置 11.2.4 以太网驱动之接收1 `8 N- A$ N; {8 n8 Y 11.2.5 以太网驱动之发送 11.2.6 其他注意事项 11.3 基于RAW API接口的HelloWorld例程: ?$ k1 a. |- K7 @. X; Z , j* E3 J: S. c4 a R 第四篇 移植篇 第12章 基于FreeRTOS的LwIP协议栈移植 12.1 概述$ i4 p& `# o- J" O# ~5 I 12.2 FreeRTOS下以太网驱动程序的移植$ r! w" \: [ G2 w1 n) i" m1 c 12.3 LwIP程序移植7 h6 y& T, m. W- H. s 12.3.1 以太网接口文件ethernetif.c的移植 12.3.2 操作系统模拟层文件sys_arch.c的移植 第13章 工业通信网关解析2 V/ \. b, R% c/ S/ ?' ?+ R2 Y 13.1 概述 13.2 编码实现 13.3 通信测试( T# n6 s2 ^8 E t5 h% f 附录A 开发板原理图/ w$ c5 c0 N$ B. q9 {3 ~ 附录B 专业术语 参考文献 当当网购买地址 亚马逊购买地址- K3 |5 _- `8 E8 r G 6 Q% Y5 u) V. J+ M1 d1 ]6 z |- t& g 京东 推荐理由:这书主要讲“FreeRTOS与LwIP联合移植”方面的东西,目前市场上讲freertos和lwip在stm32上应用的书我只找到这本,ucos的就多,但ucos商业收费,学这个的人可以参考一下。 , d h7 X( l2 ] 继续阅读# d! j, O" \$ X& v: T9 P 三十四本STM32图书分享集锦(推荐可获赠ST图书) |
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联