MEMORY CONCEPTS FOR EMBEDDED SOFTWARE
The topics addressed include:
Memory devices, their acronyms, important properties and pitfalls
The address space of a processor and what it contains
RAM vs ROM: The starting point
Serial devices vs memory mapped devices: Consequences in architecture
NOR-flash vs NAND-flash: Tradeoffs in reliability and price
SLC-NAND vs MLC-NAND: Reset pitfalls
Managed or unmanaged NAND: A make or buy decision
Hardware support for advanced memory models
MPU: Memory protection unit, purpose and its consequences
MMU: Memory management unit, purpose and consequences
2’nd Stage MMU: Support for virtualization
Static memory allocation: Favored for FuSa and security
Dynamic memory allocation: The hidden mechanisms behind “malloc()/free()”
Memory leaks and their origins
Consequences for performance
Why garbage collection isn’t always good
Swapping and why it usually isn’t an option
The purpose of this seminar is to understand the memory models used in embedded software development and how they critically impact the architecture of the system.
This is a 2-day seminar.
This seminar is intended for technical leaders in software architecture, design and development.