Memory errors are particularly harmful in embedded systems. This paper discusses memory analysis techniques for solving memory problems such as heap corruptions and memory leaks; and memory profiling for optimization of memory use in embedded systems.