Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Зарезервировать адрес в ниос
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
alexPec
Добрый день всем. Есть в ниосе внешняя память на avalon-mm. Как бы программе сказать, что в этой памяти к одному конкретному адресу никто не должен лазить ни на чтение ни на запись. Т.е. надо сделать переменную, которая хранится в конкретном адресе, и этой переменной должен пользоваться только я при явном указании на нее, чтоб линкер в этот адрес ничего на распределил.
В других компиляторах или зрезервированное слово есть или pragma какая-нибудь, а тут как?
vadimuzzz
попробуйте так:
Код
int some_variable __attribute__((io(0x123)));
alexPec
Цитата(vadimuzzz @ Apr 10 2011, 04:56) *
попробуйте так:
Код
int some_variable __attribute__((io(0x123)));

спасибо, попробую!
torik
Ха, я же в соседней теме недавно поднимал этот вопрос!!! Видать хорошо я объясняю что мне надо...
А та же фигня для переменных-массивов прокатит?
Sergey'F
Цитата(torik @ Apr 12 2011, 19:33) *
Ха, я же в соседней теме недавно поднимал этот вопрос!!! Видать хорошо я объясняю что мне надо...
А та же фигня для переменных-массивов прокатит?

А зачем? Лучше зайти в BSP Editor и там на странице linker script порезать нужный memory device на несколько секций. На рисунке пример - мы отрезали от ext_ram старшие 4096 байт и создали регион памяти с именем repa. Потом ниже в этом регионе создали секцию .repa_section.
А в приложении пишете:
INT8U repa_data[4096] __attribute__ ((section (".repa_section")));
torik
Да, полезная вещь, спасибо.
alexPec
Цитата(Sergey'F @ Apr 12 2011, 20:12) *
А зачем? Лучше зайти в BSP Editor и там на странице linker script порезать нужный memory device на несколько секций. На рисунке пример - мы отрезали от ext_ram старшие 4096 байт и создали регион памяти с именем repa. Потом ниже в этом регионе создали секцию .repa_section.
А в приложении пишете:
INT8U repa_data[4096] __attribute__ ((section (".repa_section")));


Да, красивое решение!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.