STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联合移植 作 者:李志明//檀永//徐石明//丁孝华//桑林" j% K' X! b- {, ] 出 版 社:机械工业; ? u0 d) |% F 出版时间:2010-05-01: L) O* ~8 r% Z 内容推荐 嵌入式实时操作系统可以将产品的应用开发和底层开发有效分层,这样在产品更新的过程中,仅仅需要更改底层接口。这样做不仅可以增强代码可读性,而且可以加快产品的开发周期。因此。掌握嵌入式实时操作系统和网络应用开发相关技术已经迫在眉睫。 《STM32嵌入式系统开发实战指南》以业界最流行的微处理器STM32为平台,详细剖析了开源嵌入式实时操作系统FreeRTOS和TCP/IP开源协议栈LwIP的移植过程,为想要学习嵌入式系统开发的读者扫清了学习这两门关键技术的障碍。本书由李志明,檀永,徐石明,丁孝华,桑林编著。 目录: r* G8 Z+ ~7 b 序言/ x; u! s: h( @% u1 c 前言- W+ w+ N5 n' w0 b3 R 第一篇 平台篇 第1章 ARM处理器简介 1.1 ARM内核处理器沿革 1.1.1 传统ARM处理器; A! P7 M6 K1 T6 T6 ]* X 1.1.2 Cortex内核处理器- q2 S: e. o7 g$ J- l5 x% ? 1.2 Cortex内核系列处理器技术特点& p) E% {+ d* |+ a" H0 z0 p+ M7 ^, o 1.2.1 ARM Cortex-M系列处理器+ C6 u$ C7 _- x 1.2.2 ARM Cortex-R系列处理器 1.2.3 ARM Cortex-A系列处理器 1.3 STM32互联型嵌入式控制器* A% Q/ w( q( _7 Z3 T: R5 i. P 1.4 微控制器选型 1.4.1 选型因素 1.4.2 选型示例 第2章 基于STM32F107的开发板 2.1 STM32F107开发板 2.2 主要板载资源 2.2.1 10/100M以太网接口2 X1 }5 @* u) d 2.2.2 CAN总线接口$ b* a3 x! i7 `7 J& j 2.2.3 RS485总线接口# k6 a% B. a; T; i6 H/ O 2.2.4 其他总线接口4 y% \* N# Q: B) N 2.3 硬件设计要点0 f- q0 |: y+ X7 b G, R+ p 2.3.1 电磁兼容问题 2.3.2 信号完整性 2.3.3 电源完整性 第3章 开发环境 3.1 开发环境及搭建 3.1.1 常见开发环境9 [6 ~% S' J }$ S4 a 3.1.2 IAR EWARM安装: Z+ M6 \, B1 j( J0 v5 i4 O7 d 3.1.3 RealView MDK安装$ W6 Q% N0 n, {! n' R 3.2 相关开发工具* R' x* x/ @; F! I 3.3 创建工程 第4章 编程规范 4.1 ST固件库编程规范 4.1.1 缩写 4.1.2 命名规则 m8 R% R$ R8 t, f0 i 4.1.3 编码规则& b0 |+ P |! e) {7 {9 O' |- @ 4.2 基于C语言的嵌入式编程规范% `. R, b( H& H 4.2.1 源代码的排版 4.2.2 源代码的注释1 J- Y9 h% v! k, n: E 4.2.3 标识符命名 4.2.4 代码可读性 4.2.5 变量、结构 4.2.6 函数、过程/ v2 d* U" N% V$ m# M$ b 4.2.7 可测性 4.2.8 程序效率1 V0 b, i# c2 o5 T0 S* ?$ u: ~, ~ 4.2.9 质量保证7 w! U8 `2 @' n% |1 ^ 4.2.10 代码编辑、编译、审查5 v9 D0 t8 b9 o4 r2 x7 n 4.2.11 测试与维护 4.2.12 宏定义 第5章 项目规划0 [+ B8 t$ ~% t8 V4 Q( n 5.1 概述 5.2 系统分析2 ]9 }0 a) R; \5 ~/ O 5.3 系统设计 5.4 系统制造4 \2 z4 x3 \) @ 5.5 系统运用及反馈 5.6 开发团队 5.6.1 团队负责人$ S! N, R7 b s 5.6.2 调研人员 N9 }1 R/ n+ K9 e$ T/ Y; d# E 5.6.3 开发人员 7 _" r) g4 _/ Q) p& {' v2 ]4 W 第二篇 RTOS篇 第6章 操作系统原理基础知识- o0 j8 F9 @. {6 ?4 i' V 6.1 前后台模式应用程序 6.2 嵌入式操作系统! {" F: I' N( f+ a" n 6.2.1 相关基本概念 6.2.2 系统调用 6.2.3 操作系统结构 6.2.4 进程与任务8 i+ p$ R. ?) Q 6.2.5 进程间的通信+ c( @( e8 M8 H8 T, E+ l 6.2.6 进程调度 6.2.7 存储管理7 z% ?) S& Q* W N# h$ \ 第7章 FreeRTOS嵌入式操作系统 7.1 FreeRTOS特色; r& a1 W1 E/ C& W; T( P5 b7 I" [ 7.2 任务管理9 l& V0 d! b8 E8 B4 w9 Z: C 7.2.1 任务函数4 K/ v0 J' a; J1 F$ R 7.2.2 基本任务状态0 A- e W- w* Q/ f0 J, `1 g 7.2.3 任务创建 7.2.4 任务的优先级7 J& a6 T: {$ s6 i$ E! `; d5 } 7.2.5 非运行状态 7.2.6 空闲任务及回调函数* Y& ^% q8 C. N: y6 A) W 7.2.7 改变任务优先级 7.2.8 删除任务 7.2.9 调度算法概述 7.3 队列管理9 Y$ d* {' M0 c9 { 7.3.1 概述 7.3.2 使用队列( T# B) t( O5 ]2 @- o 7.3.3 大型数据单元传输* G# j% u, u3 V* c- f# H: a4 F 7.4 中断管理 7.4.1 延迟中断处理" t& ^$ X+ V& P) \ 7.4.2 计数信号量8 k6 ~$ @) C- m6 o# U3 ~- R 7.4.3 在中断服务例程中使用队列: ~; o( B" [5 @0 e 7.4.4 中断嵌套 7.5 资源管理5 A/ g2 {$ ^ S4 E 7.5.1 基本概念2 Y3 V9 T# Q! U* E$ W+ B 7.5.2 临界区与挂起调度器 7.5.3 互斥量 7.5.4 互斥的另一种实现 7.6 内存管理/ f4 u6 V1 A! v3 o$ } 7.6.1 概述, _; z% ^+ y0 G' W' Q 7.6.2 内存分配方案范例 7.7 常见错误 7.7.1 概述+ S6 O# G# Q6 ^' w+ D. `4 C 7.7.2 栈溢出8 q4 D# z' r& T' I0 P) s 7.7.3 其他常见错误' v' j, M; j0 j; I. x 第8章 基于STM32F107的FreeRTOS移植 8.1 概述 8.2 FreeRTOS移植# R$ H" K0 f K" p3 L" x! E. ^: Y 8.2.1 portmacro.h头文件& q4 D+ s% |8 d* O 8.2.2 port.c源文件. U7 V O. H* c3 V$ B+ `, N7 e9 Z$ K 8.2.3 portasm.s汇编源文件! E" k. ?2 |9 J. T5 x* V 8.2.4 其他问题 8.3 创建测试任务$ @! B) N4 T8 c, z) R( b 3 H( |- }! @6 v$ W/ J 第三篇 LwIP篇 第9章 TCP/IP协议栈介绍 9.1 引言 9.2 网络分层; x4 [; C' [8 L9 @8 D/ D# { 9.2.1 OSI七层参考模型9 j9 b- Y& q5 O& `! u9 e+ x K+ W# Y 9.2.2 TCP/IP分层 9.2.3 TCP/IP协议簇的协议 9.3 IP协议 9.4 ARP协议与RARP协议! k8 E3 r! W! m' f6 B3 J 9.5 ICMP 9.6 TCP协议% p9 O/ G9 z: z 9.7 UDP协议 {/ E. }! w7 h2 J( q: e) @ 9.8 FTP协议4 j% x' d. R8 x. h 第10章 LwIP轻量级TCP/IP协议栈5 I6 C, V- \1 Y0 q8 ? 10.1 LwIP进程模型# l* T$ f7 ]7 |8 y. z 10.2 LwIP缓冲与内存管理 10.2.1 LwIP动态内存管理机制# T3 I! `8 r& Y2 {' E 10.2.2 LwIP的缓冲管理机制 10.3 LwIP网络接口 10.4 LwIP的ARP处理 10.5 LwIP的IP处理' M! Z5 l; D! w c 10.6 LwIP的ICMP处理 10.7 LwIP的UDP处理: H/ D/ ^2 y4 X2 M 10.8 LwIP的TCP处理6 O! U$ R5 y: k- ~! N 10.8.1 TCP处理流程概述* d* \! O# o& F% u* I! c 10.8.2 TCP控制块/ {5 ?9 {/ o J! P 10.8.3 LwIP的TCP滑动窗口 10.8.4 LwIP的TCP超时与重传 10.8.5 LwIP的TCP拥塞控制 10.8.6 LwIP的TCP定时器 10.9 LwIP的应用程序接口简介5 N: |) r; ]0 Y1 s+ o1 s 10.9.1 RAW API接口 10.9.2 Sequential API接口; w: `% {! y# k% R9 W. r 第11章 基于STM32F107的LwIP移植 11.1 ethernetif.c文件的移植/ [+ s2 ?: [% v* ~/ y 11.1.1 ethernetif_init函数# h5 y$ h9 n" x 11.1.2 low_level_init函数+ C, G. B, }2 P/ x 11.1.3 ethernetif_input函数. F" G' M0 |0 g/ r! k/ h 11.1.4 low_level_input函数 11.1.5 low_level_output函数+ `2 z" h. M/ L 11.2 网络驱动移植 11.2.1 以太网控制器概述 11.2.2 以太网控制器硬件配置) a& n5 C5 d% n5 u% D) [* b 11.2.3 以太网控制器硬件的引脚配置 11.2.4 以太网驱动之接收/ r4 Z+ N; S( t t$ |2 O$ T 11.2.5 以太网驱动之发送9 y2 s' o" g |( e 11.2.6 其他注意事项( ]* q g& d. B8 `& @8 K 11.3 基于RAW API接口的HelloWorld例程 第四篇 移植篇, x% N4 R( r& F+ L% M' F 第12章 基于FreeRTOS的LwIP协议栈移植 12.1 概述 12.2 FreeRTOS下以太网驱动程序的移植 12.3 LwIP程序移植 f' V8 [# @5 G7 x+ H9 \/ E 12.3.1 以太网接口文件ethernetif.c的移植 12.3.2 操作系统模拟层文件sys_arch.c的移植# B* K9 [- {0 w5 \7 }- i1 g8 C 第13章 工业通信网关解析3 Y0 l* @0 ~0 E) k. d6 Z1 e6 }0 t 13.1 概述+ F% r; F2 Q: e0 m- T/ k, \ 13.2 编码实现 13.3 通信测试 附录A 开发板原理图 附录B 专业术语% f, m) c2 J: t0 j 参考文献 4 }; _8 q8 G }2 O, Q7 y 当当网购买地址 亚马逊购买地址 京东 4 W, g7 f( p/ U1 t: v! Q 推荐理由:这书主要讲“FreeRTOS与LwIP联合移植”方面的东西,目前市场上讲freertos和lwip在stm32上应用的书我只找到这本,ucos的就多,但ucos商业收费,学这个的人可以参考一下。 继续阅读1 @6 B7 G8 E! J4 i1 S8 F; ]' Q 三十四本STM32图书分享集锦(推荐可获赠ST图书) |
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联