广告

Cortex-M编程新语言RUST有哪些优点?

2021-04-13 09:55:46 Nordic Semiconductor 阅读:
开发人员之前仅能够使用C或C++语言对这类Cortex-M器件进行编程。现在又有了第三种选择,即Rust编程语言,为开发人员带来许多有用的新功能。

近年来,消费、医疗、农业、工业以及其他领域对物联网(IoT)连接的需求不断增长,产品开发咨询公司42 Technology表示,制造商希望为最终用户带来与众不同的产品,因此想利用物联网连接来添加功能,或为基于服务的产品生成新的数据流。oPgednc

IoT连接中的硬件包括电池供电的便携式小型设备,其中很多都采用Arm Cortex-M系列嵌入式处理器,例如Nordic Semiconductor的nRF9160 SiP核心采用了M33处理器。oPgednc

到目前为止,开发人员仅能够使用C或C++语言对这类Cortex-M器件进行编程。现在42 Technology提出了第三种选择,即Rust编程语言,为开发人员带来许多有用的新功能。oPgednc

充分利用资源

Rust编程语言必须在高性能和能有效使用资源的平台和环境下使用,它还引入了一些功能来帮助开发人员提高效率并生成更安全的代码。例如,Rust提供了称为Cargo的软件包管理器,就像Python的pip或Node的npm一样,可以让开发人员从中央存储库中提取开源软件包,在其项目中轻松使用。oPgednc

Rust的另一项独特功能是“借阅检查器”,它是编译器的一部分。在编译期间,该工具能够检查代码,以确保两段代码不会同时访问同一数据(这是未定义的行为)。换句话说,如果一个函数被调用了,开发人员需要指定这次调用是临时(专有的或作为共享借入)“借入”该数值,或取得该数值的所有权。oPgednc

这款语言具有安全性、高速度和高生产力。根据42 Technology报道,微软、Dropbox、Facebook、谷歌、Cloudflare等公司都已成功将Rust语言应用于新项目,包括用于云基础架构,谷歌还将其用于下一代移动操作系统Fuchsia中。oPgednc

在Rust嵌入式工作组的大力推动下,Rust已经发展到“1.0”版本,可支持许多嵌入式平台,越来越多的企业也利用同样的技术优势来支持小尺寸低功耗系统,例如Nordic的nRF52和nRF53系列短距无线SoC,以及nRF9160低功耗蜂窝物联网SiP。oPgednc

Rust的套接字

nRF9160开发人员可以直接或通过Zephyr使用Nordic Socket API,这个API严格遵循标准Berkeley套接字API(有如在Linux和Windows中使用)。但它也有一些缺点,例如套接字和套接字家族都使用“int”类型,如果开发人员将它们混淆,编译器将不能工作。另外,开发人员必须记住在套接字中调用“nrf_close”,因为如果变量超出范围,套接字将出现泄漏,从而在运行时难以调试。oPgednc

为了使Rust开发人员能够很好地利用这一功能强大且经过良好测试的程序库,同时帮助他们避免意想不到的错误,42 Technology针对Nordic套接字库开发了Rust包装器。Rust包装器使用高级别并且分类严谨的对象,例如“TcpSocket”和“AtSocket”,它们在超出范围时会自动关闭,并允许开发人员发送格式化数据(图1)。oPgednc

oPgednc

图1:针对Nordic套接字库建立的Rust包装器使用分类严谨的对象,例如“TcpSocket”和“AtSocket”,当它们超出范围时会自动关闭,并允许开发人员发送格式化数据。oPgednc

这种方法非常有效,42 Technology表示可以使用Cloudflare的新Rust语言QUIC库进行开发,直接在nRF9160上运行世界上首个QUIC(即将发布的HTTP/3标准的一部分)示例。oPgednc

Rust + Zephyr

Rust的另一个优点是可以与Zephyr RTOS混合使用。Rust库可以编译为标准的C静态库,从而与所有开发人员现有的C和C++项目关联。某些项目甚至只需一次替换一个函数,就可以从C语言转换为Rust语言。例如,使用SVG库,其中的库具有相同的API但在内部运行得更快、更安全。oPgednc

Rust编程语言旨在提高性能、安全性和开发人员生产力,适合不同规模的项目——从超大规模云基础设施到最小的Cortex-M微控制器。此外,由于它可以编译为标准目标码文件,因此开发人员可以充分利用其所有优点,同时仍然将其集成到现有的C和C++项目中。oPgednc

