необходимо объявить ( =создать) массив размером 40МБ. Памяти SDRAM на борту - 64МБ.
1-ый вариант - объявляю глобально - все ОК, но!... прошивка устройства занимает немногим больше размера этого массива. Прошиваю через UART. Очень долго, да и глупо это прошивать пустой массив.
2-ой вариант - создаю динамический массив. Сначала не работает (calloc возвращает NULL). Увеличиваю размер кучи в линкер файле (HEAP) - все ОК, но!... опять прошивка чуть больше 40МБ
Хотел поэкспериментировать с указанием пределов размещения кода программы. Т.е. обмануть линкер. Объявить массив меньше на краю доступной памяти, заведомо указав край намного раньше. Но не получается.
Посоветуйте, как правильно сделать? Чтобы прошивка была нормального размера
|