Why execute code from RAM?
In addition to the speed &amp; other features which others have already mentioned, executing code from RAM can be useful in bootloaders where you need to reprogram your micro's flash - you can't execute code from flash which you're in the middle of erasing &amp; reprogramming.