描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787811244205
内容简介
本书从教学的角度出发,全面讨论了嵌入式软件设计的思想与方法。在编排上循序渐进,从基础准备,到驱动模型,再深入到整个系统及系统的构建。在讲解上通过建立模型来帮助读者系统掌握嵌入式软件设计的普遍原理与编程接口。内容包括:高效、稳定和规范的程序基础,多任务环境,I/O系统的内部结构,驱动模型,BSP设计要素,嵌入式软件设计的经验技巧;在硬件基础方面讨论了总线与设备的模型,基于MIPS和ARM SoC在多个系统平台VxWorks,Lnux及WinCE下的系统资源的操控。
本书可作为在校学生学习嵌入式软件设计原理的教学参考用书,也可作为嵌入式软件开发工程人员深入掌握系统软件设计的指南,以及嵌入式软件培训的参考教材。
本书可作为在校学生学习嵌入式软件设计原理的教学参考用书,也可作为嵌入式软件开发工程人员深入掌握系统软件设计的指南,以及嵌入式软件培训的参考教材。
目 录
篇 基础方法篇
第1章 程序基础
1.1 设计高性能程序的必要性
1.1.1 设计高性能程序的必要性
1.1.2 嵌入式软件的设计范畴
1.1.3 嵌入式软件的分层结构
1.2 嵌入式软件的程序设计要求
1.2.1 代码结果的要求
1.2.2 代码形式的要求
1.3 嵌入式软件开发的基本思路和原则
1.3.1 系统分析,定义接口
1.3.2 函数实现,优化算法
1.3.3 清理代码,补充注释
1.3.4 测试修订,完善文档
1.4 程序实例剖析
1.4.1 正确理解栈
1.4.2 内存泄漏
1.4.3 消除编译依赖
1.4.4 消除潜在隐患
1.4.5 规范实现范例
1.4.6 性能优化
1.5 程序设计其他注意点
1.5.1 谨慎使用“宏”
1.5.2 正确理解预定义宏
1.5.3 避免歧义
第2章 多任务操作系统
2.1 板级支持包
2.2 嵌入式操作系统与实时性
2.2.1 嵌入式操作系统
2.2.2 实时操作系统
2.3 多任务概述
2.3.1 进程、线程与任务
2.3.2 何时需要多任务
2.3.3 任务状态的转换
2.3.4 进程调度与调试算法
2.3.5 任务相关的API
2.4 进程间共享代码与可重入性
2.4.1 共享代码
2.4.2 共享代码可重人性问题
2.4.3 使用私有数据
2.4.4 使用临界区数据
2.5 线程间通信
2.5.1 共享数据结构
2.5.2 互斥
2.5.3 信号量
2.5.4 临界区与信号量的实现实例
第3章 硬件基础
3.1 ARM
3.1.1 ARM编程模式
3.1.2 ARM指令概述
3.1.3 ARM异常及处理
3.2 MIPS
3.2.1 MIPS编程模式
3.2.2 MIPS指令概述
3.2.3 MIPS中断与异常
3.3 接口基础
3.3.1 总线概述
3.3.2 I2C总线
3.3.3 PCI总线
3.3.4 设备模型
3.3.5 一个IDE控制器设备实例
第二篇 驱动模型篇
第4章 驱动的通用模型
第5章 VXWorks的驱动模型
第6章 Linux的驱动模型
第7章 WinCE的驱动模型
第三篇 BSP/OAL篇
第8章 BSP的基本概念
第9章 BSP的设计要素
第10章 Linux的启动过程
第11章 WinCE的设计
第四篇 扩展篇
第12章 理解程序的内部结构
第13章 嵌入式系统的设计思想
结束语
参考文献
第1章 程序基础
1.1 设计高性能程序的必要性
1.1.1 设计高性能程序的必要性
1.1.2 嵌入式软件的设计范畴
1.1.3 嵌入式软件的分层结构
1.2 嵌入式软件的程序设计要求
1.2.1 代码结果的要求
1.2.2 代码形式的要求
1.3 嵌入式软件开发的基本思路和原则
1.3.1 系统分析,定义接口
1.3.2 函数实现,优化算法
1.3.3 清理代码,补充注释
1.3.4 测试修订,完善文档
1.4 程序实例剖析
1.4.1 正确理解栈
1.4.2 内存泄漏
1.4.3 消除编译依赖
1.4.4 消除潜在隐患
1.4.5 规范实现范例
1.4.6 性能优化
1.5 程序设计其他注意点
1.5.1 谨慎使用“宏”
1.5.2 正确理解预定义宏
1.5.3 避免歧义
第2章 多任务操作系统
2.1 板级支持包
2.2 嵌入式操作系统与实时性
2.2.1 嵌入式操作系统
2.2.2 实时操作系统
2.3 多任务概述
2.3.1 进程、线程与任务
2.3.2 何时需要多任务
2.3.3 任务状态的转换
2.3.4 进程调度与调试算法
2.3.5 任务相关的API
2.4 进程间共享代码与可重入性
2.4.1 共享代码
2.4.2 共享代码可重人性问题
2.4.3 使用私有数据
2.4.4 使用临界区数据
2.5 线程间通信
2.5.1 共享数据结构
2.5.2 互斥
2.5.3 信号量
2.5.4 临界区与信号量的实现实例
第3章 硬件基础
3.1 ARM
3.1.1 ARM编程模式
3.1.2 ARM指令概述
3.1.3 ARM异常及处理
3.2 MIPS
3.2.1 MIPS编程模式
3.2.2 MIPS指令概述
3.2.3 MIPS中断与异常
3.3 接口基础
3.3.1 总线概述
3.3.2 I2C总线
3.3.3 PCI总线
3.3.4 设备模型
3.3.5 一个IDE控制器设备实例
第二篇 驱动模型篇
第4章 驱动的通用模型
第5章 VXWorks的驱动模型
第6章 Linux的驱动模型
第7章 WinCE的驱动模型
第三篇 BSP/OAL篇
第8章 BSP的基本概念
第9章 BSP的设计要素
第10章 Linux的启动过程
第11章 WinCE的设计
第四篇 扩展篇
第12章 理解程序的内部结构
第13章 嵌入式系统的设计思想
结束语
参考文献
在线试读
篇 基础方法篇
本篇就笔者的理解来讨论一些嵌入式软件设计所的基础技能。如果读者急于了解嵌入式系统软件设计的方法,可以直接跳到第二篇“驱动模型篇”。借用一些老套的话——“万丈高楼从地起”“磨刀不误砍柴功”,打好扎实的基础是非常重要的。在我看来,对嵌入式软件系统的基本要求是高效和稳定,它要求软件开发人员设计出的程序逻辑严密,层次清楚,效率优化,品质高精;与此同时,软件需要与硬件系统打交道,需要处理复杂的应用问题,涉及到的专业面广泛且深入,由此软件开发人员还需要掌握很多复杂的专业知识。所以,基础与方法对于嵌入式软件的设计至关重要。
本书虽然不求将各种专业知识与技能讲解得全面透彻,但希望笔者多年积累的一些点滴经验,能够给读者带来开指路的功效。
1.心理准备
如上所述,嵌入式软件的设计是一项极其艰辛复杂的程序设计工作,它需要有丰富、扎实的专业知识,还需要有艰苦卓绝、锲而不舍、敢于拼搏和敢于挑战的精神。在开始着手研究嵌入式软件开发时,就需要树立脚踏实地的学习和工作作风,在设计工作中要实事求是,不能臆想,不能武断,不能自大。
另外,也要去除心目中的畏难情绪和神秘观念。只要认真学习、深入钻研,就可以设计出性能优秀的嵌入式产品;只要思路清晰、方法正确,也可以创造奇迹。
嵌入式软件系统既是软件设计,又是艺术设计。它要求不但要实现产品的功能,还要设计出友好、易用、能够一眼就吸引住用户眼球的界面。所以嵌入式软件不但要求内部结构精细,还要求外部界面设计精细,每一个细微角落都要体现出设计者的独具匠心!
诚然,嵌入式软件设计也是软件设计人员人生的一大乐趣。当一个产品从你手中诞生时;当一个用户津津乐道地使用一个PS2玩一个游戏,或者使用一个手持设备观看一部惊险电影时;当一名工作人员使用办公室的大屏幕进行远程监控,或远程操作一个复杂的机器设备时;如果这些软件系统都是出自于自己的作品,那么这些岂不是为之振奋的事情?
当大家有了这些心理准备,有了这些远景的乐趣,就会为自己的学习产生巨大潜能和动力。兴趣是攻克难关的先导,希望读者带着强烈的兴趣阅读完本书!
……
本篇就笔者的理解来讨论一些嵌入式软件设计所的基础技能。如果读者急于了解嵌入式系统软件设计的方法,可以直接跳到第二篇“驱动模型篇”。借用一些老套的话——“万丈高楼从地起”“磨刀不误砍柴功”,打好扎实的基础是非常重要的。在我看来,对嵌入式软件系统的基本要求是高效和稳定,它要求软件开发人员设计出的程序逻辑严密,层次清楚,效率优化,品质高精;与此同时,软件需要与硬件系统打交道,需要处理复杂的应用问题,涉及到的专业面广泛且深入,由此软件开发人员还需要掌握很多复杂的专业知识。所以,基础与方法对于嵌入式软件的设计至关重要。
本书虽然不求将各种专业知识与技能讲解得全面透彻,但希望笔者多年积累的一些点滴经验,能够给读者带来开指路的功效。
1.心理准备
如上所述,嵌入式软件的设计是一项极其艰辛复杂的程序设计工作,它需要有丰富、扎实的专业知识,还需要有艰苦卓绝、锲而不舍、敢于拼搏和敢于挑战的精神。在开始着手研究嵌入式软件开发时,就需要树立脚踏实地的学习和工作作风,在设计工作中要实事求是,不能臆想,不能武断,不能自大。
另外,也要去除心目中的畏难情绪和神秘观念。只要认真学习、深入钻研,就可以设计出性能优秀的嵌入式产品;只要思路清晰、方法正确,也可以创造奇迹。
嵌入式软件系统既是软件设计,又是艺术设计。它要求不但要实现产品的功能,还要设计出友好、易用、能够一眼就吸引住用户眼球的界面。所以嵌入式软件不但要求内部结构精细,还要求外部界面设计精细,每一个细微角落都要体现出设计者的独具匠心!
诚然,嵌入式软件设计也是软件设计人员人生的一大乐趣。当一个产品从你手中诞生时;当一个用户津津乐道地使用一个PS2玩一个游戏,或者使用一个手持设备观看一部惊险电影时;当一名工作人员使用办公室的大屏幕进行远程监控,或远程操作一个复杂的机器设备时;如果这些软件系统都是出自于自己的作品,那么这些岂不是为之振奋的事情?
当大家有了这些心理准备,有了这些远景的乐趣,就会为自己的学习产生巨大潜能和动力。兴趣是攻克难关的先导,希望读者带着强烈的兴趣阅读完本书!
……
评论
还没有评论。