嵌入式系统开发过程可以分为以下7个阶段:
1. 产品定义
这里的产品,指的是由嵌入式软件和加载它的硬件平台一起组成的系统。所以,产品定义实际上就是GJB2786A里所说的系统需求开发。
2. 软硬件划分
设计嵌入式系统的关键是如何将系统划分为硬件系统与软件系统。这实际上就是GJB2786A里系统设计的内容。
嵌入式系统的软硬件划分取决于产品功能、性能、成本、风险等多个因素。
一般来说,系统功能用硬件实现会使系统的处理速度加快,但系统成本也会提高(性能强的硬件通常都不便宜),不过这并不是绝对的。因为用软件实现虽然可以节省一些硬件成本,但由于系统需要存放更多的程序代码,需要更大的ROM,并且对处理器的要求也更高,这同样会提高系统的成本。
系统使用的硬件越多,带来的风险也会越高。这是因为硬件的修改远比软件修改复杂得多,它往往需要更大的修改成本和更长的修改时间。
虽然越晚做出划分决策,就越有把握。但是,由于嵌入式系统只有当硬件平台出来之后才能调试整个系统,因此过晚地做出划分决策会延长整个开发周期。
3. 迭代与实现
嵌入式系统的系统设计可以有一个迭代的过程,在这个过程中,硬件与软件的划分的边界依然可以变化。在这个阶段中,设计师可以随着更多的设计约束的理解与建模,进一步明确硬件与软件的划分界线。
4. 硬件和软件开发
在完成了硬件与软件划分之后,嵌入式系统开发就进入了硬件和软件设计阶段。
硬件设计需要选择合适的微处理器,进行外围电路的设计,电路接口的设计,可靠性、安全性和抗干扰设计等;软件设计需要完成功能模块的划分,接口设计,可靠性和安全性设计等,并在设计基础上编码实现。
在常规开发中,是先完成硬件设计再进行软件设计,但对于研制周期紧张的项目,通常会进行协同开发,即软件开发可与硬件开发同步进行。
在协同开发过程中,为了进行软件验证,软件开发人员需要通过编写程序来虚拟还不存在的硬件。
5. 软硬件集成
当硬件与软件开发完成之后,就进入软硬件集成阶段。
嵌入式系统的软硬件集成过程是调试与探索的过程,它需要使用一些专用工具,需要花费大量的时间来完成。设计师可以通过精确建模或仿真来节省大量的时间。
6. 产品测试与发布
嵌入式系统的可靠性要求要比大多数通用计算机严格得多。有些嵌入式系统是决不能允许故障的。因此嵌入式系统对于测试的要求也很高,测试不只是要确信软件实现了用户所要求的功能、性能,不会在关键时刻崩溃,还必须查明系统是否在运行时能接近最优性能。
嵌入式系统的产品测试通常包括功能测试、性能测试、可靠性测试和电磁兼容测试。
7. 产品维护
由于嵌入式系统中软件、硬件结合紧密的特点,它的产品维护更加要求相关的需求和设计文档齐全,否则它的维护难度会极度上升。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。