Skip to main content

The Rusty bits of Embedded

Regarding the Rust programming language and moreover its ecosystem and the overall maturity there is this trend of "measuring" the latter with series of question in the vein of: Are-we-Something-Yet? A few key examples would be:

And so on, and so forth ... There is even a subReddit (along with the GitHub page it represents) that obviously aims to gather them all in one place as a curated list of links.

 

The Official State

The last one in the list above is not linked anywhere. There might not be a dedicated "yet" page for it but what actually exists might be even better. 

On one hand there is this dedicated domain which serves as the front of the actual people at Rust who work on the parts of the language that should provide the means for embedded programming.

On the other hand there is the respective Embedded Book available in the good tradition of the language's documentation.

 

The Private Opinion

Out of the ocean of resources from Rust enthusiasts even those who dedicated themselves to the embedded niche are not too few and are all over the place.

For instance there are those who ponder the question itself and answer it in their articles:

  • Are we embedded yet? (1) - excellent categorization (with direct visual cues) of the respective features of the language, the support from the devices (processors and peripherals), and the communication protocols.
  • Are we embedded yet? (2) - detailed analysis of the obstacles that currently (as of mid 2023) need to be addressed in the field. Adds its own rich set of resources to be examined.

And there could be even more. The problem with such articles is that regardless of how exhaustive, introspective and well written they are, they appear to be a snapshot in time. After all not all authors keep their resources up to date - such is life.

One step further are the dedicated sites like this one. There is a bi-weekly newsletter available which really seems to encompass the trends in the said sector of the industry. Moreover the site's general approach tends to be the educational one so there articles such as this entry-level guide for newcomers to the field.

And of course I cannot miss in the end this absolute gem (a singular piece of acquiring knowledge through direct demonstration) for the Low Level Learning channel:


In short, what we see here is the non-standard usage of Rust directly on the Raspberry Pi's processor without any OS being the middle-man. What could go any lower than that?

Since this can't possibly be an exhaustive glimpse on the current state of the Rust language in the Embedded world any additions would come as their own posts.

Cheers!

Comments

Popular posts from this blog

The Pi as a PostgreSQL Database Server

Raspbian with PostgreSQL it is quite easy actually. Just like on Ubuntu/Linux Mint/... (Replace the ellipsis with any derivative of Debian or Ubuntu.) The hardest part is to decide which version of the database server to employ. On this page the full set of options for retrieving the server is given with the necessary amount of detail.     "Should I get it?" Actually, since PostgreSQL (together with MySQL) is one of the most popular open source databases within the Linux realm, some distributions choose to deliver it pre-installed on their releases. If you are not sure, if you need to get the server at all, this simple command can answer that question: $ ps aux | grep postgers It will search through the processes running on your system and filter them to leave only those bound to PostgreSQL. It is possible that the server is present on the system, but it is not running at the moment. In that case it is enough to see if its configurations are in place. The plac

Book on How to Cluster some Pis with Hadoop

To be honest and straightforward I expected more from a book with title like Raspberry Pi Super Cluster . The author Andrew K. Denis has a very clear vision on the subject (like in his previous book Raspberry Pi Home Automation with Arduino , which I liked a lot) . He's done his best to deliver an exhaustive set-up while being concise at the same time, but it seems to me, this clearly is the wrong format for a book on the given topic. Stack Pis for parallel power Now having this book at hand, I finally got the chance to answer many of the questions I had about clustering, and how it can be applied to a set of Raspberry Pis. The first impression is that it is very well structured and gradual. Lets see, the first two chapters are short introductions to parallel computing (background history and the contemporary systems) and the initial set-up respectively. They're short and to the point. And that's the way it should be - it is presumed that if you're going paralle

Java 8 on the Raspberry Pi

This topic being approached exhaustively may become vast and is fit for at least a book. I'll have to keep it short and concise here, so I'll stick to a few key points: Java Runtime vs JDK - actually there is no discussion here - if you you intend to run programming projects you need the development kit, period. (It contains the runtime anyway.) Java 7  vs Java 8 (JDKs) - this could require some debate. Java 7 is the mature and default option to go with. Having around two years in production, it is the safer choice. Java 8 has been just released, and its shortcomings are still unknown. On the other hand Java 8 has numerous improvements to the language, and Oracle wouldn't approve it for release if it wasn't quite well tested. Another facet to be considered is that Java 7 is well presented in the repositories, while currently Java 8 have to be downloaded, installed and maintained (the regular updates - mostly for security reasons) all manually. Source examples - ne