Нет, невозможно выполнить из всей флэш-памяти. Например, скажем, у вас есть серийный флэш-чип, который требует ряда инструкций только для считывания одного байта из этого флэш-чипа. Как вы могли бы выполнить код из этого флэш-чипа?
Практически на каждом ПК есть флеш-чип на каждой флешке, содержащий спецификации ОЗУ. Вы наверняка не сможете выполнить код в этой флеш-микросхеме, поскольку он не отображается в памяти и доступен только для сложных последовательностей кода, обращающихся к контроллеру памяти.
Или рассмотрим ЦП с отдельными адресными пространствами исполняемых файлов и данных. Флэш-чип, который был отображен в адресное пространство данных, также не может быть выполнен.
Детали очень зависят от устройства. Но для устройства весьма характерно иметь флэш-память, которая не является исполняемой.
Подумайте о SSD или USB-накопителе. Вы не можете выполнить код из них, не скопировав его в оперативную память. (А встроенным системам часто не хватает оперативной памяти для хранения копии.)
Кроме того, некоторые процессоры предъявляют требования к производительности для исполняемой памяти. Некоторые процессоры не имеют возможности вставлять состояния ожидания при извлечении программ, но делают это при извлечении данных. Так что исполняемая флешка должна быть очень быстрой. Не редкость использовать более дешевую флэш-память для данных. (Например, DS80C320 может выдерживать более медленную память данных, но исполняемая память должна работать на полной скорости.)