首页 / 行业
关于嵌入式系统的可裁剪性
2019-06-14 11:03:00

公司在研发嵌入式产品过程中,产品的功能会不断的添加和更新,产品的型号也会越来越多。这时产品的软件研发团队就需要考虑是在原有的软件版本上修改还是全新开发。从研发成本上考虑会考虑基于原有软件上修改。原有软件上功能会越来越多,但一款产品可能只需要其中部分功能,这就要求嵌入式软件系统具有良好可裁剪性。嵌入式系统提供良好的裁剪性,有利于产品开发团队做出更多差异化的产品和低成本的产品(裁剪后的软件系统通常也降低了对硬件的要求)。
嵌入式系统的可裁减性,必须在嵌入式系统设计中引入子系统和块的概念,只有在顶层设计时明确了子系统和模块。可裁减性才能够落地。分层设计做到位,子系统及模块间的依赖关系越明确,耦合越少则裁减实施起来越简单。下图为华为设计的LiteOS的架构图,LiteOS做为物联网设备的OS,其在设计之初就必须考虑可裁减性,从官方公布的框图就可以看出。
静态编译时主要是通过条件编译宏来控制。为每个特性定义一个编译宏,当一款产品的特性确定后,在编译时只打开特定特性的编译开关,这样无关的特性代码就不会参与编译,有效的减少静态编译出来的软件包体积。此方法的缺陷是必须重新编译代码,同时降低了代码可维护性。
动态库将各个功能模型分别编译成动态库,由主进程根据产品的功能需要加载需要的动态库。这种方法需要主进程从产品的规格文件获取需要加载的动态库,并按动态库要求的顺序依次打开。此方法的优点是不用重新编译,缺陷是实现起来复杂。
控制函数流程,实现功能控制类似静态编译,只不过是将静态编译时的编译宏改成全局变量判断。这些全局变量应该在主进程启动时从规格文件获取特性并加载在全局变量中,通过这些特性全局变量控制函数(业务)流程,达到功能裁减的目的。此方法是前面两种方法的折中,实现简单也不需要重新编译代码。但软件包体积没有减小。
通常在一个项目中不会只使用其中一种方法,而是会根据不同场景在不同的层次上同时使用上述方法。
最新内容
手机 |
相关内容
2023 年 3 季度了 DigiKey 新增 4
2023 年 3 季度了 DigiKey 新增 4 万多种现货零件,多种,零件,现货,季度,产品,原厂,全球领先的供应品类丰富、发货快速的商业现货技DigiKey 推出《超越医疗科技》视频
DigiKey 推出《超越医疗科技》视频系列的第一季,推出,医疗科技,健康,需求,产品,诊断,全球供应品类丰富、发货快速的现货技术元器件新一代8通道脑电采集芯片研制成功,
新一代8通道脑电采集芯片研制成功,铠侠与西部数据已中止合并谈判,合并,芯片,脑电,新一代,通道,产品,近日,一项重要的科技突破在全球范苹果即将推出Mac系列新品,或搭载3nm
苹果即将推出Mac系列新品,或搭载3nm M3芯片,芯片,搭载,推出,全新,市场,研发,近日,有关苹果即将推出新一代Mac系列产品的消息引起了广人形机器人风起,连接器待势乘时
人形机器人风起,连接器待势乘时,连接器,人形机器人,工作效率,性强,研发,光纤,近年来,人形机器人在人工智能领域取得了巨大的进展。随清华大学研发光电融合芯片,算力超商
清华大学研发光电融合芯片,算力超商用芯片三千余倍,芯片,研发,商用,测试,计算,科学研究,近日,清华大学发布了一项重要科研成果,他们成英特尔不应该担心英伟达Arm架构的P
英特尔不应该担心英伟达Arm架构的PC芯片?恰恰相反,芯片,英伟达,英特尔,调整,研发,推出,英特尔目前是全球最大的半导体公司之一,主要以浅析动力电池熔断器的基础知识及选
浅析动力电池熔断器的基础知识及选型,动力电池,时切,系统安全,作用,产品,系统,BA4558F-E2动力电池熔断器是用于保护动力电池系统安