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

 
 
> Проблемы с placement attribute
DASM
сообщение Mar 12 2010, 10:41
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Есть такой примерчик.
Код
Example 6–16. Manually Assigning C Code to a Specific Memory Section
/* data should be initialized when using the section attribute */
int foo __attribute__ ((section (".ext_ram.rwdata"))) = 0;
void bar (void) __attribute__ ((section (".sdram.txt")));
void bar (void)
{
foo++;
}

У меня используется как внутренняя RAM mfr и внешеняя SDRAM
Поместил я свою функцию в SDRAM. Да, вижу, прыгаем мы туда, только вместо кода ф-ции - там мусор какой-то. В документации на GCC особо ничего такого не написано. SDRAM исправна, переменные туда помещаю без проблем, все работает. Куда копать ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vadimuzzz
сообщение Mar 12 2010, 13:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



а если program memory целиком кинуть в sdram - работает? если нет, то причиной могут быть кривые времянки, при этом отдельные транзакции (например, чтение/запись переменной) могут проходить, проблемы начинаются на пачках. ну и objdump глянуть надо, как линкер там раскидал.
Go to the top of the page
 
+Quote Post



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

 


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


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