总结:嵌入式系统设计与开发流程

基于《嵌入式系统硬件与软件构架》,对嵌入式系统设计与开发流程进行整理总结。欢迎你们交流。(英文《EMbedded Systems Architecture - A Comprehensive Guide for Engineers and Programmers》)编程

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------安全

学习一门专业,首先整体上要有一个思惟体系,以后再对所须专业知识进行系统学习。所谓思惟体系,就是了解这门专业的知识构架,结合本身的目的,规划学习方法。而《嵌入式系统硬件与软件构架》一书,从系统层面事无巨细的介绍有关嵌入式系统的知识,包括嵌入式硬件,软件。从基本硬件材料如何实现存储、计数等功能,到应用软件由编译器将编程语言输出成机器代码。读完这些会对嵌入式系统有一个宏观的了解,它是如何运行的,如何实现的。而这些知识也是每一个设计师应该掌握的,如书中屡次强调,硬件工程师应该在系统层面了解软件,软件工程师应该从系统层面了解硬件的运行。而这本书的后两章,就是本书的升华和结晶,也就是对应咱们的题目——嵌入式系统设计与开发。编程语言

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ide

首先嵌入式系统设计与开发分为2大部分:建立体系结构;实现与测设。性能

建立体系结构分为6个阶段:学习

  1. 具备坚实的技术基础:从系统工程机去理解嵌入式系统中实现的全部元素,即相关软件、硬件,工做原理等;
  2. 理解体系结构的任务周期:在项目的开始就能认清、理解、探讨影响涉及的各个因素,在将大量时间、金钱、精力投入到最初涉及的体系结构后,这些影响中任何一个因素都不太可能在之后要求对设计进行改变或者延迟;这是做者认为最重要的一个阶段,即磨刀不误砍柴工。了解需求,非技术如市场营销需求、客户需求、工程师需求、成本、开发条件;技术上包括质量需求,可靠性、性能、安全性。从需求出发获得软硬件解决方案(多种)。
  3. 定义体系结构模式和参考模型:一个嵌入式系统的高层次归纳,归纳了设备能容纳的各类类型软硬件元件,及其在系统中的做用。选择商业上可用的软硬件,并进行因素的对比分析,选择适合的一款,如操做系统的选取、编程语言的选取、处理器的选取、控制板的选取等待;
  4. 定义体系结构型结构:没太看懂,我的以为是另外一个角度对软硬件进行设计,但愿你们讨论一下;
  5. 编写体系结构文档:记录全部结构(包括元件、元件在系统中的功能、元件间关系)。文中建议分三步:一、编写一个总括整个体系结构的文档;二、为每一个结构编写一个文档;三、体系结构词汇表(注解)。这种方式能够为体系结构进行说明,方面之后的开发
  6. 分析和评估体系结构。
测试与调试是由区别的,测试是在试图破坏系统的状况下发现错误。包括测试至成功和测试至失败两种。

建议:
  • 阶段2:信息收集要造成文字,任何记录的文档不管多么不正式,都应当保存下来。当需求造成文字,就会下降混淆或者之前产生的有关需求的交流不一致的可能性,由于书面文档能够用来参考解决相关问题。
  • 从非功能性需求能够得到某些功能性需求,一些项目在开始时没有明确的功能性需求,只有一个设备应该被设计成能作什么的整体概念,这点很是有用。
  • 阶段3:编程语言的选择,操做系统的使用,嵌入式开发板基于何种处理器是最关键的设计元件。
  • 调试阶段:最廉价最快速的调试方法首先是不要引入任何错误。即不要开发的太快而不细致。
  • 负责一个组件的工程师不敢对提供的组件作任务修改,那么这个组件一般将要被从新设计。
  • 在试图运行或修改任务东西以前,首先阅读生产商/或相应工程师提供的文档。