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

 
 
> Разместить массив во внутренней ram, На stm32
Dubov
сообщение Jul 2 2016, 13:52
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Есть плата с stm32f439 и sdram. В программе для скорости необходимо разместить массив данных во внутренней памяти. Достатачно ли для этого использовать класс памяти register?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dubov
сообщение Jul 3 2016, 08:21
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 408
Регистрация: 28-05-12
Пользователь №: 72 052



Нашел пример прямой записи по адресу в sdram:

// с адреса aa=0xD0100000 чисел массива типа float. i-индекс, изменяющийся с
// шагом 1. Его множим на 4, так как тип float занимает 4 байта
for(im=1;im<=nn;im++) {
for(jm=1;jm<=nn;jm++)
{ *(float*) (aa +4*(im+(jm-1)*nn)) =1.0f*((float)(im*jm));
*(float*) (bb +4*(im+(jm-1)*nn))=1.0f/(*(float*) (aa +4*(im+(jm-1)*nn)));
*(float*) (cc +4*(im+(jm-1)*nn))=0.0f;
} }


Разве не сработает если вместо аа подставить адрес начала sram?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 3 2016, 09:16
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Dubov @ Jul 3 2016, 11:21) *
Разве не сработает если вместо аа подставить адрес начала sram?
"Это" сработает. Но где вы тут видите размещение массива, о котором спрашивали? aaarrr вам дал единсвенный правильный ответ на ваш вопрос.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


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


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