嵌入式系统有哪些特点

嵌入式技术

1372人已加入

描述

本期话题:

简单来说,嵌入式系统是,不提供通用的计算环境,致力于完成现实世界中的具体功能的计算系统。 嵌入式系统与其他系统是有很多不同之处的,那么嵌入式系统哪些特殊的地方呢? 今天,我们就来简单聊一聊这个问题。

聊一聊:

嵌入式系统的有一个子集:实时系统。这是一种在系统中必须满足实时性约束才能正确运行的系统。这种系统有两类:

硬实时系统,在规定的时间结束之前,指定的活动必须完成。

软实时系统,在规定的时间内,尽可能的去完成任务,允许有一些超时。

下边介绍几点嵌入式系统开发的一些特殊性。

(1)嵌入式设计约束

与编写通用计算机软件不同,嵌入式系统发布时通常集成了系统所需的所有硬件。这个硬件平台不支持用户自行扩展。硬件资源对嵌入式系统来说非常关键,有时候受硬件的限制,软件需要做出很多优化。

性能问题也是系统设计的一个关键点,例如,吞吐量、快速响应能力等。

其他需要考虑的约束还有,可靠性、健壮性、安全性等等。

(2)开发工具

嵌入式开发,大部分情况是利用交叉编译工具,在主机上开发编译,将编译后的程序在目标机上运行。

这些开发工具包括:编译器、连接器、程序装载器、调试器工具集等。

(3)嵌入式中间件

中间件是一种使用某种方法将软件组件连接的软件。对于嵌入式系统来说,有些中间件软件作为嵌入式软件的一部分进行开发。有些是分离开发的。

当系统中的不同组件由不同的组织开发时,使用标准的中间件可以给开发者提供明显的好处。

(4)与硬件协同开发

很多嵌入式工程涉及电子和机械硬件与软件开发同时进行。

软件开发者需要根据硬件如何工作进行开发软件,硬件的任何调整都会影响到软件的开发情况。不到硬件最终发布,是不能开发出正确的软件。

因此,硬件和软件需要协同开发,互相进行适配和调整。

(5)调试和测试

编写软件不是一件困难的事,而编写有正确功能的软件是不容易的。

嵌入式软件开发,经常忽略的是单元测试,如果可以尽可能的提前进行。这样可以提前发现软件的bug。

嵌入式软件开发适用的一些单元测试:功能测试、性能测试、先决条件测试、边界测试、压力测试、回归测试等等。

在嵌入式平台上要实现这些测试,有时候是比较困难,可以采取以下策略:

"printf"测试,通过在程序中添加信息打印,输出在某个设备上查看。

主机上测试,在开发主机上进行验证测试。

主机模拟,通过模拟软件模拟目标平台,对程序进行执行测试。

除了以上这些,当然还有很多其他特殊性,可以补充探讨。   

审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分