Вижу какое-то глобальное недопонимание. Давай с начала по полочкам.
Для компилятора разделение Release и Debug чисто условное. В обоих случаях ты можешь включать или нет отладочную информацию, менять степень оптимизации и прочие настройки проекта. Разница начинается уже после того как линкер собрал выходной файл.
В варианте Debug скомпилированный файл прошивки, содержащий отладочную информацию, обычно загружается в ОЗУ и ему передаётся управление. Через J-tag осуществляется отладка. В принципе, ничто не мешает с помощью флэшлоадера поместить прошивку во FLASH и производить отладку, выполняя программу из FLASH. Нужен только флэшлоадер для твоего процессора и правильный конфигурационный макрос.
Результатом сборки Relaese обычно является только файл прошивки без отладочной информации. Этот файл потом нужно как-то поместить во FLASH и сказать процессору стартовать из FLASH. Одни из вариантов записи во FLASH - использование флэшлоадера как в режиме отладки.
Обрати внимание на следующее:
1. При запуске программы из SRAM при отладке или из FLASH при штатной работе адресное пространство распределено по разному. Сегменты данных, кода, cтэки и векторы прерываний обязательно правильно разместить в памяти. Это всё надо в настройках проекта установить. Попросить линкер сделать map-файл и проверить по каким адресам он всё разместил.
2. Я не работал с STM32, но беглый просмотр даташита говорит, что он может стартовать из FLASH, SRAM или системной памяти. После того как ты поместил прошивку во FLASH процессор надо перевести в режим старта из FLASH.
3. Каким способом ты помещаешь готовую прошивку во FLASH (прошиваешь)? Это можно сделать либо флэшлоадером через J-tag, либо бутлоадером процессора через UART, либо ... Да мало ли как, но в любом случае, ты должен чётко понимать что (файл прошивки), как и по каким адресам надо прошить.
4. Насчёт векторов прерываний. При старте из FLASH их не надо скопировать в SRAM?
Цитата(XGoblinX @ May 3 2011, 17:35)

Что именно нужно сделать чтобы всё было?
Хороший даташит и его полное прочтение, хэлпы от компилятора почитать внимательно. Сказать компилятору сделать программу в точности так как написано в даташите на процессор. Прошить и запустить