现代嵌入式系统开发专案实务

分類: 图书,计算机/网络,计算机体系结构,
作者: 邱毅凌编著
出 版 社: 电子工业出版社
出版时间: 2009-7-1字数:版次: 1页数: 405印刷时间:开本: 16开印次:纸张:I S B N : 9787121088384包装: 平装编辑推荐
本书特色
★破除市面嵌入式系统参考书籍的迷思,传达嵌入式系统开发的正确观念
★直指教科书与实际电子产品开发流程间的鸿沟
★以一个完整的电子产品开发专案贯穿全书,通过轻松诙谐的笔法,推导出嵌入式系统开发者不可不知的相关技术
★包含众多实际发生的案例与解决策略
内容简介
市面上的电子产品琳琅满目,业界正在使用的CPU与IC多如繁星,嵌入式系统开发的技巧也数不胜数,书店里讲授嵌入式系统的书籍繁杂如过江之鲫,更不要说您在Google搜寻“embedded system”会出现多少相关网页……嵌入式系统是计算机产业中非常特殊的一个领域,几乎没有一个电子产品或嵌入式系统开发项目是完全一样的,身为这个产业链中的一员,面对排山倒海而来的信息,您该如何制定自己的学习目标呢?
所谓“一法通,万法通”,嵌入式系统开发也是如此。如果只专注于研究某个CPU的功能或某个产品的特性,其实际意义并不大,因为下个产品开发方案可能是完全不同领域的应用!本书希望能将作者自身的经验与见闻整理成真正有用的观念,借着轻松的行文风格,传达给想加入嵌入式系统这一产业的读者,希望本书可以让对嵌入式系统开发有兴趣的读者少走一些冤枉路。
目录
第0章系统、嵌入、硬件
0.1 Welcome 011 board
0.2嵌入式系统开发团队
0.3老调重弹——什么是嵌入式系统
0.3.1 嵌入式系统本质(I)——计算机系统
0.3.2嵌入式系统本质(II)——特殊应用
0.3.3什么是嵌入式系统
0.4限制、限制、限制
0.4.1产品规格设计的限制
0.4.2人力分配的限制
0.4.3进度管理的限制——测不准原理
0.4.4硬件设计的限制
0.4.5软件系统设计的限制
0.5基本职能——老鸟也曾是菜鸟
0.6读书计划
0.7工作内容——做工程师,而非程序工人
第1章嵌入式系统开发项目的生命周期(上)——项目激活与规划阶段
1.1嵌入式系统专案简介
1.1.1设计产品
1.1.2管理项目
1.1.3开发系统
1.2初期规划——该不该接这个项目
1.2.1没规划,一定挂
1.2.2不可能的任务
1.3进度规划——ASAP
1.4规格——请接受这个不完美的世界
1.5人力规划——营级组织,连级人力
1.6一切都为了cost down
第2章嵌入式系统开发项目的生命周期(下)——设计、执行与结案
2.1 设计阶段——拟定作战计划
2.2产品规格设计
2.3硬件设计
2.4系统设计
2.5测试计划设计
2.6品质系统设计
2.7风险评估
2.8设计文件的重要性
2.9实作阶段——执行所有设计
2.10冲突不断——协同作战有多难
2.11产品化
2.12无间道——项目可有结案的一天
第3章震撼教育——第一个嵌入式系统
3.1开发环境
3.2无痛起步——善用sample code
3.2.1计算机系统激活流程
3.2.2中断向量表
3.2.3boot程序(激活程序)
3.2.4main()
3.2.5驱动程序1-timer
3.2.6驱动程序2-LED
3.3如何确定程序在执行
3.4标准C library可以用吗?
3.5总结:嵌入式Hello World
第4章嵌入式系统平台实作
4.1系统与平台
4.2系统架构设计
4.2.1 产品规格review
4.2.2系统架构——从粗略到逐渐精细的方块图
4.2.3资料流
4.2.4硬件相关与硬件无关——可重用性&可移植性
4.2.5 system configuratioIr可扩充性&可调整性
4.3APl与程序风格设计
4.3.1系统程序风格
4.3.2应用程序风格
4.3.3 APl
4.4嵌入式操作系统——OS在哪里
4.4.1操作系统
4.4.2嵌入式操作系统
4.4.3实时系统
4.4.4嵌入式操作系统的特性
4.4.5嵌入式系统task架构实例
4.5仿真器
4.60Brce tree设计
4.6.1整合时的重要观念
4.6.2 source tree设计原则
4.7程序风格典范
第5章构建嵌入式系统开发环境
第6章上电之后——boot loader
第7章驱动程序
第8章内存管理
第9章模拟器
第10章系统整合
第11章testing、debugging和tuning
第12章结案前的煎熬
附录A没有执行专案管理的专案
附录BCallback Function
附录C用C语言来实作面向对象的概念
附录D有效率的画斜线算法
附录E 电子产品设计导论
书摘插图
第1章嵌入式系统开发项目的生命周期(上)——项目激活与规划阶段
1.1嵌入式系统专案简介
1.1.1设计产品
很多项目之所以会失败或陷入似乎永远逃不出的泥沼,不全是管理或技术的问题,有时候事后分析,才发现某些产品根本就不该做,或某些项目根本就不该接。难道这些做决策的人都是笨蛋吗?电子产品因为具有高时效性、生命周期短、竞争强度高的特性,很容易会让决策者昏了头,因此做出错误的决定。所以市场上永远不乏“自杀”的产品,就像旅鼠迁徙一样,一只一只前仆后继地跌入水里。
产品设计定案之前,一定要做好市场调查和评估,marketing是另一门高深的学问,并不是本书的重点。在此笔者要点出一个业界真实的状况:即使做过详尽的市场研究,许多产品依旧卖不出去,但有些成功的产品仅是基于一瞬间的简单创意而来的。现在世界电子产品的市场变动如此快速,要定义一个保证可以符合未来需求的产品相当困难,特别是消费性电子产品,“未来”二字指的可能只是短短三个月或半年。这也是为什么嵌入式系统开发团队接到项目的日程总是那么紧,而不合理的流程肯定会对往后的管理与开发工作造成极大的影响。
所以产品设计不能仅考虑时效性及市场需求,也要就技术可行性做基本的分析评估,一个根本无法如期达成的目标只能是空中楼阁而已,而且强迫开发团队执行一个不可能的任务,除了耽误商机之外,还会造成资源的浪费与人员士气的低落。
产品设计结束后要写下详细的产品规格,这个规格可以用以估计技术层次、需要的配合单位与人员、开发费用以及产品造价等。因为接下来的人力配置以及系统设计的工作都会依照这个规格来展开。要更动任何产品规格都必须经过严格的审查流程,越到开发后期更改规格对项目的影响越大。例如,某手机产品已经接近批量生产,客户才说应该要加上插卡的功能,这影响不只是软件的系统架构,CPU能不能支持插卡也不知道(当然可以外加芯片来解决这件事情,但是因为最初没有这个需求,CPU的所有PIN引脚可能都已经用完了),更不用提机构设计了,不仅会造成“兵慌马乱”,整个进度也不可避免地要往后延迟,如图1.1所示。
……