rust做嵌入式开发_【Rust日报】 2019-05-17:一个通用型嵌入式芯片烧录软件

这篇博客介绍了Rust在嵌入式开发中的应用,特别是关于一个通用型嵌入式芯片烧录软件的讨论,该软件支持Windows和ST-Link。此外,还探讨了Rust的零成本抽象概念,如所有权、借用、迭代器和异步函数,并提到了mio异步计时器的使用。文章还提到了WASM在Linux内核中的运行以及wasm-bindgen对async/await的支持。
摘要由CSDN通过智能技术生成

「讨论」mio异步計時器如何使用?

官方說明文件

沒有範例程式碼,其實很難了解怎麼用

回覆中有人給出了答案

extern crate mio;

extern crate mio_extras;

use mio::*;

use mio_extras::timer::{Timer, Builder};

use std::time::Duration;

fn main()

{

const TIMER: Token = Token(2);

let poll = Poll::new().unwrap();

let mut gman: Timer = Default::default();

poll.register(&gman, TIMER, Ready::readable(), PollOpt::edge()).unwrap();

let mut gman_tout1;

let mut events = Events::with_capacity(1024);

gman_tout1 = gman.set_timeout(Duration::from_millis(2000), 9001);

gman.cancel_timeout(&gman_tout1);

loop {

poll.poll(&mut events, None).unwrap();

for event in &events {

match event.token() {

TIMER => {

println!("Timer-Event!");

if gman.poll() == Some(9001) {

println!("my timeout occured");

}

},

_ => println!("awkward"),

}

}

}

}

Read more

「比原生更快:在 Linux 内核中运行 WebAssembly」

WASM 運行在kernel 會得到性能跟靈活性,

作者覺得是一個很有前景的應用,

我個人覺得WASM之後應該會加上一些IO函數變成一個跨平台的新標準。

(文章里主要是说wasmer这个WASM运行时)

中文介紹 Read more

一个通用型嵌入式芯片烧录软件

目前还只支持windows和st-link,长远目标是代替OpenOCD。目前比竞品好的地方是可以同时烧两个芯片,这样做双机通讯测试就不用插拔dongle了

来自 @洛佳

Read more

零成本抽象

官方核心团队无船同志的新博文,探讨了「零成本抽象」。

零成本抽象在C++跟Rust是一個很重要的概念

簡單來說就是:不希望有很大很重的runtime,並且可以在編譯時被優化。

作者覺得 rust 有幾個很棒的 零成本抽象

所有權、借用

保證内存的正確使用

迭代器、閉包函數

可以輕鬆的串接 map, filter 等函數做處理

await 异步函數

當前的await語法雖然還沒有確定,但使用pinning 做到零成本抽象是確定的

Unsafe 函數、模块邊界

由於rust的語法複雜性,有很多實作會需要Unsafe的底層實作

這些Unsafe函數實作了零成本抽象的底層

讓我們在上層能安全的使用這些模块

另外无船同志还表示:trait对象目前不是零成本抽象,他想花点时间(至少需要18个月)去研究这个问题,然而总是有更优先的事情。

Reddit 讨论

Read More

wasm-bindgen v0.2.44 开始支持futures 0.3和async/await

wasm 已經可以使用 async了,快看看怎麼用吧

Reddit讨论

Read More

Terraform 產生3D地形

透過google map得到高度圖,再轉換成3D模形

裡面影片是youtube

Read more

From 日报小组 @Damody 责编 @Chaos

日报订阅地址:

独立日报订阅地址:

Telgram Channel

阿里云语雀订阅

Steemit

GitHub

社区学习交流平台订阅:

Rust.cc论坛: 支持rss

Rust Force: 支持rss

微信公众号:Rust语言学习交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值