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.