Memory mapping in simple terms is the process of assigning hardware memory addresses to different items in the code - Functions & Data. But there is more to why we do it and how we do it. This is usually performed using specific compiler directive constructs in the source code and a linker directive file.
Memory mapping is a critical activity for any real time embedded software development. Often we need to place variables and code at specific memory range and at times at particular address byte. On the other hand not performing memory mapping has its disadvantages.
When working on a complex Software development with multiple teams/organizations, it is necessary to have a defined memory mapping concept or method in place. This helps the modules developed by different teams integrate better.
In the Autosar architecture based software development, which usually involves multiple teams, the memory mapping is achieved via defining module specific memory sections which are then combined together integration and addresses assigned.
Check out the below presentation to understand why we need memory mapping and how it works using an example. Feel free to reach out for any questions or discussions...
P.S. If you need the presentation for personal learning, please reach me at embeddeduncharted@gmail.com
Picture Courtesy - Elicia White @ Embedded.fm
Comentarios