天才教育网合作机构 > 培训机构 >

综合教育资讯

欢迎您!
朋友圈

400-850-8622

全国统一学习专线 9:00-21:00

位置:培训问答 > 嵌入式开发:*使用的秘密嵌入式软件定义

嵌入式开发:*使用的秘密嵌入式软件定义

日期:2024-11-22     浏览:93    来源:综合教育资讯
核心提示:作为嵌入式开发人员,在网上搜索"嵌入式软件定义"、"什么是嵌入式软件?"或者嵌入式软件的定义,你会发现许多文章陈述了如下内容:"

作为嵌入式开发人员,在网上搜索"嵌入式软件定义"、"什么是嵌入式软件?"或者嵌入式软件的定义,你会发现许多文章陈述了如下内容:

"嵌入式软件是计算机软件,用于控制通常不被认为是计算机的机器或设备,通常称为嵌入式系统。它通常专用于运行它的特定硬件,并且有时间和内存限制。"

"嵌入式软件是一种嵌入在硬件或非PC设备中的软件。它是专门为运行它的特定硬件编写的,由于设备的计算能力有限,通常会受到处理和内存的限制。"

这些定义模糊地抓住了嵌入式软件的概念,但是它们没有告诉我们它是什么!

什么是嵌入式软件?

嵌入式软件是设计和构建为运行在专门的、应用特定的硬件上的代码,该硬件通过各种形式的输入、处理、输出和存储来管理数据。嵌入式软件通常是确定性的,有软、硬实时调度期限。

对嵌入式开发人员来说,上述定义更接近嵌入式软件和固件*用来描述嵌入式软件的定义。请注意,定义的*部分类似于一般定义:

嵌入式软件是设计和构建为在专门的、特定于应用的硬件上运行的代码

然而,定义中的关键差异出现在这句话的第二部分:

"通过各种形式的输入、处理、输出和存储来管理数据."

两个基本原则可以区分成功和不成功的设计。通过明确讨论数据,这两个原则在上面的嵌入式软件定义中得到了强调。让我们快速探讨一下这两个原则。

原则1——数据决定设计

*个原则是"数据决定设计"。嵌入式软件开发人员经常被硬件、事件、状态和其他干扰所困扰。

每个嵌入式软件设计的核心都是数据。数据才是嵌入式软件真正的意义所在。甚至可以更进一步说,嵌入式系统就是关于数据的。每个系统都有输入,这些输入经过处理后产生期望的输出。这些输入和输出通常以某种易失性或非易失性的方式存储。如果嵌入式开发人员遵循这些数据,设计将会到位。

原则2——没有硬件(只有数据)

直接源于我们嵌入式软件定义的第二个原则是,没有硬件,只有数据。现在可能会认为这是没有意义的。然而,我们定义中的*句话指出:

嵌入式软件是设计和构建为在专门的、特定于应用的硬件上运行的代码。

这里说,它是为硬件设计的!用这种方式来表达这个定义,因为大多数嵌入式软件设计师还没有准备好放弃这个定义。现代成功的嵌入式软件开发*编写的软件是独立于硬件的。对硬件进行抽象,以消除硬件依赖性并将硬件从应用程序代码中分离出来。

硬件只是作为检索、输出和存储数据的路径。因此,LED应用不应直接访问GPIO线路。相反,LED应用程序应该获取表示LED的数据对象。然后,对数据进行处理,并在适当的时间传递给特定于硬件的例程,这些例程知道如何将LED对象映射到硬件并将其设置为正确的状态。

仅仅根据数据来设计和构建嵌入式软件是一个非常现代的概念,团队应该充分利用这个概念。

嵌入式软件定义结论

嵌入式软件是为确定性运行而设计和构建的代码,通常具有实时截止期,通过各种形式的输入、处理、输出和存储来管理数据。

我们在今天的帖子中已经看到,通常用来描述嵌入式软件的定义是不恰当的。这些定义没有触及嵌入式系统的核心,也没有触及我们在设计它们时应该关注的问题。然而,我们已经成功地澄清了事实,并为嵌入式软件提供了几个现代定义。我们还定义了几个原则,嵌入式开发人员可以用来改进自己的嵌入式软件设计。

免责声明:本信息由用户发布,本站不承担本信息引起的任何交易及知识产权侵权的法律责任!

本文由 综合教育资讯 整理发布。更多培训课程,学习资讯,课程优惠,课程开班,学校地址等学校信息,可以留下你的联系方式,让课程老师跟你详细解答:
咨询电话:400-850-8622

如果本页不是您要找的课程,您也可以百度查找一下: