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

 
 
> IAR icf, Как сказать линкеру, что block относится к read-only?
Alechek
сообщение May 15 2016, 08:46
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Сделал эмуляцию EEPROM, хочу разместить в конце FLASH памяти. Соответственно, расположение должно передаваться в код с линковщика.

Определил в icf
Цитата
define exported symbol __NVRAM_page_size__ = 1024;
define exported symbol __ICFEDIT_region_NVRAM_pages__ = 2;

define block NVR with alignment = __NVRAM_page_size__,
size = __NVRAM_page_size__ * __ICFEDIT_region_NVRAM_pages__ { };

"NVRAM" : place at end of ROM_region { block NVR };


Все работает хорошо, за исключением одного: линковщик не знает, что это read-only регион памяти. В статистике своей относит его к readwrite data.
Код
"NVRAM":                                    0x800
  NVR                          0x08003800   0x800  <Block>
    NVR               uninit   0x08003800   0x800  <Block tail>
                             - 0x08004000   0x800
.......
    Module                 ro code  ro data  rw data
    ------                 -------  -------  -------
...................
    Gaps                                  2
    Linker created                       43    2 560


Как бы на программу не влияет, но для оценки ресурсов нужно производить лишние математические действия...
Есть варианты сказать линкеру, что этот блок - "readonly data"?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 16th July 2025 - 16:43
Рейтинг@Mail.ru


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