当前位置:首页 > > 糖果Autosar
[导读]嵌入式的标签多为:低配,偏硬件,底层,资源紧张,代码多以C语言,汇编为主,代码应用逻辑简单。但随着AIOT时代的到来,局面组件改变。芯片的性能资源逐渐提升,业务逻辑也逐渐变得复杂,相对于代码的效率而言,代码的复用可移植性要求越来越高,以获得更短的项目周期和更高的可维护性。下面是A...

嵌入式的标签多为:低配,偏硬件,底层,资源紧张,代码多以C语言,汇编为主,代码应用逻辑简单。但随着AIOT时代的到来,局面组件改变。芯片的性能资源逐渐提升,业务逻辑也逐渐变得复杂,相对于代码的效率而言,代码的复用可移植性要求越来越高,以获得更短的项目周期 和更高的可维护性。下面是AIOT时代嵌入式设备的常见的软件框架。

设计模式

设计模式的标签:高级语言 ,高端,架构等。在AIOT时代,设计模式与嵌入式能擦出怎样的火花?设计模式可描述为:对于某类相似的问题,经过前人的不断尝试,总结出了处理此类问题的公认的有效解决办法。

嵌入式主要以C语言开发,且面向过程,而设计模式常见于高级语言(面向对象),目前市面上描述设计模式的书籍多数使用JAVA 语言,C语言能实现设计模式吗?设计模式与语言无关,它是解决问题的方法,JAVA可以实现,C语言同样可以实现。同样的,JAVA程序员会遇到需要用模式来处理的问题,C程序员也可能遇见,因此设计模式是很有必要学习的。

模式陷阱:设计模式是针对具体的某些类问题的有效解决办法,不是所有的问题都能匹配到对应的设计模式。因此,不能一味的追求设计模式,有时候简单直接的处理反而更有效。有的问题没有合适的模式,可以尽量满足一些设计原则,如开闭原则(对扩展开放,对修改关闭)


观察者模式

情景

在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。

实现

主题对象提供统一的注册接口,以及注册函数 。由观察者本身实例化observer_intf 接口,然后使用注册函数,添加到对应的主题列表中,主题状态发生改变,依次通知列表中的所有对象。

  1.  struct observer_ops

  2.  {

  3.   void*(handle)(uint8_t evt);  

  4.  };

  5.  

  6.  struct observer_intf

  7.  {

  8.      struct observer_intf* next;

  9.      const char* name;

  10.      void* condition;

  11.      const struct observer_ops *ops;

  12.  }

  13.  

  14.  int observer_register(struct topical* top , struct observer_intf* observer);

当主题状态发生改变,将通知到所有观察者,观察者本身也可以设置条件,是否选择接收通知

  1.  struct observer_intf observer_list;

  2.      

  3.  void XXXX_topical_evt(uint8_t evt)

  4.  {

  5.       struct observer_intf* cur_observer = observer_list.next;

  6.       uint8_t* condition = NULL;

  7.       while(cur_observer != NULL)

  8.       {

  9.           condition = (uint8_t*)cur_observer->condition;

  10.           if(NULL == condition || (condition
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

全球嵌入式技术领域的年度盛会2026嵌入式世界展(Embedded World 2026,简称EW26)于3月10日至12日在德国纽伦堡成功举办。作为物联网和边缘AI领域的领先企业,Silicon Labs(亦称“芯科科...

关键字: 物联网 边缘AI 嵌入式

3月10日至12日,2026年嵌入式世界展(Embedded World 2026,简称EW26)在德国纽伦堡展览中心成功举办。作为领先的边缘AI与智能音频等媒体处理技术和芯片解决方案提供商,XMOS以沉浸式演示与技术交...

关键字: 边缘AI 智能音频 嵌入式

在嵌入式系统开发中,SoC(System on Chip)的多样性始终是横亘在开发者面前的难题。以某工业物联网网关项目为例,其需同时支持NXP i.MX8M、Rockchip RK3566和Allwinner H616三...

关键字: Platform Driver模型 嵌入式

在非易失性存储器领域,EEPROM(电可擦除可编程只读存储器)曾长期占据主流地位,广泛应用于各类电子设备的参数存储、日志记录等场景。但随着工业控制、汽车电子、医疗设备等领域对存储性能提出更高要求,FRAM(铁电随机存取存...

关键字: 存储器 可编程 嵌入式

康佳特将aReady.COM扩展至Arm架构模块,基于恩智浦i.MX 95处理器打造应用就绪的软硬件构建模块,集成操作系统、系统整合与IoT连接能力,赋能高价值应用快速落地

关键字: 处理器 IoT 嵌入式

3月12日,2026年中国家电及消费电子博览会(以下简称:AWE 2026)在上海盛大开幕。展会现场,场景化、系统化、一体化的家电解决方案成为行业焦点,消费者对家电的关注也已从基础的尺寸匹配,延伸至对“空间秩序感”和“视...

关键字: 消费电子 蒸烤箱 嵌入式

超高效NPU IP在资源受限设备中推进边缘AI,因而获得认可

关键字: 人工智能 嵌入式 NPU

上海2026年3月12日 /美通社/ -- 3月12日,2026中国家电及消费电子博览会(AWE 2026)在上海新国际博览中心和东方枢纽国际商务合作区展区正式启幕。本届展会以"AI科技•慧享未来"为...

关键字: 西门子 博世 嵌入式 洗碗机

在“AI科技,慧享未来”的时代命题下,人工智能正加速渗透至家庭生活的每一个细节。2026年中国家电及消费电子博览会(AWE2026)在上海启幕,聚焦AI技术如何重塑家电形态与人居体验。围绕“智造不凡 悦享非凡”主题,西门...

关键字: 嵌入式 冰箱 AI
关闭