Microsoft says the future is a mix of constrained C++ (Core Guidelines), Rust and AOT C#.
Google says the future is C++ and Java (as of Treble) on Android, with Go, C++ and Rust on ChromeOS and Fuchsia.
ARM says C++ on mbed.
GenodeOS says C++ and Ada.
Newton, Symbian, Bada and BeOS used C++.
C is married with UNIX, they were born to each other, other OSes have long followed other paths.
Apparently they are also adding support for desugaring Java 10 language features (yep 10 not 12) that don't rely on new JVM bytecodes (as per Google IO talk about state of Android tooling).
At least for now.
The features required are still unstable (as in not in the stable version of the compiler), but it’s getting there, and doing it fast.
In any case, firmware behaves a lot like banking software, language change will take time
Also, most toolchains of the sector are way more complex to maintain and way more bloated.
Astrobe has been selling development kits for ARM based boards for years now.
But yes, Rust, or even in userspace, as newer and/or more microkernel-ish OS's allow for. Apple is doing work to allow drivers to be written in Swift...
Some device classes (not to mix with OOP ones) can only be programmed with C++, while others can be developed in any compiled language able to link to the OS APIs.
There is a WWDC session on it.
Rust does not have these same features to date.