当前位置:首页 > > strongerHuang
[导读]关注星标公众号,不错过精彩内容作者|liukangRust是什么Rust是一门赋予每个人构建可靠且高效软件能力的语言。高性能:速度惊人且内存利用率极高可靠性:在编译期就能消除各种内存错误生产力:出色的文档,友好的编译器和清晰的错误提示信息为什么要用Rust进行嵌入式开发Rust的...




Rust 是什么

Rust 是一门赋予每个人构建可靠且高效软件能力的语言。


  • 高性能:速度惊人且内存利用率极高


  • 可靠性:在编译期就能消除各种内存错误


  • 生产力:出色的文档,友好的编译器和清晰的错误提示信息


为什么要用 Rust 进行嵌入式开发

Rust 的设计理念:既要安全,也要高性能。Rust 的设计理念完全是嵌入式开发所需要的。


嵌入式软件在运行过程中出现问题,大部分是由于内存引起的。Rust 语言可以说是一门面向编译器的语言。在编译期间,就能够确保你安全地使用内存。


目前,嵌入式的主流开发语言还是 C 语言,不能上来就把底层的逻辑用 Rust 重新实现一遍。但是可以在 C 代码中嵌入 Rust 语言。


C 调用 Rust

在 C 代码中调用 Rust 代码,需要我们将 Rust 源代码打包为静态库文件。在 C 代码编译时,链接进去。


创建 lib 库

1、在 Clion 中使用 cargo init --lib rust_to_c 建立 lib 库。添加以下代码到 lib.rs 中,使用 Rust 语言计算两个整数的和:


1#![no_std]
2use core::panic::PanicInfo;
3
4#[no_mangle]
5pub extern "C" fn sum(a: i32, b: i32) -> i32 {
6 a   b
7}
8
9#[panic_handler]
10fn panic(_info:
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

PSOC™ Edge E84 AI 开发套件是一款用于嵌入式和边缘人工智能应用的开发板。本指南将说明如何配置 Arduino IDE 以支持 PSOC™ Edge E84 AI 开发套件,并提供在该开发板上编译、上传和运...

关键字: 嵌入式 边缘人工智能 Arduino

Agentic AI 正在生成比以往更多的模型、代码、需求以及测试工件,但更多的产出并不意味着更快的系统级开发进展。这种脱节源于系统连续性的中断:每次工具之间的交接都会丢失可执行的系统状态,迫使工程师在继续工作之前,从静...

关键字: 电动汽车 Agentic AI 嵌入式

本项目将一块STM32板改造为一个简单的音频设备,通过三个按钮进行控制。按下其中一个按钮可播放音调,另外两个按钮则用于通过扬声器调节频率的上下变化。该项目探索了嵌入式编程的基础知识,包括GPIO配置、方波生成以及实时响应...

关键字: 扬声器 嵌入式 方波 STM32

树莓派Pico 2是树莓派推出的最新微控制器开发板,搭载强大的RP2350微控制器。它提供更快的性能、更大的内存、增强的安全性,并支持Arm Cortex-M33和Hazard3 RISC-V两种架构。

关键字: 嵌入式 MicroPython 树莓派 RP2350

语音控制在消费电子产品中已十分常见,但将其集成到嵌入式项目中却仍然令人意外地困难。大多数解决方案依赖云服务、需要大量编程,或仅限于固定的一组预设命令。对于创客、学生和业余爱好者而言,将离线语音识别功能融入ESP32项目可...

关键字: 消费电子 嵌入式 ESP32-S3

在后端服务、嵌入式系统的长期运行过程中,多线程死锁是最让人头疼的疑难问题之一。很多时候程序没有任何崩溃迹象,CPU占用率也很低,日志输出突然完全停滞,所有业务请求全部卡死,进程就像进入了永久休眠状态。不少开发者遇到这类问...

关键字: GDB 嵌入式

康佳特基于 AMD 锐龙 AI 嵌入式 X100 系列处理器的COM-HPC Client conga-HPC/cRX1模块 树立性能新标杆

关键字: AI 嵌入式 处理器

在嵌入式开发、硬件调试和芯片测试的世界里,JTAG是一个无处不在却又常常被开发者一知半解的核心存在。很多工程师天天用JTAG下载程序、调试芯片,却未必能说清它的本质,遇到下载失败、连接中断的问题时,只会盲目更换仿真器,找...

关键字: JTAG 嵌入式

AI编程助手已经彻底改变了一名开发者一个上午能完成的工作量。过去需要几个小时才能理清思路、写出草稿的代码,现在几秒钟就能生成。对于探索性工作和快速原型开发来说,这种效率提升是实实在在的。

关键字: AI编程助手 代码 嵌入式

很多嵌入式开发者调试IIC通信时,都遇到过这类看似无解的问题:代码逻辑完全符合数据手册要求,示波器抓波形也看不出明显异常,但总线就是随机丢包、传感器偶尔返回乱码,甚至完全无法通信。排查到最后才发现,要么是GPIO配置成了...

关键字: 嵌入式 上拉电阻
关闭