Цитата(drum1987 @ Feb 22 2011, 14:52)

Огромное спасибо. Как я понимаю занимать будет программа во флешке проца(или внешней) ровно столько, сколько весит BIN файл.
В большинстве случаев - да. Если сделать сложную карту памяти (составленную из кусков и пустых промежутков), то там немного сложнее.
Цитата(drum1987 @ Feb 22 2011, 14:52)

И последний вопрос: как выделить оптимальный(минимально необходимый) размер кучи(heap)?
Вообще в микроконтроллерах лучше избегать динамическое выделение памяти, так как часто трудно заранее рассчитать необходимый размер кучи, к тому же возникает проблема фрагментации. То есть следует сделать кучу нулевого размера и забыть про malloc(). Часто malloc() используется в коде, который перекочевал из ПК, хотя скорее всего там динамическое выделение памяти не требуется. Как правило, можно обойтись статическими переменными. Иногда не вредно использовать локальные переменные значительного размера, так как они выделяют память стека, а расход стека гораздо легче контролировать, чем расход кучи.
Если же без динамического выделения никак нельзя, то расход кучи очень сильно зависит от особенностей программы. Тут трудно дать общие рекомендации.