入门 因此,您想使用 Rust 编程语言对新的 Raspberry Silicon 微控制器进行编程。你来对地方了! 该存储库是rp-halRaspberry Silicon RP2040 微控制器和各种相关板(如 Raspberry Pi Pico 和 Adafruit Feather RP2040)的高级驱动程序的集合。 如果您想为 Raspberry Silicon 编写应用程序,请查看我们的 RP2040 项目模板。 如果您想编写使用 Raspberry Silicon PIO 状态机的代码,请查看pio-rs。您甚至可以在运行时在 RP2040 本身上编译 PIO 程序! 如果您想在我们支持的板上试用一些示例,请查看下面的板支持包列表,然后单击以查看每个板的各种示例。 在尝试任何示例之前,请确保您安装了最新的稳定版 Rust,以及正确的目标支持: 更多详情、使用方法,请下载后阅读README.md文件
2022-07-06 19:09:59 321KB rust
stm32h7xx-hal在 STMicro STM32H7xx 系列微控制器的外围访问 API 之上包含一个硬件抽象层。这个 crate 背后的想法是掩盖这些 MCU 上可用的各种外围设备的细微差别,以便可以为同一系列中的所有芯片编写 HAL,而无需为每个模型剪切和粘贴 crate。 这个 crate 依赖于 Adam Greig 出色的stm32h7 crate 来提供适当的寄存器定义,并实现了部分 嵌入的 hal特征集。大部分实现都改编自stm32-rs 组织中的其他 HAL crate 。 支持的配置 stm32h743v(修订版 V:stm32h743、stm32h742、stm32h750) stm32h753v stm32h747cm7 (stm32h747, stm32h757) stm32h7b3 stm32h7b0 stm32h7a3 stm32h735 (stm32h725, stm32h735) 更多详情、使用方法,请下载后阅读README.md文件
2022-07-06 19:09:57 324KB rust
这个 crate 提供了一个 cargo 子命令来处理嵌入式目标。 它可以刷新目标,就像 cargo-flash 一样,但可以做更多的事情,例如记录目标的 RTT 输出,打开连接到目标的 GDB 服务器,以及更多功能,例如 ITM! 包括但不限于 nRF5x、STM32 和 LPC800 在内的各种芯片系列都可以使用 DAPLink、ST-Link 或 J-Link 进行工作。它支持probe-rs支持的所有目标和探针。 更多详情、使用方法,请下载后阅读README.md文件
2022-07-06 19:09:52 49KB rust
AVR 微控制器的寄存器周围自动生成的包装器。 通过该功能,您可以选择您想要寄存器规格的芯片。以下列表是当前支持的内容: atmega8 atmega8u2 atmega4809 at90usb1286 attiny13a atmega48p atmega32u4 attiny167 atmega64 attiny202 atmega644 attiny84 atmega168 attiny85 atmega328p 等等等等 更多详情、使用方法,请下载后阅读README.md文件
2022-07-06 19:09:51 398KB rust
USB设备 Rust 中用于嵌入式设备的实验性设备端 USB 堆栈。 此板条箱仍在开发中,不应视为生产就绪,甚至不兼容 USB。 UsbDevice 对象代表一个复合 USB 设备,是应用程序实现者最重要的对象。UsbDevice 结合了许多 UsbClasses(自定义的,或者其他 crate 提供的预先存在的)和一个 UsbBus 设备驱动器来实现 USB 设备。 UsbClass trait 可用于实现 USB 类,例如 HID 设备或串行端口。如果标准类未涵盖所需的功能,则实现也可以使用自定义类。 UsbBus trait 旨在由特定于设备的 crate 实现,以为每个设备的 USB 外围设备提供驱动程序。 更多详情、使用方法,请下载后阅读README.md文件
2022-07-06 19:09:49 38KB rust
实时中断驱动并发 用于构建实时系统的并发框架。以前称为大众实时。 特征 以任务为单位的并发1.任务可以是事件触发 的(响应异步刺激而触发)或由应用程序按需生成。 任务之间的消息传递。具体来说,消息可以在生成时传递给软件任务。 一个定时器队列 2。软件任务可以安排在未来某个时间运行。此功能可用于执行周期性任务。 支持任务优先级,从而支持抢先式多任务处理。 通过基于细粒度优先级的关键部分1实现高效且无数据竞争的内存共享。 在编译时保证无死锁执行。这是比标准Mutex 抽象提供的更强大的保证。 最小的调度开销。任务调度程序具有最小的软件占用空间;硬件完成大部分调度。 高效的内存使用:所有任务共享一个调用堆栈,并且对动态内存分配器没有硬依赖。 完全支持所有 Cortex-M 设备。 该任务模型适用于已知的 WCET(最坏情况执行时间)分析和调度分析技术。 更多详情、使用方法,请下载后阅读README.md文件
2022-07-06 19:09:48 228KB rust
支持 x86_64 特定指令(例如 TLB 刷新)、寄存器(例如控制寄存器)和结构(例如页表)。 功能标志 nightly:启用仅在夜间 Rust 上可用的功能;默认启用。 instructions:默认启用,开启 x86_64 特定指令和相关功能。仅适用于 x86_64 目标。 更多详情、使用方法,请下载后阅读README.md文件
2022-07-05 09:07:17 103KB rust
一个微小的硬件加速像素帧缓冲区。 但为什么? 为您喜爱的平台快速制作简单的 2D 游戏、基于像素的动画、软件渲染器或模拟器的原型。然后添加着色器来模拟 CRT,或者只是用一些漂亮的 VFX 来增加它的趣味性。 pixels不仅仅是一个将像素推送到屏幕的库,还不是一个完整的框架。您负责管理窗口环境、事件循环和输入处理。 特征 基于现代图形 API 构建,由wgpuVulkan、Metal、DirectX 12、OpenGL ES3 提供支持。 DirectX 11、WebGL2 和 WebGPU 支持正在进行中。 使用您自己的自定义着色器获得特殊效果。 完美像素边界上的硬件加速缩放。 支持非方形像素纵横比。(在制品) 例子 康威的人生游戏 自定义着色器 亲爱的 ImGui 示例winit Egui 示例winit WebGL2 的最小示例 SDL2 的最小示例 最小的例子winit 最小的例子fltk 像素入侵者 raqote例子 故障排除 驱动程序问题 最常见的问题是主机 更多详情、使用方法,请下载后阅读README.md文件
2022-07-05 09:07:04 2.15MB rust
范围 embedded-hal作为构建平台无关驱动程序生态系统的基础。(驱动程序意味着库 crates,它让目标平台与外部设备(如数字传感器或无线收发器)连接)。 该系统的优势在于,通过将驱动程序编写为驱动程序之上的通用库,embedded-hal作者可以支持任意数量的目标平台(例如 Cortex-M 微控制器、AVR 微控制器、嵌入式 Linux 等)。 应用程序开发人员的优势在于,通过采用embedded-hal他们可以为他们的平台解锁所有这些驱动程序。 embedded-hal不依赖于特定的执行模型,例如阻塞或非阻塞。 对于超出 提供的功能,embedded-hal鼓励用户直接使用目标平台。不过,可以提议将通用功能的抽象包含在本指南embedded-hal中的描述中。 更多详情、使用方法,请下载后阅读README.md文件
2022-07-05 09:07:01 63KB rust
波形函数求解器:并行化的 3D薛定谔方程求解器。 Wa er利用 Wick 旋转的时间相关薛定谔方程来求解三个维度上的时间无关解。 更多详情、使用方法,请下载后阅读README.md文件
2022-07-03 18:03:37 48KB rust