前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2021-12-01 Hubris - 一个用于嵌入计算机系统的小型开源操作系统

【Rust日报】2021-12-01 Hubris - 一个用于嵌入计算机系统的小型开源操作系统

作者头像
MikeLoveRust
发布2021-12-02 14:57:21
5310
发布2021-12-02 14:57:21
举报

Hubris - 一个用于嵌入计算机系统的小型开源操作系统

Hubris 是由Oxide Computer Company开发的用于微控制器的操作系统。

Hubris 提供抢占式多任务处理、单独编译的组件之间内存隔离、崩溃的驱动程序可以在不影响系统情况下重新启动,以及灵活的组件间消息传递,减少了系统调用,——大约 2000 行 Rust

没有运行时创建或销毁任务的操作,没有动态资源分配,没有特权模式运行的驱动程序代码,系统中没有C代码。这通过构造消除了许多存在于类似系统中的攻击面。

ReadMore:https://hubris.oxide.computer/

一个新的 DJ 应用

一名在Mixxx工作6.5 年的工程师,打算用 Rust 重写 Mixxx。

ReadMore:https://rust-audio.discourse.group/t/a-new-dj-application-in-rust/484

byteme

实现trait将struct转换为 Vec 并返回。默认情况下,转换为大端序。

use byteme::ByteMe;

pub use num_derive::FromPrimitive;

#[derive(Debug, FromPrimitive)]

pub enum Mode {

Unavailable = 0,

Unauthenticated = 1,

Authenticated = 2,

Encrypted = 4,

}

#[derive(ByteMe, Debug)]

pub struct FrameOne {

pub unused: [u8; 12],

#[byte_me(u32)]

pub mode: Mode,

pub challenge: [u8; 16],

pub salt: [u8; 16],

pub count: u32,

pub mbz: [u8; 12],

};

let frame = FrameOne {

unused: [0; 12],

mode: Mode::Authenticated,

challenge: [0; 16],

salt: [0; 16],

count: 1024,

mbz: [0; 12],

};

let size = FrameOne::SIZE; // Get the number of bytes in the frame

let bytes: Vec<u8> = frame.into(); // Converts the frame into vector of bytes

let frame: FrameOne = bytes.into(); // Converts the bytes back to frame

ReadMore:https://github.com/breuHQ/byteme

--

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档