rust做嵌入式开发_Rust 嵌入式开发 STM32 & RISC-V

Rust 嵌入式开发 STM32 & RISC-V

发布于 2020-04-03 11:07:06

本帖最后由 wuhanstudio 于 2020-4-3 11:58 编辑

更新地址:

[md]# Rust 嵌入式开发 STM32 & RISC-V

- Preface

- Introduction

- Rust on STM32F103

- Rust on RISC-V

- Issues

- Reference

## Preface

最近 Mozilla 的 Rust 和 Google 的 Golang 两门新语言非常受关注。

![](https://tse1-mm.cn.bing.net/th/id/OIP.g5TEj1R0X0CzTgvielr0YwHaE8?w=240&h=160&c=7&o=5&pid=1.7)

不过 Golang 除了 Docker 这个标志性的项目,在服务端配合 gRPC 也已经应用非常广泛了,可以说已经是相当很成熟了;然而相比之下 Rust 还是旁观的多,实际用的少,微软和 Facebook 也都只是宣称实验性地尝试用 Rust 实现一些新功能,毕竟 Facebook 也在研发自己的操作系统。

Rust 的官方主页标语就是 reliable and efficient,吉祥物也是硬壳的螃蟹,自然就有人想到把 Rust 应用到安全可靠的嵌入式。

![](https://tse3-mm.cn.bing.net/th/id/OIP.ls9e1iT_NALaCEavv77EOgHaE8?w=258&h=160&c=7&o=5&pid=1.7)

嵌入式的特点就在于指令集 (ISA) 特别多,如果一门语言想要应用到嵌入式,首先自然是得能编译出兼容不同指令集的程序。Rust 早期编译器是 rustc 提供代理 (proxy),将编译任务传递到后端实际的编译器来进行编译,这样就可以编译出不同指令集的程序。但是在 Rust 1.28 之后,终于拥抱 LLVM,Golang 和 Swift 也都是积极拥抱 LLVM(LLVM 势不可挡)。LLVM 特点就是在于提供抽象的 IR (intermediate representation),先将源码翻译为 LLVM IR,再由后端生成不同指令集的程序,效率高,还能兼容不同平台。

![](

)

所以在 Rust 积极拥抱 LLVM 之后,在嵌入式领域开发更加方便了,接下来就介绍一下如何在 STM32 (Cortex M3) 和 GD32 (RISC-V) 上用 Rust 开发。

## Prerequisites

首先自然是得搭建好 Rust 的开发环境,这在 Rust 的[主页](https://www.rust-lang.org/tools/install)上已经介绍得很详细了,安装也很简单。

不过值得注意的是,在 Windows 下安装 Rust 会提示需要安装 Visual Studio,其

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值