А мне кажется не инициализированные данные не должны храниться в бинарнике. Тем более удивило раздувание прошивки из-за увеличения heap. Ну как вариант наверно можно просто попросить линкера выделить отдельную секцию размером 40мб в RAM, ну а потом уже по ней хоть указателем ходить, хоть массив объявить.
Кстати да, мысль пришла...фишка ведь в том, что все глобальные не инициализированные переменные инициализируются нулями. Это относится и к массивам? Или нет? Тогда может быть в настройках линкера можно задать рантайм инициализацию(везде так и есть по дефолту) вместо лоадтайм? Я помню в техасовском CCS было что-то подобное. Что за проц у вас и что за компилятор?
--------------------
The truth is out there...
|