嵌入式定义秘密专家软件(嵌入式软件定义硬件数据)「嵌入式加密算法」

  作为嵌入式开发人员,在网上搜索“嵌入式软件定义”、“什么是嵌入式软件?”或者嵌入式软件的定义,你会发现许多文章陈述了如下内容:  “嵌入式软件是计算机软件,用于控制通常不被认为是计算机的机器或设备,通常称为嵌入式系统
它通常专用于运行它的特定硬件,并且有时间和内存限制
”  “嵌入式软件是一种嵌入在硬件或非PC设备中的软件
它是专门为运行它的特定硬件编写的,由于设备的计算能力有限,通常会受到处理和内存的限制
”  这些定义模糊地抓住了嵌入式软件的概念,但是它们没有告诉我们它是什么!  什么是嵌入式软件?  嵌入式软件是设计和构建为运行在专门的、应用特定的硬件上的代码,该硬件通过各种形式的输入、处理、输出和存储来管理数据
嵌入式软件通常是确定性的,有软、硬实时调度期限
  对嵌入式开发人员来说,上述定义更接近嵌入式软件和固件专家用来描述嵌入式软件的定义
请注意,定义的第一部分类似于一般定义:  嵌入式软件是设计和构建为在专门的、特定于应用的硬件上运行的代码  然而,定义中的关键差异出现在这句话的第二部分:  "通过各种形式的输入、处理、输出和存储来管理数据."  两个基本原则可以区分成功和不成功的设计
通过明确讨论数据,这两个原则在上面的嵌入式软件定义中得到了强调
让我们快速探讨一下这两个原则
  原则1——数据决定设计  第一个原则是“数据决定设计”
嵌入式软件开发人员经常被硬件、事件、状态和其他干扰所困扰
  每个嵌入式软件设计的核心都是数据
数据才是嵌入式软件真正的意义所在
甚至可以更进一步说,嵌入式系统就是关于数据的
每个系统都有输入,这些输入经过处理后产生期望的输出
这些输入和输出通常以某种易失性或非易失性的方式存储
如果嵌入式开发人员遵循这些数据,设计将会到位
  
  原则2——没有硬件(只有数据)  直接源于我们嵌入式软件定义的第二个原则是,没有硬件,只有数据
现在可能会认为这是没有意义的
然而,我们定义中的第一句话指出:  嵌入式软件是设计和构建为在专门的、特定于应用的硬件上运行的代码
  这里说,它是为硬件设计的!用这种方式来表达这个定义,因为大多数嵌入式软件设计师还没有准备好放弃这个定义
现代成功的嵌入式软件开发专家编写的软件是独立于硬件的
对硬件进行抽象,以消除硬件依赖性并将硬件从应用程序代码中分离出来
  硬件只是作为检索、输出和存储数据的路径
因此,LED应用不应直接访问GPIO线路
相反,LED应用程序应该获取表示LED的数据对象
然后,对数据进行处理,并在适当的时间传递给特定于硬件的例程,这些例程知道如何将LED对象映射到硬件并将其设置为正确的状态
  仅仅根据数据来设计和构建嵌入式软件是一个非常现代的概念,团队应该充分利用这个概念
  嵌入式软件定义结论  嵌入式软件是为确定性运行而设计和构建的代码,通常具有实时截止期,通过各种形式的输入、处理、输出和存储来管理数据
  我们在今天的帖子中已经看到,通常用来描述嵌入式软件的定义是不恰当的
这些定义没有触及嵌入式系统的核心,也没有触及我们在设计它们时应该关注的问题
然而,我们已经成功地澄清了事实,并为嵌入式软件提供了几个现代定义
我们还定义了几个原则,嵌入式开发人员可以用来改进自己的嵌入式软件设计
嵌入式定义秘密专家软件(嵌入式软件定义硬件数据)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息