Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 20.07.2009, 16:21   #1
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 35
Сообщений: 98
Вес репутации: 1112/53
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Memory Model: не может адресовать 100% data memory

Всем доброго времени суток, уважаемые.

Такая незадача возникла: Пишем под PIC24, в отчете о использовании памяти при построении проекта mblab говорил, что занято 73% data memory. Как только чуть увеличиваешь использование памяти, линкер уже ругается что could not allocate data memory. То есть порогом является 73% ! Залез в настройки проекта, смотрю - data model стоит в default. Поставил в large, собираю - собралось. Потестировал - теперь действительно дает собрать до 100% data memory.

Я в некотором недоумении: почему он в default не дает использовать все 100% ? Какие преимущества и недостатки?

Заранее спасибо
dimonomid вне форума   Ответить с цитированием
Старый 20.07.2009, 16:46   #2
tester
Super Moderator
 
Аватар для tester
 
Регистрация: 28.02.2007
Возраст: 43
Сообщений: 3,577
Вес репутации: 4386/129
tester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond reputetester has a reputation beyond repute
По умолчанию Re: Memory Model: не может адресовать 100% data memory

Цитата:
Сообщение от dimonomid Посмотреть сообщение
Я в некотором недоумении: почему он в default не дает использовать все 100% ?
По дефолту используется модель small, вот вырезка из User's Guide:
Цитата:
-msmall-data
Compile using the small data model. All static and external variables
are assumed to be located in the lower 8 KB of data memory space.
(This is the default.)
tester вне форума   Ответить с цитированием
Старый 20.07.2009, 16:50   #3
dimonomid
Member
 
Аватар для dimonomid
 
Регистрация: 17.06.2009
Возраст: 35
Сообщений: 98
Вес репутации: 1112/53
dimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud ofdimonomid has much to be proud of
Отправить сообщение для dimonomid с помощью ICQ
По умолчанию Re: Memory Model: не может адресовать 100% data memory

tester, спасибо, я читал, но непонятно: включая large model, я что-нибудь теряю в обмен на память? Или "все остается как прежде" (c), только памяти будет больше? Если так, то какой смысл использовать small, если можно large? =)
dimonomid вне форума   Ответить с цитированием
Старый 20.07.2009, 17:02   #4
vitalka
Super Moderator
 
Аватар для vitalka
 
Регистрация: 19.03.2007
Адрес: Львов
Возраст: 45
Сообщений: 3,334
Вес репутации: 2341/107
vitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond reputevitalka has a reputation beyond repute
По умолчанию Re: Memory Model: не может адресовать 100% data memory

Цитата:
Сообщение от dimonomid Посмотреть сообщение
я что-нибудь теряю в обмен на память? Или "все остается как прежде" (c), только памяти будет больше? Если так, то какой смысл использовать small, если можно large? =)
первые 8 килобайт могут напрямую адресоваться в команде
все что выше - только косвенная адресация (т.е. нужно сначала загрузить адрес в регистр, а уже потом к нему через этот регистр и обращаться)
vitalka вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что за зверь - Скатерограмма Edua Общетехнические вопросы 17 01.03.2013 23:33
Фокусы компилятора MCC18, помогите разобраться Максим2008 Продукция MICROCHIP 29 06.04.2009 17:45
Нужна ли МК ОС? syv Инструментарий 179 22.01.2009 10:59
Макимальная частота прерываний от TMR0 ANH Продукция MICROCHIP 114 05.04.2008 00:50
Борьба с прерываниями и USART. jusalex Продукция MICROCHIP 17 14.06.2007 14:17


Часовой пояс GMT +3, время: 12:09.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot