跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
点火电阻捷比信 · 专业器件主题站

回归大自然! “大气”正式登陆Android平台

我们在职业生涯的某个时候都曾考虑过这个问题:现在,您想创建一个合适的项目,取决于您是要进一步探索该想法还是将其付诸实践。但是,您应该从哪种软件架构开始? Espruino? Arduino的?微型Python? Segger embOS? MicriumuC / OS-II? uC / OS-II和uC / OS-III有什么区别?您应该采用初始成本较低的开源体系结构,还是选择需要先期成本以加快设计流程的商业解决方案?什么是软件架构?在本文档中,“软件体系结构”是指“软件体系结构”。术语“软件”被解释为“编写软件的特定方式”。例如,Arduino提供了一种编写程序代码的特定方法,从而允许在多个项目之间重用软件。该软件体系结构由几个不同的部分组成,并由以下组件定义:编程语言,应用程序编程接口(API)和某些工具集的连接。例如,对于Arduino和Espruino,可以将软件体系结构紧密地连接到该工具,也可以像Micrium和FreeRTOS一样将其分离。什么是操作系统?那么,如何选择软件架构呢?首先,我们需要更清楚地解释一些术语。我们已经提到了术语操作系统(OS)。您真正需要编写的是可以满足您特定要求的程序代码,这些程序代码将您的产品与其他产品区分开。但是,您仍然需要依赖软件的其他部分,例如ADC驱动程序或SD卡的文件系统堆栈。这些软件通常被称为软件组件。在这里使用一个更实质性的比喻,您可以想象您的软件组件就像砖头一样,然后将操作系统视为水泥。程序块的形状在操作系统中定义,以及它们如何与其他程序块交互,因此,当您向软件中添加更多组件时,它们将继续完美地协同工作。听起来不错,但是您真的需要一个操作系统吗?增加操作系统还带来额外的负担,它将消耗数千字节的闪存,增加对事件响应的延迟时间,并且还需要花费一些时间来学习如何在操作系统环境中编写程序。决定使用哪种软件体系结构将决定您的想法是否可以按时,按预算推广,或使您的投资面临风险。一般经验法则是,如果目标闪存容量为128 KB或更高,并且需要通信功能,则需要一些堆栈(USB,以太网,SDIO,CAN,Wi-Fi,BLE)。从长远来看,您最好使用操作系统。调度程序是操作系统中最重要的事情之一。调度程序是一个组件,用于为可能争夺同一资源的不同任务分配资源和处理时间。通常,调度器有两种工作方式,而这恰恰是“实时”调度的方式。是指实时操作系统(RTOS)。实时意味着在特定的时间将执行特定的任务。假设您获得了需要处理的RF数据包。无论您的设备当前正在执行什么操作,实时操作系统的核心都将保留当前正在执行的任务,并首先完成此高优先级任务。这种行为不是使用处理器的最有效方法,但是例如,在电动机控制应用程序中,对于它来说,在通信堆栈和应用程序中最重要的事情就是反应时间问题。商业解决方案与开源解决方案之间的比较:例如,如果您确定是否需要采用实时操作系统,并开始建立软件需求。如您所知,您需要一个USB堆栈和一个以太网堆栈,以及一个外部MAC / PHY驱动程序才能将设备连接到Internet。但是,您应该从哪里开始呢?您真的只需要为您喜欢的微控制器下载最新的FreeRTOS模板,然后继续下载开源软件并将其放入设备中?还是只需要寻找一个拥有所需软件并获得完整软件组合的商业供应商?为了做出更明智的决定,我们经常谈论为所选解决方案提供总体拥有成本(TCO)概念。所谓的总拥有成本不仅包括您为软件支付的金钱价值,还包括寻找解决方案,组装不同的组件以及将不同的组件集成到项目中所花费的时间,以及开发的工作时间,测试和生产。 。在正常情况下,我们看到的是商业解决方案的总拥有成本(TCO),