SEMINAR
MEMORY CONCEPTS FOR EMBEDDED SOFTWARE
CONTENT
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
Memory fragmentation
Consequences for performance
Why garbage collection isn’t always good
-
Swapping and why it usually isn’t an option
GOALS
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.
DURATION
This is a 2-day seminar.
TARGET AUDIENCE
This seminar is intended for technical leaders in software architecture, design and development.