!ZAnLsPitgFNnrNRLOQ:matrix.org

Drone OS

159 Members
An Embedded Operating System for writing real-time applications in Rust.20 Servers

Load older messages


SenderMessageTime
11 Apr 2021
@valff:matrix.orgvalffAnd a GDB fork from sifive.11:47:19
12 Apr 2021
@jimsy:matrix.orgjimsy joined the room.01:05:02
@jimsy:matrix.orgjimsy Hi folks. I'm trying the hello world example with a BMP and 1Bitsy, so I did: drone new --device stm32f405 --flash-size 1024K --ram-size 192K hello-world 01:06:49
@jimsy:matrix.orgjimsyRedacted or Malformed Event01:08:23
@jimsy:matrix.orgjimsyWhen doing just flash it builds and flashes fine, but alas I get nothing from just log. I see some comments above about drone being broken with nightly - is that what I'm running into?01:08:45
@jimsy:matrix.orgjimsy * When doing just flash it builds and flashes fine, but alas I get nothing from just log. I see some comments above about drone being broken with nightly - is that what I'm running into? 01:09:00
@valff:matrix.orgvalffWhich version of Drone do you run? Have you already tried updating to 0.14?05:46:53
@valff:matrix.orgvalff* Which version of Drone you're running? Have you already tried updating to 0.14?14:54:38
14 Apr 2021
@jimsy:matrix.orgjimsy@va23:32:46
@jimsy:matrix.orgjimsy * @valff yes, using drone 0.14.23:32:56
@jimsy:matrix.orgjimsySomething that isn't clear to me from the book is whether we use TRACESWO for logging or a UART?23:35:29
17 Apr 2021
@alvinhochun:kde.orgalvinhochunOh nice, Drone for GD32VF! Now I can try running it on the Pinecil08:39:59
@valff:matrix.orgvalff jimsy: The original BMP uses software implementation for TRACESWO pin. It showed as not reliable in our tests, so we prefer UART for logging with BMP. 09:14:47
@valff:matrix.orgvalff alvinhochun: Cool device! Didn't know GD32VF is already used in the wild. 09:18:27
@alvinhochun:kde.orgalvinhochunI had tried a bit of Rust on the Pinecil before, using the PAC and HAL crates. I also looked at Drone OS, but it seemed quite complicated12:16:00
@alvinhochun:kde.orgalvinhochunAt the moment I am messing around with IronOS, which is the soldering iron firmware written in C and C++12:16:41
@valff:matrix.orgvalffDrone OS might be more complicated than PAC and HAL crates, but it's more powerful.12:25:31
@alvinhochun:kde.orgalvinhochunWhy doesn't Drone OS build on top of the PAC crate?13:06:42
@valff:matrix.orgvalffBecause Drone OS has a more powerful interface for accessing memory-mapped registers.13:10:44
@valff:matrix.orgvalffIt leverages Rust type system to provide more compile-time guarantees, like registers ownership and synchronization between threads, up to field-level granularity.13:13:27
18 Apr 2021
@jimsy:matrix.orgjimsy
In reply to @valff:matrix.org
jimsy: The original BMP uses software implementation for TRACESWO pin. It showed as not reliable in our tests, so we prefer UART for logging with BMP.
Thanks for that. Looking at my STM32F415 board I think that means that it'd be on USART1 TX on PB6 does that sound right?
20:26:19
19 Apr 2021
@valff:matrix.orgvalffSounds right.15:54:30
22 Apr 2021
@robbym:matrix.orgrobbym joined the room.00:40:05
@robbym:matrix.orgrobbymHello, is there any documentation for adding a new chip? Or a list of hardware requirements to be supported? I know some RTOS require an MPU, for example. Secondly, are there any high level libraries that utilize DroneOS? And if so, is there a list of these libraries? Specifically, I am looking for a SD library that utilizes the SDIO capabilities of the STM32L4+ (and friends) line of chips.00:46:54
@valff:matrix.orgvalff robbym There is a section in the Drone book: https://book.drone-os.com/extensibility.html
Main requirement is having hardware support for atomics, especially the compare and swap instruction. MPU is optional.
19:45:58
@valff:matrix.orgvalff I'm collecting open-source drivers for my personal project here: https://github.com/smartoris
There is not much of them as of now, but there will be more.
19:48:46
@robbym:matrix.orgrobbym valff: Cool. Although it is not ideal, will fake atomic support (via interrupt disabling) still work? I wanted to add support for the RP2040 for fun, but it is an ARM Cortex-M0+, which doesn't seem to have atomics. 22:44:56
23 Apr 2021
@valff:matrix.orgvalff robbym We were thinking about that, and haven't found enough reasons to support older architectures. Making so would create additional maintenance burden. Because such targets don't have either atomics in Rust stdlib at all, or don't have compare_exchange family of methods. We would need to create a wrapper for rust atomics in drone-core, to be able to reimplement some methods. Additionally we are discouraging usage of critical sections, so if we implement atomics through this, there will be inconsistency. On the other hand, newer ARMv7 chips are already pretty affordable. 19:54:09
@grawp:matrix.orggrawp robbym I was very surprised when I learned that RP2040 has Cortex M0+ because it is really inferior to M3 and M4 and you can get MCUs and even whole boards with them for around 12€ or maybe even less. 20:13:33
@grawp:matrix.orggrawpI scratch my head thinking about what is the reason for RP2040's existence.20:15:24

Show newer messages


Back to Room ListRoom Version: 4