The automatic handling of the shared memory section with the linker script is really nice, I've previously manually hardcoded this when doing C. An "include" directive can ensure the right address is used, but enforcing/verifying the layout too is nicer.
On a lot of microcontrollers with multiple cores, there is a specific semaphore peripheral, that can be used instead of shared memory. STM32 has HSEM for instance. It would be interesting to see if this could be used by Rust in future, if this offers any benefits, and if this could be done in a somewhat transparent matter.