Mostly interested in those with commercial designs (although I love the project write-ups!) This is background material for cybersecurity discussions, like “what happens if new government regulations force every application to employ MMU?”
Among other purposes, an MMU can separate memory for cybersecurity reasons. For example, when dealing with credentials, it’s best to give as few parts of the application access to that memory space as possible. This is a very limited view of hardware-based security, but it is *a useful leading indicator of the architectural capability* for security-by-design.
If a design has no MMU *and cannot upgrade easily to one*, it’s kind of a problem if you are suddenly required (by customers, by emerging regulations) to comply with a “keep memory spaces separate” security requirement (and note, if adding an MMU to your microcontroller-based design means upgrading to a microcontroller, that would be an example of “cannot upgrade easily”).
So–if you don’t have MMU capability in your design, what is the application (smart lock, temperature sensor, etc.); and what is your architecture (micro family and maker, platform, etc.) ?
Thanks in advance for any input.