Discover and read the best of Twitter Threads about #embedded

Most recents (5)

This report explores the impact that #security #thinktanks such as the Henry Jackson Society (#HJS) are having on British #democracy and societal cohesion
It highlights links between such groups & the British & international #FarRight which combine with patterns of divisive
far Right which combine with patterns of divisive and agenda-
driven reports based in impoverished methodologies to #shape UK #policy & #political #discourse for the worse.
Such groups have caused concern amongst numerous equalities, community, & faith groups &
& are cited as enabling & encouraging Islamophobia & racism, facilitating far
Right mobilisation, & pushing successive UK governments towards policy positions that damage societal cohesion.
This report brings together open-source articles, reports, & public instances of events
Read 31 tweets
Should I do a giant threadzilla over the course of multiple days/weeks that explains all the stuff that makes a huge difference for #embedded systems projects, a bunch of the stuff they don't teach you in university?

It should be a book, but maybe starting with tweets is okay.
To be clear, this is comes from a "table of contents" that I wrote with @baldassarifr, @HBehrens, and a bunch of other really intelligent people.

The full list is here: gist.github.com/jamesmunns/337…

I'll use the numbers we used there, and explain a bit more about each topic.
We'll start in the "Build" category, everything that is related to actually building your firmware project. We called this the "100 level course".
Read 171 tweets
So here's an opinion thread that should probably be a blog post:

If you're building an embedded system: you probably DON'T need an RTOS. In fact, I think using one is usually an anti-pattern. At least, when using #embedded @rustlang.

Yes, even for hard real-time systems.

1/N
One of the first things I see people asking when moving from C to @rustembedded is "what RTOS can I use in Rust"?

I think this is the XY problem: people ask/reach for an RTOS because that was the only thing that made sense for any reasonably complex system in C!

Why?

2/N
Building embedded systems in C from scratch means basically no "batteries included". This includes no standard:

* build system
* package manager
* docs tooling
* reusable libraries/components
* safe concurrency primitives

3/N
Read 18 tweets
The fastest formatter does no formatting at all!

I have created a #rustlang formatter for debugging #embedded apps (logs!) that's ~10 (? hard to quantify) times faster than the standard library's `fmt` module and uses way less bytes of `.text` / `.rodata` (and "bandwidth")

1/
Here I "format" a timestamp and an `f32` value on a 64 MHz ARM CPU w/ FPU disabled in 6us. The formatted string is printed on the host (right)

`core::fmt`-ing the same thing (w/o a xfer) takes 57us. I must say `core`'s float formatting is v good but (still) uses 1KB of stack

2/
My formatter binary encodes the format string + arguments and sends them to the host; the host does the actual formatting

Unlike bin serialization crates there's no need to compile any crate for the host to make formatting work (IOW there's no `Deserialize` trait here)

3/
Read 6 tweets
A thread on #cpp #state_machine #software_design.

Random ideas around writing an FSM library, with examples from, and motivations behind hfsm.dev, a header-only library created using #cpp template #metaprogramming with #gamedev, #embedded and #robotics in mind.
*Reuse vs reimplement*

State machines can be deceptively complex, and, unless a trivial one is needed, a reusable framework is highly recommended.

Rolling out one's own for special needs is ok.

Otherwise - pick from a variety of existing solutions from #boost, on #github, etc.
*Static vs dynamic structure*

The first important decision is whether the structure of FSM could be built/changed at runtime.

The implementation of a dynamic FSM relies on heap-allocated memory, resizable containers and pointers, all of which come at a steep perf price.
Read 22 tweets

Related hashtags

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!