|
STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联合移植 作 者:李志明//檀永//徐石明//丁孝华//桑林7 v% G# ~! c' b 出 版 社:机械工业 出版时间:2010-05-01+ q) Z' { S, g( x; J3 L
内容推荐6 i" n0 ]9 m3 Z& O2 G, k 嵌入式实时操作系统可以将产品的应用开发和底层开发有效分层,这样在产品更新的过程中,仅仅需要更改底层接口。这样做不仅可以增强代码可读性,而且可以加快产品的开发周期。因此。掌握嵌入式实时操作系统和网络应用开发相关技术已经迫在眉睫。* W+ {0 c5 [% h& x# u 《STM32嵌入式系统开发实战指南》以业界最流行的微处理器STM32为平台,详细剖析了开源嵌入式实时操作系统FreeRTOS和TCP/IP开源协议栈LwIP的移植过程,为想要学习嵌入式系统开发的读者扫清了学习这两门关键技术的障碍。本书由李志明,檀永,徐石明,丁孝华,桑林编著。 目录 * O% `6 {, c4 g* q* Q 序言- t0 Y( A0 M$ Q0 K9 c 前言 第一篇 平台篇' |( N1 P5 X2 f' z1 h 第1章 ARM处理器简介 1.1 ARM内核处理器沿革3 k- @ y/ j) K% z# d* B 1.1.1 传统ARM处理器; t" F6 ]- {. D" J/ _' F" p 1.1.2 Cortex内核处理器( j! K" G$ o* F$ Z& H4 H7 W: k 1.2 Cortex内核系列处理器技术特点 1.2.1 ARM Cortex-M系列处理器6 P B" k3 V% H( [* Z 1.2.2 ARM Cortex-R系列处理器1 j* w" y$ b5 w. g' Q9 c 1.2.3 ARM Cortex-A系列处理器 1.3 STM32互联型嵌入式控制器- ]4 s( U9 V2 {, ^" A J, d 1.4 微控制器选型) d: [4 K1 @5 A4 D! P 1.4.1 选型因素 1.4.2 选型示例 第2章 基于STM32F107的开发板 2.1 STM32F107开发板 2.2 主要板载资源, D7 A) ]# C! E3 |" @ 2.2.1 10/100M以太网接口 2.2.2 CAN总线接口/ s* n" {9 C) B2 P7 Z( S7 Q 2.2.3 RS485总线接口 2.2.4 其他总线接口 2.3 硬件设计要点 2.3.1 电磁兼容问题 2.3.2 信号完整性9 a# _/ v+ {4 a& {' Z 2.3.3 电源完整性2 t( T" x; v* w' p1 K 第3章 开发环境1 M) R c. l" g 3.1 开发环境及搭建 3.1.1 常见开发环境 3.1.2 IAR EWARM安装: U, \7 c7 s- G7 ]6 A1 r8 j 3.1.3 RealView MDK安装2 e" s6 R8 a! O1 f: |4 R+ u9 q 3.2 相关开发工具+ W/ u. |. V" L& ~1 V; P 3.3 创建工程8 D ~$ A6 C" A, R2 v9 K Y1 R 第4章 编程规范 4.1 ST固件库编程规范 4.1.1 缩写& y3 o2 m6 `" A 4.1.2 命名规则 4.1.3 编码规则1 k5 z1 R8 Y8 n$ _$ c1 w2 a 4.2 基于C语言的嵌入式编程规范 4.2.1 源代码的排版) C/ g; W5 R; [! P% y7 t 4.2.2 源代码的注释 4.2.3 标识符命名 4.2.4 代码可读性1 o2 Z& f4 u; A5 s. I6 A% }, U 4.2.5 变量、结构. I- w. n- T; W+ N$ A2 @1 W8 s/ x 4.2.6 函数、过程 ^4 v% f# ^6 _# [! z C 4.2.7 可测性9 F ?/ `& L( v4 ?+ Q) g M 4.2.8 程序效率 4.2.9 质量保证 4.2.10 代码编辑、编译、审查 4.2.11 测试与维护 4.2.12 宏定义 第5章 项目规划# u8 x/ c6 R0 W& x 5.1 概述$ i; s6 ^% k3 l) ? 5.2 系统分析, c4 ?8 l* g' @ 5.3 系统设计7 Q" j0 A" k* N- x 5.4 系统制造' Z& c; W5 U ~' m1 P5 W7 p& N 5.5 系统运用及反馈2 }; k( N, ^0 A" z) X: e 5.6 开发团队 5.6.1 团队负责人 5.6.2 调研人员( e1 s. R$ s4 g: A& r% p 5.6.3 开发人员. v( F0 l7 P* A/ n9 D # T' L4 S( r3 [, L0 K+ z 第二篇 RTOS篇 第6章 操作系统原理基础知识. R- Y( H1 ?7 D) @* L3 f! | 6.1 前后台模式应用程序' a' J4 \: x# G8 L) |2 @ 6.2 嵌入式操作系统! |/ _4 p ]' ?) m1 ~2 | 6.2.1 相关基本概念. d& \' d$ V6 E 6.2.2 系统调用 6.2.3 操作系统结构 6.2.4 进程与任务 6.2.5 进程间的通信9 E" w# D! l [& o 6.2.6 进程调度. x; T# c+ ~) O& a 6.2.7 存储管理 第7章 FreeRTOS嵌入式操作系统 7.1 FreeRTOS特色 7.2 任务管理 7.2.1 任务函数/ \7 B4 {1 x, l" T# ] 7.2.2 基本任务状态6 l& y% @ f q. q, q2 ^+ l 7.2.3 任务创建 7.2.4 任务的优先级 7.2.5 非运行状态 7.2.6 空闲任务及回调函数 7.2.7 改变任务优先级1 l8 f0 p- o+ A6 U; d 7.2.8 删除任务 C8 V6 J" x' M" N5 k* X* X. \) V 7.2.9 调度算法概述+ o6 l6 n2 _$ u0 J' M' v 7.3 队列管理6 U. a4 N+ _* m 7.3.1 概述 7.3.2 使用队列0 B& _8 a" a6 ^) E2 i+ {$ O9 I 7.3.3 大型数据单元传输/ J: ]9 ]2 C2 ?$ T6 I7 U 7.4 中断管理5 T- l' R3 Y! N0 v6 W 7.4.1 延迟中断处理 B3 E3 d7 W8 |: ?& h' S 7.4.2 计数信号量: a; g! H8 w# `- W, _ 7.4.3 在中断服务例程中使用队列 7.4.4 中断嵌套 7.5 资源管理' m. f1 w, A. ^/ q5 N 7.5.1 基本概念 7.5.2 临界区与挂起调度器 7.5.3 互斥量8 T- I) ^7 _! _ 7.5.4 互斥的另一种实现 7.6 内存管理% z# k/ J" @! I: s 7.6.1 概述 7.6.2 内存分配方案范例 7.7 常见错误' }6 ~5 b$ k5 S3 F- l; c! [9 h 7.7.1 概述 7.7.2 栈溢出 7.7.3 其他常见错误; h4 C d2 ^( |2 { [( |$ d 第8章 基于STM32F107的FreeRTOS移植 8.1 概述# \0 A) E+ p. Z; M0 v0 |1 z 8.2 FreeRTOS移植 8.2.1 portmacro.h头文件 8.2.2 port.c源文件 8.2.3 portasm.s汇编源文件 N) ^- ^7 Q i2 ^ 8.2.4 其他问题 8.3 创建测试任务 第三篇 LwIP篇& B% f# C1 e% K, M6 j0 H 第9章 TCP/IP协议栈介绍 9.1 引言 9.2 网络分层 9.2.1 OSI七层参考模型# F8 s/ O9 c9 o* w s( c 9.2.2 TCP/IP分层 9.2.3 TCP/IP协议簇的协议* `/ J1 T* e: R8 R4 n1 {4 y 9.3 IP协议 9.4 ARP协议与RARP协议 9.5 ICMP3 g, i4 S, t5 t 9.6 TCP协议9 }8 b+ e; ^8 P9 M 9.7 UDP协议( x- V, H s6 U0 y 9.8 FTP协议 E: ?; z7 E/ L/ d" g$ q' H* M, @ 第10章 LwIP轻量级TCP/IP协议栈 10.1 LwIP进程模型 10.2 LwIP缓冲与内存管理& m' r" b G2 s3 g2 w 10.2.1 LwIP动态内存管理机制 10.2.2 LwIP的缓冲管理机制" S5 l ^( x6 F1 r, V 10.3 LwIP网络接口 10.4 LwIP的ARP处理& C9 x/ U; q; ~ 10.5 LwIP的IP处理0 Q5 o3 Q$ D' i 10.6 LwIP的ICMP处理 10.7 LwIP的UDP处理 10.8 LwIP的TCP处理 10.8.1 TCP处理流程概述 10.8.2 TCP控制块4 ]6 K- |/ C2 y6 T& M 10.8.3 LwIP的TCP滑动窗口 10.8.4 LwIP的TCP超时与重传& S( C D. s$ S! X4 z 10.8.5 LwIP的TCP拥塞控制- \) r. t* I0 C- U- x 10.8.6 LwIP的TCP定时器8 v# C- I4 S, H% j' T9 E 10.9 LwIP的应用程序接口简介$ G* }7 n n4 [& H7 O 10.9.1 RAW API接口5 g& o \- ~2 P% W+ [4 A. d: ? 10.9.2 Sequential API接口 第11章 基于STM32F107的LwIP移植0 ], B" T3 S+ [5 b 11.1 ethernetif.c文件的移植 11.1.1 ethernetif_init函数) ~. Z1 h( G% E2 | 11.1.2 low_level_init函数2 _ N# I8 u. ?5 c4 ^) I( ~ 11.1.3 ethernetif_input函数 11.1.4 low_level_input函数! M$ V6 ?3 d: d* P* C- p+ G& N8 F 11.1.5 low_level_output函数! `- D* p. K( v3 }$ ` l/ x, H 11.2 网络驱动移植& O% V; p$ D3 [5 u# c 11.2.1 以太网控制器概述: m' ?' q( K! F! v! A 11.2.2 以太网控制器硬件配置 11.2.3 以太网控制器硬件的引脚配置" v: h8 d$ f: }' I 11.2.4 以太网驱动之接收 11.2.5 以太网驱动之发送: s) W, G3 C4 p. R+ v3 T3 i0 C4 P 11.2.6 其他注意事项 11.3 基于RAW API接口的HelloWorld例程& g" e- Y4 h$ N% _ : S/ [5 L* {; G( s" h0 e 第四篇 移植篇 第12章 基于FreeRTOS的LwIP协议栈移植! o' S$ ?! ~+ f% y2 v# `$ I 12.1 概述1 k' E" w2 ~/ W1 g8 F 12.2 FreeRTOS下以太网驱动程序的移植 12.3 LwIP程序移植4 P& D+ z9 g1 ?- H L2 J 12.3.1 以太网接口文件ethernetif.c的移植 12.3.2 操作系统模拟层文件sys_arch.c的移植 第13章 工业通信网关解析% b4 i U+ j8 \; m2 y' y8 H 13.1 概述 13.2 编码实现 13.3 通信测试% S; s8 [& X& [. ]+ J7 [2 A 附录A 开发板原理图 附录B 专业术语 M: G/ _( m, s0 t 参考文献% Q$ k# m( x5 x d" ?: D 当当网购买地址! c9 z4 {+ q0 d" X6 E) G+ `8 S % z$ ^4 i9 i2 ~ 亚马逊购买地址 + z. T @9 n; b% _) H8 o: w 京东 # s" J" Z' e% T0 l8 p 推荐理由:这书主要讲“FreeRTOS与LwIP联合移植”方面的东西,目前市场上讲freertos和lwip在stm32上应用的书我只找到这本,ucos的就多,但ucos商业收费,学这个的人可以参考一下。 继续阅读; h6 A! S8 E) D5 U 三十四本STM32图书分享集锦(推荐可获赠ST图书) |
微信公众号
手机版
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联
RE:【STM32图书分享三十二】—《STM32嵌入式系统开发实战指南附光盘FreeRTOS与LwIP联