嵌入式系统固件揭秘

嵌入式系统固件揭秘
作 者: Ed Sutter 张晓林 张晓林
出版社: 电子工业出版社
丛编项: 单片机与嵌入式系统丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 嵌入式计算机
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《嵌入式系统固件揭秘》作者简介

内容简介

本书通过一个完整的嵌入式系统设计全过程,向读者展示嵌入式系统的基本框架,以及设计、编程、调试等技术细节。书中详细讲述了嵌入式系统中的存储器、微处理器与微控制器、数据总线与地址总线等基本概念,以及在设计中要考虑的要素。另外还给出了关键程序的源代码,使读者通过本书学会如何看懂嵌入式系统的原理图,了解系统是如何工作的,掌握嵌入式系统开发平台的主要固件。本书适于从事嵌入式系统研发的技术人员以及高校相关专业的师生阅读。前言嵌入式系统是嵌入到其他产品内部的计算机。奇怪的是,虽然人们知道许多关于编程和计算机的知识,但却在神秘的嵌入式系统世界中感到迷惑。在嵌入式系统编程世界中,大量的细节(包括硬件和软件)使开发过程像是在探险,甚至感到“难于”生存下来。软件、硬件、固件到底有何区别?怎样将10万条程序嵌入到比指甲还小的器件中?什么是闪存?为什么需要高速缓存(cache)?任务和进程之间有什么区别?要不要考虑可重入性?在阅读这本《嵌入式系统固件揭秘》的过程中,读者将逐步了解这些问题,不再像起初那样感到迷惑。嵌入式系统编程覆盖了从最具体的底层编程到最抽象的高层UNIX编程的各个方面。它引起了近20年来工业界爆发的革命性变化。在20世纪70年代后期,汇编程序已被认为是够丰富多采了。一般的嵌入式系统可以使用小于64Kb(位,不是字节)的系统内存。没有什么硬件要留给固件开发者去处理。一般由同一个人完成画图、焊接样品、写固件,把所有的事拉拢到一起。当Intel公司引入8085芯片时,很明显那些复杂的微处理器还停留在这个水平上。在20世纪80年代,Motorola与Intel展开了CPU大战,C语言成为了少数敢于用高级语言编程并烧制EPROM的人普遍采用的编程语言。今天,微处理器随处可见,范围从在工业界占主导地位的4位和8位微处理器家族到1GHz的几乎需要冷却设备(当然也是由微处理器控制的)冷却的64位微处理器。多年来,这些系统的复杂度像滚雪球式的增大。工业界已经从在前台用二进制代码对DECPDP机器编程发展到给烤面包机的微控制器提供面向对象的设计。系统的发展速度非常迅猛,已有的微处理器、微控制器、RAM、DRAM、SDRAM、管道、超标量体系结构、EPROM、闪存、RISC和CISC、RAS、CAS及高速缓存等,也仅仅是一个开始。现在,从牙刷(不是开玩笑,是事实)到喷气式战斗机都由某种微处理器控制着。这种趋势自然产生许多工具和技术。这...

图书目录

第1章 艰难的开始

1.1 系统要求

1.2 中央处理器

1.3 系统存储器

1.4 CPU监控

1.5 串口驱动器

1.6 以太网接口

1.7 闪存设备的选择

1.8 CPU/存储器接口

1.9 小结

第2章 开始动手

2.1 在PC上的实现

2.2 建立库

2.3 准备活动

2.4 运行时间

2.5 为固件开发进行全面的硬件测试

2.6 小结

第3章 微型监控器

3.1 一个嵌入式系统启动平台

3.2 小结

第4章 所需的汇编语言

4.1 复位之后

4.2 I/O初始化

4.3 建立异常处理

4.4 小结

第5章 命令行接口

5.1 命令行接口的特点

5.2 命令行接口的数据结构和命令列表

5.3 命令行接口处理

5.4 命令名下的函数

5.5 内部变量和符号处理

5.6 命令行重新定向

5.7 命令行编辑和记录

5.8 用户分级

5.9 密码保护

5.10 小结

第6章 闪存的接口

6.1 接口函数

6.2 闪存驱支斩前端(From End)

6.3 小结

第7章 闪存文件系统

7.1 TFS在平台上的作用

7.2 TFS的设计标准

7.3 文件属性

7.4 高级的详细内容

7.5 TFS所要求的闪存空间

7.6 碎片整理

7.7 TFS的应用

7.8 增加和删除文件

7.9 加载的应用

7.10 文件解压缩

7.11 现场执行

7.12 小结

第8章 执行脚本

8.1 脚本运行器

8.2 条件转向

8.3 一些例子

8.4 小结

第9章 网络连通性

9.1 以太网

9.2 ARP

9.3 IP

9.4 ICMP

9.5 UDP和TCP

9.6 DHCP/BOOTP

9.7 嵌入式系统的应用

9.8 小结

第10章 文件/数据传输

10.1 Xmodem

10.2 TFTP

10.3 自升级功能

10.4 小结

第11章 添加应用程序

11.1 各种存储映像

11.2 弱启动

11.3 建立应用程序堆栈

11.4 连接到监控器的API

11.5 应用程序start()函数

11.6 应用程序main()函数

11.7 为应用程序创建的驱动程序

11.8 基于应用程序的CLI使用监控器CLI

11.9 通过应用程序CLI运行脚本

11.10 小结

第12章 基于监控器的调试

12.1 不同类型的调试方法

12.2 断点

12.3 增加符号能力

12.4 显示存储器

12.5 将C结构覆盖到内存

12.6 堆栈跟踪

12.7 检测堆栈溢出

12.8 系统评测

12.9 小结

第13章 将微型监控器接入ColdFire MCF5272

13.1 原始资料代码目录树

13.2 编译文件

13.3 头文件的结构

13.4 连接步骤

13.5 小结

结束语

附录A 建立基于主机的工具箱

A.1 与主机文件连接

A.2 与计算机串口的接口

A.3 基于PC的UDP处理: moncmd

A.4 小结

附录B RTOS概述

B.1 调度程序

B.2 任务、线程和过程

B.3 抢占、时间分割和中断

B.4 信号机、事件、消息和定时器

B.5 重入

B.6 好的并行和差的并行

B.7 小结

本书所附光盘(CD)的内容