Наверняка дефицит Flash вызван избытком констант (текст, песни, картинки), а не аховой сложностью программы. В таком случае нужно цеплять внешнюю SPI-флешку (AT45DBxxx или подобную), данные хранить там, а код прекрасно исполнять из внутренней Flash, как и положено