При написании standAlone приложения в среде IAR 5.4 и последующем запуске на демо-плате SK-AT91SAM9XE512 возникла следующая проблема:
При выделении памяти функцией malloc() получаю нулевой указатель, то есть память выделить не получается.
Для демонстрации ошибки я взял проект getting-started-project и перед циклов в функции main() сделал следующий блок:
Предварительно объявив в начале функции void* pointer;
В результате выполнения получаю Fail.
Каким образом можно корректно выделить кусок памяти для работы?
Память выделилась, но размер образа чуток (на размер кучи) вырос...образ грузился около 1,5 минут, как временное решение подойдет, но не более...
Спасибо за помощь!
Интересно... Собрал этот пример, действительно размер выходного файла увеличивается на размер задаваемой кучи. Попробовал Gettingstarted от LPC3250 и какой-то от imx31 (у них тоже есть SDRAM), там такого эффекта нет, какой размер кучи ни выставляй, размер выходного файла один.
Кстати, Atmel'овский icf IAR не дает редактировать своими средствами, говорит используйте текстовой редактор, а с NXP'шными и Freescale'вскими такого нет.
Видимо придется изучать документацию на линкер и искать что там Atmel намудрил...