Полная версия этой страницы:
Проблемы компилятора
Дело в следующем. Имеется задача залить в пик массивы, размер которых в сумме около 2кБ. Но вот незадача, имеющийся (очень старый) хайтековский компилятор не поддерживает такой контроллер (а именно 18F4523 с 12-битным АЦП). А микрочиповский имеет программный стек, который ограницивает память под глобальные переменные и константы до 256 байт, если переписывать линкер, удается увеличить до порядка 700 байт, а дальше начинаются ужасные глюки.
Может быть кто-то сталкивался с подобной проблемой и знает выход?
Или, если попадутся добрые люди, которые тут несомненно есть, кто нибудь выложит сравнительно свежий HT-PICC на Opposio@gmail.com. либо на любой файлообменник. (доступа в группу "свои" у меня нет, поэтому скачать непосредственно с архива этого форума не могу)
Спасибо.
Судя по файлу 18f4532.lkr размер озу в данном устройстве где-то 1.5кб. Так что 2кб Вы никак туда не всунете. Но и не 256 байт как Вы писали...
Судя по скрипту линкера да. (1 банк 128 байт и 5 банков по 256, один из которых использован под стек функций, так что получается около 1200Б).
Дело в том что флеши там 32кБ. Но программный стек МСС разрешает использовать под массивы только этот килобайт. А у хайтековского компилера виртуальный стек, т.е. допустим 10кБ свободно вмещается в железку.
А что Вам мешает настроить размер стека менее чем на 256 байт ?
К тому-же МСС позволяет использовать модель размещения локальных переменных и параметров фции как auto, static,overlay - как душа пожелает
а еще лучше - поменее локальных переменных и параметров
Под Overlay писать программу на прибор массового производства чревато

.
Но в любом случае, памяти 2-3кБ он мне не даст.
А почему бы Вам не посмотреть в сторону PIC24/dsPIC33 ?
12бит АЦП -да
ОЗУ до 32к - да
Fcy = 40MHz
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.