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

 
 
> Как в программе разместить большой массив в SDRAM?
kolobochishe
сообщение Dec 2 2010, 10:45
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



Товарищи smile.gif Объясните как разместить массив размером 10x10^6 во внешней SDRAM?

Плата LPC-2478STK. 64МБ SDRAM.

Пробовал задавать статический массив. Компилятор "съедает", но программа "виснет" при инициализации файловой системы и графики.

Также был тут уже вопрос - как узнать сколько ресурсов "съедает" RTOS PowerPac?
И вообще какие ограничения накладывает IAR на размер массивов? С какого адреса начинается адресное пространство SDRAM? Хочу использовать следующее:


#pragma location="адрес"
__no_init "объявление структуры"

Взято отсюда

#pragma location=0xXXXXXXXXX // Какой то адрес в SDRAM
__no_init U16 MyArray[10000000];
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kolobochishe
сообщение Dec 2 2010, 12:21
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634



В даташите LPC2478 на 28 стр. есть таблица memory mapping. И мне, честно-говоря, непонятно где там SDRAM

0xF000 0000 to 0xFFFF FFFF AHB peripherals

Есть подозрение что это оно.

И еще. Все таки приложение написано под RTOS. Я, почему-то, считал что все там уже инициализировано. Так как проект создаю на базе PowerPac-вского примера.

Все. Нашел. Там дальше рисунок 4. Все указано. Действительно с 0x8000 0000

Ошибочка в компиляторе выходит

Error[Lc037]: ambiguous section match: "zi section .bss in FS_ConfigMMC_CardMode.o" matches more than one pattern

Ругается на строчки:

place in RAM_region { readwrite, block HEAP }; // Было до меня

place in RAM_region { readwrite, section MyData }; // Добавил я

Т.е. получается HEAP занимает всю SDRAM?

ЗАРАБОТАЛО! smile.gif

#pragma location = "HEAP"
U16 MyArray[MyMaxArrayIndex];

По другому не получается. Массив создается. Значения пишутся

Свою строчку я убрал в файле линкера.
Go to the top of the page
 
+Quote Post



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

 


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


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