Какой микроконтроллер способен исполнить программный код в своём ОЗУ?
Здравствуйте! Нужен контроллер способный (под управлением загрузчика в флэш-памяти) принять десяток-другой килобайт программного кода в своё внутреннее ОЗУ и исполнить этот код, то есть и кодировка его команд должна быть хорошо документирована. Если можно, посоветуйте, какие микроконтроллеры можно использовать для такого "макетного программирования".
Как уже в ответах правильно отметили, подобное импользование микроконтроллеров - это "трюк". На каких микроконтроллерах его можно использовать - зависит от их архитектуры.
Но почему-то есть сомнения, что Вам это нужно. Особенно в сочетании с "макетным программированием" из последнего предложения. Вам что, флеш жалко, лишний раз туда прошивку залить?
Если это дейстительно для чего-то нужно, то может стоит взять более подходящий инструмент типа Малинки?
kalapanga, желателен макет который можно подкорректировать на ходу не выключая. Для этого я делал контроллер из процессора, ПЗУ, ОЗУ и периферии, и создавал диалог с ним через очень простой программный монитор-загрузчик в ПЗУ. И в ПЗУ также были уже отлаженные подпрограммы, а в ОЗУ основная программа с которой происходил диалог. Можно было заставить контроллер попробовать сделать что-нибудь не предусмотренное заранее.
Не любой, те что работают с RAM как со стеком не могут, просто нельзя адресовать выполнение программ в оперативную память, она не отображается явно в адресное пространство и там можно хранить только данные. На ARM архитектуре должно быть да, но у меня нет с ними опыта подтвердить.
Ну вообще-то не совсем любой. МК с гарвардской архитектурой, в которой память данных (ОЗУ) и память команд (ПЗУ) разделены вплоть до доступа через разные шины, в принципе не способны исполнять программный код из памяти данных. А в вопросе, как я понял, речь идёт именно об этом.
Как подсказывает Гугл, гарвардская архитектура используется в микроконтроллерах Microchip PIC, Atmel AVR и некоторых DSP - немного, но всё же есть.
Помимо ARM, такой трюк можно сделать и с микроконтроллерами MCS51. Очень занятно получается с контроллерами серий FX производства Infineon/Cypress - загружая программу через USB.