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

 
 
> Указать линкеру зарезервированную область flash, и прикрепить bin файл
athlon64
сообщение Mar 16 2010, 16:43
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 10-03-10
Из: Уфа
Пользователь №: 55 882



Компилятор IAR 5.41
Процессор Atmel AT91SAM7X256

Необходимо организовать в ОЗУ буфер объёмом 4кбайт, в который помещать 32битные переменные типа unsigned int (далее будут входными и выходными данными у нескольких процедур).
Как по уму выделить под буфер строго определённую область памяти в ОЗУ с адреса 0xF000 по 0xFFFF (с 60кб озу и до конца) и корректно обращаться к пакетам буфера?

Буду благодарен за разъяснения или пример


--------------------
Руслан
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dimka76
сообщение Mar 20 2010, 05:34
Сообщение #2


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(athlon64 @ Mar 16 2010, 19:43) *
Как по уму выделить под буфер строго определённую область памяти в ОЗУ с адреса 0xF000 по 0xFFFF (с 60кб озу и до конца) и корректно обращаться к пакетам буфера?


Может вам посмотреть в сторону директивы #pragma data_alignment=expression

Например так
Код
#pragma data_alignment=4096
unsigned int array[4096];


Тогда не будет необходимости следить за переполнением индекса.
Пример использования индекса
Код
unsigned int index_array;

index_array += (index_array+1) & 0xFFF;


Таким образом получаем закольцовывание.

Если конечно это не ваш случай, тогда извиняйте )))

Сообщение отредактировал rezident - Mar 20 2010, 06:06
Причина редактирования: Излишнее цитирование.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post



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

 


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


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