本文为《电子技术设计》2021年4月刊杂志文章,版权所有,禁止转载。免费杂志订阅申请点击这里oPgednc

  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 12月13日起通信行程卡服务正式下线 12月12日0时,“通信行程卡”微信公众号发布“关于下线‘通信行程卡’服务的公告”
  • Microchip在RISC-V峰会上展示基于RISC-V的FPGA和空间 领先的PolarFire®器件可提供两倍能效、军用级安全和最高可靠性,PolarFire 2 FPGA路线图将进一步扩大其领先优势 
  • 国产芯片 助力降本增效 国产芯片 助力降本增效
  • 4200VDC高隔离汽车级DC/DC电源模块——CFB0505XT-1WR3 金升阳汽车级DC/DC电源模块CFB0505XT-1WR3系列,满足汽车EMC标准,产品隔离耐压高达3000VAC/4200VDC,工作温度范围为-40 to +105°C,效率高达82%,且具有可持续短路保护(自恢复),产品整机符合AEC-Q100测试标准,满足汽车行业对高可靠小体积电源的要求。
  • SCT2432Q高效率同步降压型DCDC转换器 SCT2432Q通过AEC-Q100的车规级Grade1认证;输入电压可达40V,输出电流3.5A的高效率同步整流降压变换器芯片;高压侧 MOSFET的导通时间最小为100ns,支持高输入电压/输出电压的电压转比。采用固定频率峰值电流模式控制,工作频率高达2.2MHz。允许低至3.8V的宽范围输入电压以及高达100%的最大占空比支持。
  • CS32F036Q:高可靠车规MCU产品 芯海科技推出的高可靠车规MCU产品CS32F036Q,内置高性能的ARM®Cortex®M0 32位内核,工作频率48MHz,集成多达32K字节Flash和4K字节SRAM,以及广泛的外设和I/O。提供标准通信接口、专为电机控制设计的12位高速ADC和增强型定时器、最多支持17路PWM输出。
  • 芯海科技斩获ICDIA 2021 汽车芯片创新奖 中国集成电路设计创新联盟重磅发布了《2021汽车电子芯片创新产品目录》,为搭建产用对接合作平台,双向发力保障芯片产品供给,满足市场的需求将发挥重要作用。芯海科技CSA37F62-LQFP48、CS32F031、CS32G020、CSU3AF10、CS1239产品入选其中。
  • #芯洲科技 芯洲科技创立于2016年,是国内领先的中高压DCDC(直流到直流)功率转换芯片提供商。核心研发和管理团队来自业界顶级半导体设计公司,公司拥有独立自主知识产权和丰富的IP积累,在北京、深圳、成都、杭州设有办公地,业务遍及全国。芯洲科技践行围绕客户需求创新和质量第一的文化,致力于功率转换、功率控制和功率保护的核心技术,提供有商业竞争力的模拟电源芯片解决方案和服务,帮助客户解决功率密度、效率、电磁干扰、散热、产品体积、安全以及芯片设计易用性等系统应用方面的挑战和困难,保障客户电子电气产品高效节能安全运行,创造客户价值。芯洲科技和生态中的上下游合作伙伴共同打造可持续的核心竞争力和核心产业价值,为世界节能降耗,共创绿色低碳新生活。芯洲科技秉持着以价值为先,以贡献为本,诚信求真,在产品品质、服务、管理上不懈追求极致的核心价值观。
  • 意法半导体发布车规音频功放芯片,为紧急救援、远程信 FDA803S和FDA903S是意法半导体FDA(纯数字放大器)系列中最新的单通道全差分10W D类音频功率放大器。目标应用包括紧急道路救援、远程信息处理等需要音频通道产生最高10W标准输出功率的语音、音乐或提示消息的任何汽车系统。
  • 意法半导体生物识别支付平台获EMVCo 认证,有助于机构 意法半导体完整的技术平台获得行业认证,整合嵌入式安全单元和超低功耗通用微控制器,具有经济、强大的安全保护功能
  • 拆解iPhone 14 Pro,高度模块化,相比上一代有上面变化? 14 Pro的内部结构是怎样的,相比上一代又存在着什么样的变化呢?
  • 自制回路增益测试变压器 我们可以购买测试设备,用它来检查在运行反馈回路的回路增益和回路相位属性,并且所购买的设备可以在非常宽的频率范围内提供有用的结果。然而,我所遇到的电源中的反馈回路,只需要在相当有限的频率范围内进行表征。在这种情况下,使用一些低成本元器件“自制”,效果就非常好。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了