Costa Mesa, California (PRWEB) October 25, 2016
The Cortex-M MPU is difficult to use, but it is the main means of hardware memory protection available for Cortex-M processors. Hence, it behooves us to learn to use it effectively in order to achieve the reliability, security, and safety that modern embedded systems require. smxMPU is a big step in the direction of achieving these things for Cortex-M processor based systems. It is aimed both at improving the security of legacy systems and of new systems under development.
The primary goal of smxMPU is to make using the MPU as easy as possible, while offering as much protection as possible. Developing a good protection strategy for a given system is difficult enough. Excessive complication at the low level is not only frustrating, but it may result in adopting less than sufficient system protection. smxMPU helps to overcome hardware complexity, and it provides a solid foundation for creating protected, secure systems and for detecting and dealing with security violations.
Legacy code will run normally in privileged mode (pmode) with the MPU enabled in background mode. This is the starting point. From here, less-trusted tasks and code are gradually moved to unprivileged mode (umode). This step-by-step approach allows dealing with the least-trusted code first, while making sure that the system continues to run correctly at each step. If not, a step can be easily reversed and problems found and corrected. As more steps are completed, the system becomes more and more secure. This fosters a strategy of security releases to make installed systems more and more secure as their numbers increase.
Security adds a new dimension to new product development projects. While theoretically sound to “build security in from the start,” it may not be an overly welcome dimension in projects that already have too many dimensions and too little time to achieve them. smxMPU allows postponing security measures until late in the project, or even post-project, when they become more beneficial and less of a distraction. Significant time can be wasted by drawing protection boundaries before tasks and code have stabilized.
The benefits of MPU error detection during the final project phase may outweigh the time required to modify code and tasks to run in umode. If not, smxMPU facilitates post-release system security upgrades. Of course, this breaks all the rules, but it makes practical sense for projects that are behind schedule and overwhelmed just getting features to work correctly. Once the dust settles, it is then possible to take a step back, look at the security requirements and start making the system more and more secure. During this time, manufacturing and installation problems are being slowly solved, and shipments are gradually increasing, and likewise, security can be improved.
For more information, see http://www.smxrtos.com/mpu.