/rust-embedded-study-avr

Rust Embedded programming study for AVR

Primary LanguageHTMLCreative Commons Zero v1.0 UniversalCC0-1.0

rust-embedded-study-avr

Rust Embedded programming study for AVR

research and learn

bool processing

issues and solution

progmem variables, immutable const data

LLVM ERROR: Not supported instr: <MCInst 312 <MCOperand Reg:1> <MCOperand Imm:13> <MCOperand Reg:41>>

stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

  • https://gitter.im/avr-rust/Lobby?at=6186efd42197144e84ae360a

    jatsekku @jatsekku:matrix.org [m] Nov 07 05:12 Hi guys! it's not stricte rusty but today i wanted to play with arduino on my arch (5.10.77-3-lts) and I can't connect to bootloader using ravedude/arduino IDE It's based on CH340 and I was getting error avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00 some weeks ago everything was fine but it's not working anymore, I tried to load 'fixed' module: https://aur.archlinux.org/packages/ch34x-dkms-git/ but it didn't help. Do you have any ideas?

SIGSEGV when compiling on latest nightly #25

avr-binutils linker

  • Aug 23 2017 14:38

    Dylan McKay @dylanmckay Aug 23 2017 14:38 I think that we'd have to rely on avr-binutils being installed - Rust does not currently use the LLVM linker (it's under the LLVM project, but it's a completely separate library) The function issue is the main one I'm worried about. All of the others have only occurred in libcore, and we commented those parts out I don't think that'd be a problem, I'm sure the ARM Rust target also relies on the ARM binutils linker the compiler-builtins crate would also solve our problems, including the shift operator missing symbol thing of course, it wouldn't be very hard to enable AVR for compiler-rt if we did want to use that library though (or even compiler-rt), we'd have to roll our own versions of the AVR-GCC routines with custom calling conventions and merge it there

AVR instructions

Bit transfer BST (Bit STore) BLD (Bit LoaD)

AVR Documents

Rust docs

  • Rust local doc
  • Rust local doc - core lib

Rust Tutorial, Summary, quick learn

Rust books

AVR Rust

AVR Rust projects

Forum and discussion

ARM arch

AVR Rust News

  • 【Rust日报】2020-08-27 在Arduino Uno上面跑 Rust 程序 - Rust语言中文社区

    Cupnfish 发表于 2020-08-27 17:48 在Arduino Uno上面跑 Rust 程序

    很久之前,为了在 Arduino上跑 Rust,还必须安装专门经过改造支持 AVR 的 Rust 编译器 :rust-avr 。 一个月之前,rust-avr 已经被合并到了 Rust master 分支,这意味着你在 Nightly 下就可以玩 Arduino了。

    并且包含了一本新书 The AVR-Rust Guidebook : https://book.avr-rust.com/

    rust-avr 项目官网: https://www.avr-rust.com/

    这篇文章就是一个教程。

    https://dev.to/creativcoder/how-to-run-rust-on-arduino-uno-40c0

    via https://t.me/rust_daily_news/4495

  • 【Rust 日报】2021-08-29 Tangram:训练、部署和监控机器学习模型

    长琴 发表于 2021-08-29 20:17 Tags:rust,日报 Embedded Rust 第一步:选择一块板子 内容整理自 robyoung (Rob Young) 的文章:First steps with Embedded Rust: Selecting a board 有这么多令人眼花缭乱的微控制器和项目,对于嵌入式经验很少的人来说应该从哪里开始? 我们在开发板中想要什么? 良好的架构支持 良好的芯片支持 活跃的社区 内置调试器 我们需要什么架构? 拥有最完整库、最详尽指南和最大社区的架构是 ARM Cortex-M。 ARM Cortex-M 是面向微控制器应用的低功耗、低成本处理器。 查看 crates.io 上的下载量虽说不是一个完美的指标,但可以让我们了解规模上的差异。在过去的 90 天内,cortex-m 的下载量超过 250k。 RISC-V、AVR 或 Xtensa 最多有 3k 次下载,cortex-a 有大约 18k 次下载。ARM Cortex-M 独树一帜。 AVR:AVR 是用于嵌入式系统的 8 位微控制器系列。在 Rust 生态系统中,它们并没有得到很好的支持。直到最近,还需要使用 rustc 的一个分支来构建 AVR。 现在有几个不同的选择,awesome-avr-rust 是一个很好的起点。

  • 【Rust日报】 2020-08-20 Chrome 的 Rust 与 C++ 的互操作性

    Rust on Arduino Uno 这是作者使用 Rust 在 Arduino 上实践的系列博文的第一篇,如何在 Arduino Uno 上点亮小灯💡。在撰写本文时,大约一个月前,avr-rust 分支被合并了(https://github.com/rust-lang/rust/issues/44052)。 这意味着现在可以通过仅运行cargo + nightly 构建,为目标(avr-unknown-unknown)提供一个 .cargo/config.toml 来为 avr 微控制器板编译 Rust 程序。 更多请看原文:https://creativcoder.dev/rust-on-arduino-uno

  • 【Rust日报】2020-07-24 Rust 编译器(nightly版)支持 AVR 了

    Rust 编译器(nightly版)支持 AVR 了 来自Reddit的热评: I Have a few Arduinos lying around... maybe I can bring them back to life with Rust AVR 项目官网的简介: The standard Rust nightly compiler can be used to compile crates for AVR - no compiling from source required.

    推荐库:https://github.com/esp-rs

    Read More

  • 【Rust日报】2020-06-14 - 论文《 过去十年C++的演变》

    AVR被合并进Rust中 #rust #avr Read More

  • 【Rust日报】 2019-03-02

    「嵌入式Rust讨论」用什么硬件可以更容易地开始用Rust进行嵌入式开发 #embeded 有人在Reddit发帖询问此问题,他用的是Arduino,但是使用Cpp和Rust都非常痛苦。即便使用针对Arduino的Rust版本avr也不太稳定,所以他想问问什么硬件更适合入门者? 回复中有人提到,使用基于ARM Cortex-M的硬件,比如STM-32 uC更好,Rust对该硬件体系支持的更好。可以配合discovery book一书学习。 评论中也有其他建议可以看看。

    Reddit 讨论

    discovery book

  • 【Rust每日新闻】 2018-12-17

    「嵌入式Rust」Rust对Arduino支持进展调查 #arduino 因为Arduino使用的是AVR微控制器,但Rust目前还未支持AVR。但Rust嵌入式开发组已经有计划支持AVR。 感兴趣的朋友可以关注此issues: AVR support 目前也有一个avr-project GitHub项目组独立fork了Rust,提供了对AVR的支持。在官方Rust未支持AVR之前,可以使用这个,看上去还非常活跃。 avr-rust