1. A method for recovering embedded system memory contained within an embedded system comprising: loading a software image into said embedded system memory; identifying unneeded software features in said software image; identifying memory portions containing said unneeded software features; and reallocating said memory portions containing said unneeded features.