STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联合移植! f, v u9 r2 B' Y9 ~9 n 作 者:李志明//檀永//徐石明//丁孝华//桑林 出 版 社:机械工业! m' W/ G! Q& q% D- _- h 出版时间:2010-05-018 Q$ L; `5 J' f- }& Q 内容推荐 嵌入式实时操作系统可以将产品的应用开发和底层开发有效分层,这样在产品更新的过程中,仅仅需要更改底层接口。这样做不仅可以增强代码可读性,而且可以加快产品的开发周期。因此。掌握嵌入式实时操作系统和网络应用开发相关技术已经迫在眉睫。5 k4 j) F {) G 《STM32嵌入式系统开发实战指南》以业界最流行的微处理器STM32为平台,详细剖析了开源嵌入式实时操作系统FreeRTOS和TCP/IP开源协议栈LwIP的移植过程,为想要学习嵌入式系统开发的读者扫清了学习这两门关键技术的障碍。本书由李志明,檀永,徐石明,丁孝华,桑林编著。# `+ A4 q3 X1 z, d 目录0 v% P5 M8 o P9 ` ' S L' |! k2 b% {) A 序言 前言# n2 f: @' k$ m0 \/ B 第一篇 平台篇1 U7 G( P! E- c% q 第1章 ARM处理器简介# `8 C* f9 d" \+ n$ e- s/ H% E 1.1 ARM内核处理器沿革 1.1.1 传统ARM处理器0 j5 d4 |& K1 X2 d. ~1 k s 1.1.2 Cortex内核处理器 1.2 Cortex内核系列处理器技术特点; B, k4 ^) u# W 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 选型示例4 i4 d" ?3 b" B6 {. ^, L v 第2章 基于STM32F107的开发板 2.1 STM32F107开发板: }& p1 f: ~" u( Z4 x 2.2 主要板载资源) \ h$ F* u% i 2.2.1 10/100M以太网接口 2.2.2 CAN总线接口 2.2.3 RS485总线接口 2.2.4 其他总线接口7 C3 G( Z$ n- L$ m' X 2.3 硬件设计要点 2.3.1 电磁兼容问题 2.3.2 信号完整性$ O- C9 Y) o) v9 J: ~/ j5 N# P 2.3.3 电源完整性/ s6 R' H; o/ w4 O 第3章 开发环境5 _5 h" d7 B0 D& `. V- v) s8 }/ H 3.1 开发环境及搭建 3.1.1 常见开发环境 3.1.2 IAR EWARM安装1 q$ \: U' S l" Y 3.1.3 RealView MDK安装 3.2 相关开发工具4 A; Y3 h) r( q, w. x: H: J! @ 3.3 创建工程3 Z% p$ K* o( n, l: J. [) _: `3 f; ` 第4章 编程规范+ p7 Z0 x0 p7 @& L. M( c 4.1 ST固件库编程规范% L' l/ D9 P F4 g" I5 P* W 4.1.1 缩写8 ^: S8 e9 p8 I0 Q% i 4.1.2 命名规则 4.1.3 编码规则) v4 K; ^; J1 z3 w 4.2 基于C语言的嵌入式编程规范/ A. ] F& r3 O% Y 4.2.1 源代码的排版 4.2.2 源代码的注释5 U# A4 Q- r$ @4 Z+ W% {2 _7 c 4.2.3 标识符命名 4.2.4 代码可读性0 z H1 Q$ m+ O 4.2.5 变量、结构( B7 q! e" r6 e/ e" `5 ^+ R 4.2.6 函数、过程3 C! s) K/ W/ o* q+ U 4.2.7 可测性 4.2.8 程序效率4 T7 U& G5 ]* G" ^5 x" ^4 B 4.2.9 质量保证9 c8 ?% l) e0 ?! C5 a6 r 4.2.10 代码编辑、编译、审查 4.2.11 测试与维护( f& P% q* ~& e 4.2.12 宏定义 第5章 项目规划 5.1 概述 5.2 系统分析 5.3 系统设计 5.4 系统制造 5.5 系统运用及反馈 X. ?/ M' h2 m' y 5.6 开发团队 5.6.1 团队负责人 5.6.2 调研人员 5.6.3 开发人员) u$ w' d$ r6 `& n! I! s " i: ~6 r3 O% O 第二篇 RTOS篇' g% o1 \9 R" s7 V 第6章 操作系统原理基础知识0 S6 q3 q4 j4 I7 e. P 6.1 前后台模式应用程序3 A$ K# l# J' Y 6.2 嵌入式操作系统 6.2.1 相关基本概念 6.2.2 系统调用 6.2.3 操作系统结构 6.2.4 进程与任务 6.2.5 进程间的通信 6.2.6 进程调度0 l! D/ Z3 J& k) {0 P 6.2.7 存储管理 第7章 FreeRTOS嵌入式操作系统 7.1 FreeRTOS特色 7.2 任务管理8 E8 q* l+ `/ L1 e9 H 7.2.1 任务函数4 N+ S$ L# Y6 S+ ~0 Y$ P 7.2.2 基本任务状态 7.2.3 任务创建" Y- s% m3 ?6 o+ F8 ?' @6 ^ 7.2.4 任务的优先级 7.2.5 非运行状态 7.2.6 空闲任务及回调函数 7.2.7 改变任务优先级 7.2.8 删除任务; J5 J# S/ `# W+ Y 7.2.9 调度算法概述! O. b0 c2 Q. ^' K( R, M 7.3 队列管理 7.3.1 概述, m# F1 S$ O0 S q! X5 ?% J 7.3.2 使用队列 7.3.3 大型数据单元传输 7.4 中断管理 ?2 Z1 u- z9 z2 s 7.4.1 延迟中断处理3 x- f; E( O# {) ]* N; ?/ b# r 7.4.2 计数信号量( n% P$ D7 b t. @! P 7.4.3 在中断服务例程中使用队列 7.4.4 中断嵌套$ P2 W& c# b! s 7.5 资源管理 7.5.1 基本概念 7.5.2 临界区与挂起调度器 7.5.3 互斥量( B% i4 Y; P" W' e 7.5.4 互斥的另一种实现; c$ j. ]2 ~: G; S0 w 7.6 内存管理 7.6.1 概述 7.6.2 内存分配方案范例$ M, s9 W7 d6 L* D" ^ 7.7 常见错误 7.7.1 概述$ C6 j0 I1 q% b5 o. t4 Q$ e$ Z 7.7.2 栈溢出* G# O, G" O4 ~- D6 Z t* O 7.7.3 其他常见错误 第8章 基于STM32F107的FreeRTOS移植. y/ E4 Z8 R; r* J2 H 8.1 概述/ U4 ~; _" u( T' b# R9 S# m3 ? 8.2 FreeRTOS移植 8.2.1 portmacro.h头文件9 C5 x. Y4 ~- r* n5 X 8.2.2 port.c源文件. s6 Z! K; Z! C) ?* V6 M2 } 8.2.3 portasm.s汇编源文件 8.2.4 其他问题1 }1 J1 {7 g3 r' \ 8.3 创建测试任务 ) t& W ?7 o! \ H3 E 第三篇 LwIP篇 第9章 TCP/IP协议栈介绍 9.1 引言; C( u# ^9 O, @ 9.2 网络分层+ N7 g) \$ ^, }+ L' |' T! N 9.2.1 OSI七层参考模型 9.2.2 TCP/IP分层 9.2.3 TCP/IP协议簇的协议8 x. @' @: F6 D1 s+ R0 E2 r* a4 c 9.3 IP协议7 L' h" l9 v( t6 [+ X 9.4 ARP协议与RARP协议- O& V+ I% x3 I1 d9 c% `. R! K: T4 P 9.5 ICMP k% u3 l0 Q# b1 [9 {8 k 9.6 TCP协议 9.7 UDP协议 9.8 FTP协议 第10章 LwIP轻量级TCP/IP协议栈; k7 U2 k* g- P6 i 10.1 LwIP进程模型 10.2 LwIP缓冲与内存管理 10.2.1 LwIP动态内存管理机制) }9 I& z, V0 y* w' k 10.2.2 LwIP的缓冲管理机制 10.3 LwIP网络接口 10.4 LwIP的ARP处理) Y$ O1 v' g" T3 w' U' H 10.5 LwIP的IP处理 10.6 LwIP的ICMP处理! L2 ~/ l3 u" `5 r$ u& {6 ` 10.7 LwIP的UDP处理 10.8 LwIP的TCP处理 10.8.1 TCP处理流程概述 10.8.2 TCP控制块 10.8.3 LwIP的TCP滑动窗口. `7 k% {7 H2 M6 d9 m: U; f 10.8.4 LwIP的TCP超时与重传- F/ E: k4 `& O- Y! p$ T 10.8.5 LwIP的TCP拥塞控制/ E$ Y# s# n+ |9 v1 } 10.8.6 LwIP的TCP定时器 10.9 LwIP的应用程序接口简介6 O& _6 Z; ?+ i9 S7 }( y& r7 c' L 10.9.1 RAW API接口7 B, Z7 F7 x5 g8 G$ H; i 10.9.2 Sequential API接口 第11章 基于STM32F107的LwIP移植0 t7 }$ Q* s3 f8 n6 l# n) b 11.1 ethernetif.c文件的移植 11.1.1 ethernetif_init函数& A1 P' {, p# W0 Q" t+ q 11.1.2 low_level_init函数% j1 n2 \# v' w- ^4 ?4 ^' j, [ 11.1.3 ethernetif_input函数3 e0 m; e, A- A 11.1.4 low_level_input函数8 z8 F' }. [, r) n/ p5 u( ^ 11.1.5 low_level_output函数 11.2 网络驱动移植$ v8 a+ i; o% R$ K5 W 11.2.1 以太网控制器概述 11.2.2 以太网控制器硬件配置, I5 w% c: @6 } A* C 11.2.3 以太网控制器硬件的引脚配置, D( x' q' ~1 y/ J4 { 11.2.4 以太网驱动之接收# c# p6 K* _' K 11.2.5 以太网驱动之发送( k# y7 {. d$ j0 O 11.2.6 其他注意事项# K6 b1 k" M% ~ S 11.3 基于RAW API接口的HelloWorld例程/ Q& q* }9 I, J4 E$ e- S; E # ?6 E' d0 J) X, J0 I 第四篇 移植篇1 k8 E7 U+ f2 J, L 第12章 基于FreeRTOS的LwIP协议栈移植1 h1 l) j+ O& o4 H# d# \- T) e 12.1 概述 12.2 FreeRTOS下以太网驱动程序的移植0 Y; o- u: V1 c4 x E 12.3 LwIP程序移植 12.3.1 以太网接口文件ethernetif.c的移植 12.3.2 操作系统模拟层文件sys_arch.c的移植; t/ _8 C5 l3 `% ]. m) D 第13章 工业通信网关解析 13.1 概述: i( d, f* M4 U4 Z+ F$ y* e% W# s8 K 13.2 编码实现3 C) l T5 ?7 e! M0 Y 13.3 通信测试- B H% c. E8 q 附录A 开发板原理图: c$ |$ X# k5 }* V$ R$ S 附录B 专业术语 参考文献 当当网购买地址 5 C* q0 R* Y: o& K: | 亚马逊购买地址( T+ f7 Z" R& g3 ~ 京东$ ?5 L* f) o0 G+ f, i( ^0 ?$ T - c* K4 ~6 v# Z3 c 推荐理由:这书主要讲“FreeRTOS与LwIP联合移植”方面的东西,目前市场上讲freertos和lwip在stm32上应用的书我只找到这本,ucos的就多,但ucos商业收费,学这个的人可以参考一下。 2 j: O8 \8 z: F; ~1 u5 H' A 继续阅读' F% C+ Z) I- F* B* t, }- o 三十四本STM32图书分享集锦(推荐可获赠ST图书) |
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联