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

 
 
> Как правильно описать свою секцию
viakon
сообщение Jun 25 2008, 04:06
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Мега128 + FRAM FM18L08. Внешняя память начинается с 0x8000.
описываю в хедере
#define NVRAM __attribute__((section(".nvram")))

Далее пременные описываю

volatile NVRAM unsigned int next_page = 0;
NVRAM struct navigation nav_buffer[2000];
NVRAM struct _bort bort[240];

В мэйкефайле LDFLAGS += -Wl,-section-start=.nvram=0x808000

или EXTMEMOPTS = -Wl,--section-start,.nvram=0x808000,--defsym=__heap_end=0x80ffff

теже яйца только в профиль.

пока описание переменных в одном файле, все нормально, они раскладываются в эту область. Стоит описать еще одну переменную в другом файле, создается секция nvram.1 и размещается во внутреннем ОЗУ. Хотелось бы как с еепромом, вместо EEMEM, указывать NVRAM и пременные ложились в нужную область

winavr20070525
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Jun 25 2008, 05:13
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



см опцию. --split-by-reloc (default value) - вобче желательно использовать свой ld файл, в нем написать что-то типа :

...
.nvram :
{
*(.nvram.*)
*(.nvram)
} = 0x808000
...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:50
Рейтинг@Mail.ru


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