微控制器(MCU)已经历了无数次技术进步,从硬件加密到复杂的图形功能。然而在此期间,软件开发一直难以跟上这种步伐,下面主要介绍了工程师在MCU平台上进行软件开发所面临的挑战。
硬件能力不断更新,软件开发停滞不前
与所有电子器件一样,自1970年代首批MCU问世以来,微控制器已经历了巨大的变化。首款真正具有商业价值的微处理器(如无所不在的8051)基于8位技术,并整合了几个计时器、UART端口、ADC,以及DAC(少数产品)。这些器件非常简单,易于掌握,指令集非常小,可以轻松地使用低层语言,如汇编语言。
快进到2023年,MCU经历了巨大的变化,内存更大、CPU更快,拥有多种外设,从高级电机控制到机器学习(ML)加速器。然而,MCU最重要的一个变化是其内部架构的复杂性增加了,如果没有驱动程序提供对底层硬件的抽象,从零开始为现代MCU编写代码就非常具有挑战性。
为了帮助工程师对现代MCU进行编码,我们提供广泛的软件解决方案和工具(包括驱动程序和高级配置工具),用户无需进行寄存器级编程。虽然这些工具对于项目实施至关重要,但用于MCU编码的软件基础架构并未达到与硬件相同的高度,导致软件和硬件之间存在巨大的技术鸿沟。
MCU面临哪些软件挑战?
无论使用哪个平台,MCU的软件开发都面临着诸多挑战,包括平台锁定、可移植性有限、碎片化、缺乏开源支持、开发人员自由受限和缺少标准化等。
首先,大多数MCU平台通常会将工程师锁定在固定平台上,因为要将代码移植到其他平台、其他架构或供应商会非常耗时,即使平台使用了相同的处理器内核(如Arm® Cortex-M®)。对于不使用MCU或其外设全部功能的简单项目而言,这可能是小问题,但对于因硬件需求变化而需要切换到其他制造商的项目来说,则可能会带来灾难性的后果。当OEM拥有各种价格和功率需求不同的产品时,不可避免地要使用多种不同的MCU,因此维护多代码基础的成本可能非常高。
另一个可能影响工程师的软件挑战是IDE差别迥异。工程师通常使用不同制造商的众多设备,因为每个设备只适用于特定的应用。但对每一个平台,工程师都需要了解IDE的工作原理、工具位于何处,以及如何让项目运行。因此,工程师要跟上每个开发环境的新变化可能需要耗费大量的时间。
此外,MCU供应商很少支持一个以上免费的IDE平台,并且大部分都基于Eclipse,Eclipse被视为软件开发行业的主力。Eclipse作为主流IDE,供应商可高效定制,便于使用,但由于它采用基于Java的内核,对CPU和内存资源需求要求非常高。相比之下,微软的Visual Studio Code(VS Code)非常轻量化和快速,因此许多工程师选择使用VS Code开发环境。
方案介绍
内置32位MCU运算处理内置32位MCU运算处理
方案简介
采用进口红外4波段传感器,
内置32位MCU运算处理,
探测距离50米
角度90度
报警时间3秒
提供元器件清单,电路图,软件。
性能参数
行业分类:智能家居
开发平台:STM 意法半导体
交付形式:PCBA
性能参数:传感器 : 红外&紫外
应用场景:各种火灾隐患场所
基于NXP低功耗MCU的养老手环
1.方案介绍:
养老手环,主要使用加速度传感器实现计步、睡眠监测,使用Lora无线方案实现定位等功能,主要面向老年人市场,方案采用NXP的低功耗MCU+SX1278。
2.主要功能和性能参数:
工作电压:Li-On Battery 3.7V供电,Lora发射功率12-14dB,通信距离200米;
3.方案核心优势:
低成本
低功耗
远距离通信
Lora
4.方案应用细分市场:
定位手环
老人防丢
计步手环、睡眠监测
我爱方案网是一个电子方案开发供应链平台,提供从找方案到研发采购的全链条服务。找方案,上我爱方案网!在方案超市找到合适的方案就可以直接买,没有找到就到快包定制开发。我爱方案网积累了一大批方案商和企业开发资源,能提供标准的模块和核心板以及定制开发服务,按要求交付PCBA、整机产品、软件或IoT系统。
技术服务靳工:15529315703