Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Модель памяти MSP430
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
jcxz
Не знаю куда лучше спросить - сюда или в MSP430-конфу?
Только начинаю осваивать MSP430. На MSP430FR5739.
В нём всего 16К FRAM, ОЗУ и того меньше.
Компилю IAR, модель памяти - small. Получаю - указатели на данные: 16бит; указатели на код: 20бит.
Как можно в IAR сказать использовать 16-битные указатели на код? (для экономии памяти, коей совсем мало).
Модели tiny в настройках IAR не нашёл... sad.gif(((
Dnepr33
Цитата(jcxz @ Apr 25 2014, 23:59) *
Не знаю куда лучше спросить - сюда или в MSP430-конфу?
Только начинаю осваивать MSP430. На MSP430FR5739.
В нём всего 16К FRAM, ОЗУ и того меньше.
Компилю IAR, модель памяти - small. Получаю - указатели на данные: 16бит; указатели на код: 20бит.
Как можно в IAR сказать использовать 16-битные указатели на код? (для экономии памяти, коей совсем мало).
Модели tiny в настройках IAR не нашёл... sad.gif(((


А что, экономия памяти именно на указателях так критична ? Смотря какой алгоритм, конечно.
Экономим 1 байт ?
Включаем выдачу полного листининга, + asm + map.
Может проблемы и нет, за счет работы оптимизации ?


den_po
Насколько я понимаю, нужно отличать модель памяти для данных от модели памяти для кода. Small для кода в IAR для MSP430 добавили в версии 6.10.
jcxz
Цитата(Dnepr33 @ Jun 11 2014, 14:23) *
А что, экономия памяти именно на указателях так критична ? Смотря какой алгоритм, конечно.
Экономим 1 байт ?

На каждом указателе.

Цитата(Dnepr33 @ Jun 11 2014, 14:23) *
Включаем выдачу полного листининга, + asm + map.
Может проблемы и нет, за счет работы оптимизации ?

По существу есть что сказать?

Цитата(den_po @ Jun 13 2014, 07:02) *
Насколько я понимаю, нужно отличать модель памяти для данных от модели памяти для кода. Small для кода в IAR для MSP430 добавили в версии 6.10.

Само понятие "модель памяти" - это совокупность разрядностей кода+данных. Нет понятий "модель памяти данных" или "модель памяти кода".
Как я понимаю:
small - 16data+20код.
tiny - 16data+16код.
den_po
Цитата(jcxz @ Jun 13 2014, 13:10) *
Само понятие "модель памяти" - это совокупность разрядностей кода+данных. Нет понятий "модель памяти данных" или "модель памяти кода".

специально установил свежий иар
Нажмите для просмотра прикрепленного файла

по поводу размеров указателей цитата из EW430 compiler reference:

These data models are supported:
- The Small data model specifies data16 as the only memory type, which means the first 64 Kbytes of memory can be accessed. Registers are treated as if they were 16 bits wide. The only way to access the full 1-Mbyte memory range is to use intrinsic functions.
- The Medium data model specifies data16 as the default memory type, which means data objects by default are placed in the first 64 Kbytes of memory. The entire 1 Mbyte of memory can be accessed.
- The Large data model specifies data20 as the default memory type, which means the entire memory of 1 Mbyte can be accessed.

These code models are available:
- The Small code model uses 16-bit instructions CALL and RET, and reaches 64 kBytes of memory. Function pointers are 2 bytes.
- The Large code model uses 20-bit instructions CALLA and RETA, and reaches 1 MB of memory. Function pointers are 4 bytes. This is the default code model.
Dnepr33
Цитата(jcxz @ Jun 13 2014, 11:10) *
На каждом указателе.

По существу есть что сказать?


Я в смысле "не наелся - не налижешься". На указателях. Разве нечто объектно-ориентированное.
Если цель-самоцель разобраться это одно.
Если сэкономить RAM-FRAM - то вопрос, насколько эта экономия поможет.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.