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

时间:2022-09-02 22:36:20

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

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

创建体系结构分为6个阶段:

  1. 具有坚实的技术基础:从系统工程机去理解嵌入式系统中实现的所有元素,即相关软件、硬件,工作原理等;
  2. 理解体系结构的任务周期:在项目的开始就能认清、理解、探讨影响涉及的各个因素,在将大量时间、金钱、精力投入到最初涉及的体系结构后,这些影响中任何一个因素都不太可能在以后要求对设计进行改变或者延迟;这是作者认为最重要的一个阶段,即磨刀不误砍柴工。了解需求,非技术如市场营销需求、客户需求、工程师需求、成本、开发条件;技术上包括质量需求,可靠性、性能、安全性。从需求出发得到软硬件解决方案(多种)。
  3. 定义体系结构模式和参考模型:一个嵌入式系统的高层次概括,概括了设备能容纳的各种类型软硬件元件,及其在系统中的作用。选择商业上可用的软硬件,并进行因素的对比分析,选择适合的一款,如操作系统的选取、编程语言的选取、处理器的选取、控制板的选取等待;
  4. 定义体系结构型结构:没太看懂,个人觉得是另一个角度对软硬件进行设计,希望大家讨论一下;
  5. 编写体系结构文档:记录所有结构(包括元件、元件在系统中的功能、元件间关系)。文中建议分三步:1、编写一个总括整个体系结构的文档;2、为每个结构编写一个文档;3、体系结构词汇表(注解)。这种方式可以为体系结构进行说明,方面以后的开发
  6. 分析和评估体系结构。
测试与调试是由区别的,测试是在试图破坏系统的情况下发现错误。包括测试至成功和测试至失败两种。
建议:
  • 阶段2:信息收集要形成文字,任何记录的文档无论多么不正式,都应当保存下来。当需求形成文字,就会降低混淆或者以前产生的有关需求的交流不一致的可能性,因为书面文档可以用来参考解决相关问题。
  • 从非功能性需求可以获得某些功能性需求,一些项目在开始时没有明确的功能性需求,只有一个设备应该被设计成能做什么的总体概念,这点非常有用。
  • 阶段3:编程语言的选择,操作系统的使用,嵌入式开发板基于何种处理器是最关键的设计元件。
  • 调试阶段:最廉价最快速的调试方法首先是不要引入任何错误。即不要开发的太快而不细致。
  • 负责一个组件的工程师不敢对提供的组件做任务修改,那么这个组件通常将要被重新设计。
  • 在试图运行或修改任务东西之前,首先阅读生产商/或相应工程师提供的文档。