嵌入式软件设计之思想与方法
全新正版 极速发货
¥
15.61
4.9折
¥
32
全新
库存4件
作者张邦术
出版社北京航空航天大学出版
ISBN9787811244205
出版时间2009-03
装帧平装
开本16开
定价32元
货号11161822
上书时间2024-07-02
商品详情
- 品相描述:全新
- 商品描述
-
目录
篇 基础方法篇
章 程序基础
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章 驱动的通用模型
4.1 设备驱动的作用
4.2 驱动类型
4.2.1 Linux扣的驱动类型
4.2.2 winCE中的驱动类型
4.2.3 VxWorks中的驱动类型
4.3 设备驱动的通用模型
4.3.1 模块部分的驱动
4.3.2 设备的驱动例程
第5章 VXWorks的驱动模型
5.1 VXWorks的I/O系统
5.1.1 I/O系统概述
5.1.2 文件名与设备
5.1.3 基本I/O
5.1.4 缓冲I/O
5.1.5 格式化I/O
5.2 VXWorks的驱动及其内部结构
5.2.1 驱动的安装、驱动表
5.2.2 设备的创建、设备链表
5.2.3 文件的打开、文件描述符表
5.2.4 文件的读、写、控制和关闭操作
第6章 Linux的驱动模型
6.1 Linux的驱动加载方式
6.1.1 内核驱动模块与模块化驱动
6.1.2 模块化驱动的加载与卸载
6.2 Linux的驱动架构
6.2.1 一个最简单的内核驱动
6.2.2 一个最简单的模块驱动
6.2.3 Linux驱动中注册驱动
6.2.4 Linux系统中的设备文件
6.3 Linux字符型设备驱动
6.3.1 驱动的加载与清理
6.3.2 中断的申请与释放
第7章 WinCE的驱动模型
7.1 WinCE驱动类型
7.2 设备管理器及其驱动模型
第三篇 BSP/OAL篇
第8章 BSP的基本概念
8.1 BSP与驱动
8.2 BSP开发的目标任务
第9章 BSP的设计要素
9.1 中断处理
9.1.1 物理中断号与逻辑中断号
9.1.2 CPU中断与中断控制器扩展
9.1.3 中断源的查找
9.1.4 中断处理线程
9.2 CPU异常
9.2.1异常向量表
9.2.2向量表的安装
9.2.3异常处理代码实例
9.3 硬件I/O的访问
9.3.1 避免使用绝对物理地址
9.3.2 内存一致性问题
9.3.3 I/O访问的刷新
0章 Linux的启动过程
10.1 Linux的启动流程
10.2 Linux的启动过程简介
10.2.1 _stext函数
10.2.2 start—kerrnel函数
10.2.3 setup—arch函数
10.2.4 trap_init函数
10.2.5 init_IRQ函数
10.2.6 sched—init函数
10.2.7 dojnitcalls函数
10.2.8 init函数
10.2.9 init程序
1章 WinCE的设计
11.1 wincE OS平台开发简介
11.1.1 winCE平台的开发流程
11.1.2 winCE内核结构
11.1.3 winCE设计中的一些名词术语
11.2 WinCE BSP开发
11.2.1 启动装载器
11.2.2 OAL开发
11.2.3 WinCE配置文件
11.3 winCE设备驱动的开发流程
11.3.1 设备驱动源代码
11.3.2 修改配置文件
11.3.3 向OS平台注入驱动
第四篇 扩展篇
2章 理解程序的内部结构
12.1 x86汇编及其程序结构
12.1.1 x86程序段定义
12.1.2 关联段寄存器、确定段的种类
12.1.3 段组伪指令
12.2 嵌入式系统中的程序结构
12.2.1 嵌入式系统中执行程序的映像
12.2.2 链接器与命令脚本
12.3 ELF文件格式
12.3.1 ELF文件格式概述
12.3.2 ELF文件格式分析器
3章 嵌入式系统的设计思想
13.1 直截了当的思想
13.2 层次化的思想
13.3 循序渐进的思想
13.4 实践是最好的老师
13.5 团队协作意识
13.6 大胆尝试与积极创新
结束语
参考文献
内容摘要
本书从教学的角度出发,全面讨论了嵌入式软件设计的思想与方法。在编排上循序渐进,从基础准备,到驱动模型,再深入到整个系统及系统的构建。在讲解上通过建立模型来帮助读者系统掌握嵌入式软件设计的普遍原理与编程接口。内容包括:高效、稳定和规范的程序基础,多任务环境,I/O系统的内部结构,驱动模型,BSP设计要素,嵌入式软件设计的经验技巧;在硬件基础方面讨论了总线与设备的模型,基于MIPS和ARM SoC在多个系统平台VxWorks,Lnux及WinCE下的系统资源的操控。
本书可作为在校学生学习嵌入式软件设计原理的教学参考用书,也可作为嵌入式软件开发工程人员深入掌握系统软件设计的指南,以及嵌入式软件培训的参考教材。
主编推荐
本书是关于介绍“嵌入式软件设计之思想与方法”的教学用书,全书从教学的角度出发,全面讨论了嵌入式软件设计的思想与方法,在编排上循序渐进,从基础准备,到驱动模型,再深入到整个系统及系统的构建,在讲解上通过建立模型来帮助读者系统掌握嵌入式软件设计的普遍原理与编程接口。
本书可作为在校学生学习嵌入式软件设计原理的教学参考用书。
精彩内容
篇 基础方法篇
本篇就笔者的理解来讨论一些嵌入式软件设计所必备的基础技能。如果读者急于了解嵌入式系统软件设计的方法,可以直接跳到第二篇“驱动模型篇”。借用一些老套的话——“万丈高楼从地起”“磨刀不误砍柴功”,打好扎实的基础是非常重要的。在我看来,对嵌入式软件系统的基本要求是高效和稳定,它要求软件开发人员设计出的程序逻辑严密,层次清楚,效率优化,品质高精;与此同时,软件需要与硬件系统打交道,需要处理复杂的应用问题,涉及到的专业面广泛且深入,由此软件开发人员还需要掌握很多复杂的专业知识。所以,基础与方法对于嵌入式软件的设计至关重要。
本书虽然不求将各种专业知识与技能讲解得全面透彻,但希望笔者多年积累的一些点滴经验,能够给读者带来开指路的功效。
1.心理准备
如上所述,嵌入式软件的设计是一项极其艰辛复杂的程序设计工作,它需要有丰富、扎实的专业知识,还需要有艰苦卓绝、锲而不舍、敢于拼搏和敢于挑战的精神。在最开始着手研究嵌入式软件开发时,就需要树立脚踏实地的学习和工作作风,在设计工作中要实事求是,不能臆想,不能武断,不能自大。
另外,也要去除心目中的畏难情绪和神秘观念。只要认真学习、深入钻研,就可以设计出性能优秀的嵌入式产品;只要思路清晰、方法正确,也可以创造奇迹。
嵌入式软件系统既是软件设计,又是艺术设计。它要求不但要实现产品的功能,还要设计出友好、易用、能够一眼就吸引住用户眼球的界面。所以嵌入式软件不但要求内部结构精细,还要求外部界面设计精细,每一个细微角落都要体现出设计者的独具匠心!
诚然,嵌入式软件设计也是软件设计人员人生的一大乐趣。当一个产品从你手中诞生时;当一个用户津津乐道地使用一个PS2玩一个游戏,或者使用一个手持设备观看一部惊险电影时;当一名工作人员使用办公室的大屏幕进行远程监控,或远程操作一个复杂的机器设备时;如果这些软件系统都是出自于自己的作品,那么这些岂不是为之振奋的事情?
当大家有了这些心理准备,有了这些远景的乐趣,就会为自己的学习产生巨大潜能和动力。兴趣是攻克难关的先导,希望读者带着强烈的兴趣阅读完本书!
……
— 没有更多了 —
以下为对购买帮助不大的评价