реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проблема с выделением памяти данных?
Mad_max
сообщение Jun 24 2010, 08:56
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Доброго времени суток!

Такой вот вопрос,
Обстоятельства сложились так, что пришлось программу написанную на 24-ом пике
перекладывать на пик 18-ый. В частности с pic24fg64 на pic18f44j11.
В программе статически выделяется память 1024 элемента размерностью по два байта.
У 24-го пика память данных составляет 8к, у 18-го пика чуть более 3к.
Речь, конечно, не идет о том чтобы на 18-ом пике использовать массив такого же размера, но
компилятор, а точнее его линковщик, С18 дает возможность объявить массив максимум в 64 элемент.
Оставшаяся часть программы (без этого массива) требует менее 2% памяти данных от объема памяти 24 пика.

Можно ли как-то повлиять на линковщик?
Go to the top of the page
 
+Quote Post
volodya
сообщение Jun 24 2010, 11:17
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 194
Регистрация: 14-02-07
Из: УКРАИНА
Пользователь №: 25 344



Цитата(Mad_max @ Jun 24 2010, 11:56) *
Можно ли как-то повлиять на линковщик?


Повлиять можно через файл *.lkr для соотв. процессора.
там указать необходимый размер страници(по умолчанию 256)

Код
DATABANK    NAME=gpr0       START=0x60     END=0xFF    PROTECTED
DATABANK    NAME=gpr1       START=0x100    END=_END_ADR    PROTECTED
//_END_ADR- сколько надо


В хелдпе подробно описано.


--------------------
"Для того чтобы избежать критики, надо ничего не делать, ничего не говорить и никем не быть"
"Каждый из нас бывает дураком по крайней мере пять минут в день; мудрость заключается в том, чтобы не превысить лимит." Элберт Хаббард
Go to the top of the page
 
+Quote Post
Mad_max
сообщение Jun 24 2010, 11:45
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 377
Регистрация: 23-12-06
Из: Зеленоград
Пользователь №: 23 811



Цитата(volodya @ Jun 24 2010, 15:17) *
Повлиять можно через файл *.lkr для соотв. процессора.
там указать необходимый размер страници(по умолчанию 256)

Код
DATABANK    NAME=gpr0       START=0x60     END=0xFF    PROTECTED
DATABANK    NAME=gpr1       START=0x100    END=_END_ADR    PROTECTED
//_END_ADR- сколько надо


В хелдпе подробно описано.

Спасибо! Вопрос решен!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 11:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01345 секунд с 7
ELECTRONIX ©2004-2016