Release build slower than debug on ARM (Yocto cross-compile)
Hey everybody, I have written an application for some networking tasks that runs in the user space of my Yocto-Linux. I noticed a dip in performance running the --release version. Afterwards, I’ve...
View ArticleRTIC Dispatchers - Do I need to use any free interrupt for a software task?
Hello, I am currently learning Rust for embedded devices and one thing that isn't clear to me in the Rust RTIC handbook is what exactly is a dispatcher for a software task. According to the Rust RTIC...
View ArticleWobblechar – parse ASCII/UTF-8 waveform diagrams into decoded samples...
Coming from embedded C/C++, I wanted a less tedious way to write tests on electronic signals. I saw myself write ascii-waveforms in the docs and thought: Why not use this as input. So I completed this...
View ArticleCan rust create truly position independent code?
I have a kernel (elf binary) which I load into an arbitrary location and jump to it. This works, for the most part, but I noticed that attempts to use a trait causes a crash because the vtables...
View ArticleMeasuring CPU load
I wanted to measure the CPU utilization under embassy. I found this blog on the subject: giacomocaironi.dev Giacomo Caironi - Measuring Cpu usage with rust Embassy I really love the Rust embassy...
View ArticleRust for Nintendo GameCube
Howdy! I'm new here and recently decided to start learning Rust. I'm really excited to get into this ecosystem and start developing software! My background is mostly in scripting with bash, design and...
View ArticleWobblechar for rithmic notation
So I made this Rust-crate "Wobblechar" while ago. It translates character to whatever you like, typically a bool or number. Meant for character based waveforms. I was thinking.. I made this...
View ArticleAre there any object detection libraries out there for the Arduino?
I am looking for something similar to YOLO but for Arduino. I know that there is PixyCam that can attach to the arduino however you are "jailed" to using their camera and I don't want to be locked...
View ArticlePanic-free-friendly standard library
When working with a code which is supposed to be panic-free (that is with zero panic machinery linked into the final binary), I periodically encounter functionality from the standard (core) library...
View ArticleAccurately representing a per-processor, fixed-address MMIO device
Hello, I am writing a bare-metal operating system, currently working on the x86_64 implementation. I am dealing with the local APIC, which is a per-processor interrupt delivery device that is wired to...
View ArticleCyw43 on STM32H723
I already managed to get my NUCLEO-H723ZG to boot up and so some basic things. I saw online the Ezurio 453-00376 with the Ezurio 453-00141 card for it (specifically made for NUCLEOs), and wanted to...
View ArticleLearning to build+preserve a x-compile toolchain
Hello! TL;DR I'm learning how to build+preserve the Rust toolchain supply-chain for 10+ years. I'm climbing the learning curve and could use a push in the right direction. Here's the problem I need to...
View ArticleRust+Qt+shaders, how to integrate?
Qt is native for many Linux mobile devices e.g. Ubuntu Touch and in some cases nearly the only option, high level overview, what do I need to do to integrate something like cxx-qt and Qt with like...
View ArticleCast variable size data from SPI to array of structs
I am trying to write an embedded-hal-async SPI driver.(Pixy2 camera) There should be a function approximately: pub async get_blocks(&mut self) -> Result<&[Block]> The amount of...
View ArticleHow to initialising an inmutable static with pre_init when specifying...
Hello The documentation for the cortex-m-rt crate explains how one could place data in other sections than RAM: cortex_m_rt - Rust, but points out: However, note that these sections are not...
View Article[Beginner][Embedded] Understanding the usage of Traits and Errors in a crate...
Hi I'm a beginner working on a rp235x-hal project that also uses this tmc2209-uart crate on crates.io . I have managed to simplify the library to 3 files with the basic barebones which is slightly...
View Article[Beginner] uart on the pico-2 with rp235x-hal
Hi Beginner in rust here, I just finished The Book, and am starting my journey In embedded rust with the pico-2 using the rp235x-hal. However I have hit a problem in my project where the uart doesn't...
View Article[Beginner] Reference for memory.x format?
I am trying to run a rust application on an Arduino R4 WiFi. There is a HAL at GitHub - atan2l/ra-hal: Renesas RA HAL, forked from https://git.sr.ht/~az1/ra-hal · GitHub, but the linker script does...
View ArticleRust-lld, how to troubleshoot 'section' ... 'will not fit in region' errors?
Hello I have been struggling to find information on how to troubleshoot rust-ldd errors with a message like this: = note: rust-lld: error: section '.text' will not fit in region 'FLASH': overflowed by...
View ArticleStatic variable in no_std (embassy)
Hey, This might not necessarily be an embedded problem. But it came up for me in an embedded project using the Embassy framework. I want to calculate and store the bias of my IMU during a startup...
View ArticleMSP430 Rust and C interop ELF size is just 6 bytes
I'm trying to create a proof of concept for Rust and C interoperability on msp430g2553 platform. The idea is Rust code calls a rudimentary UART library to send text through COM to the computer. My app...
View ArticleEmbassy DMA with timeout (code review request)
I'm trying to write a driver for an infrared receiver to be used by an STM32[H7], and I'm using embassy to do so. It's my first real foray into embedded rust, and I've managed to write a couple of...
View ArticleSLATE: a key-value engine for raw NOR flash that proves what happens when the...
I've spent the last while building SLATE, a no_std, no-alloc key-value engine for the setting most storage engines quietly assume away: bare NOR flash, no filesystem underneath, no battery-backed...
View ArticleRelocation out of range when calling panic
I'm writing firmware for bare-metal x86 (x86_64-unknown-none) and keep hitting relocation out of range errors that I haven't been able to solve by messing with the linker script, code generation...
View ArticleIs there a better pattern than "log after, not during" for USB-only debugging?
I'm working with an Adafruit RP2040 Feather ThinkInk in Rust to drive some e-paper panels. The catch with this board is that there is zero hardware debug access: no SWD header, no footprints, and not...
View Article