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

 
 
> Инициализация данных в SDRAM
yanvasiij
сообщение May 6 2016, 11:04
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Доброго времени суток!

Вопрос возможно дурацкий, но все же... Подключаю внешнюю SRAM к STM32 через FMC, компилятор arm-none-eabi. Параметры расположения данных в памяти настраиваю через файлa линковки. Расположить объявленный, например, массив во внешней SRAM труда не составит, но как сделать так, чтобы этот массив можно было инициализировать объявлением?

Пусть есть файл someFile.c, переменные внутри которого расположены во внешней SRAM c помощью файл линковки.

Код
int data[20] = {1,2,3...20};


Инициализация к массиву data[] осуществляется после инициализации SDRAM в файле main.c

Код
extern int *data;

int main (void)
{
    SDRAM_init(); /*< Вот тут память инициализаруется */

   printf ("data: %d\r", data[5]);

  while (1)
  {
    ...
  }
}


Есть ли способ переиницилизировать все массивы данными, которыми они были инициализированы при объявлении, не прибегая к рукопашному присваиванию?

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение May 6 2016, 11:11
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



инициализацию памяти надо вынести в функцию, которая вызывается после старта (до вызова main и функций из стандартной библиотеки, которые занимаются инициализацией). Т.е. смотрите свой стартап
Go to the top of the page
 
+Quote Post
skripach
сообщение Sep 15 2016, 14:29
Сообщение #3


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Нужно определить функцию __low_level_init, или файл, плохо помню, подробнее найдёте в доке на яр.


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- yanvasiij   Инициализация данных в SDRAM   May 6 2016, 11:04
- - amiller   По моему сделать так как Вы хотите невозможно. На ...   May 6 2016, 11:20
|- - Непомнящий Евгений   Цитата(amiller @ May 6 2016, 14:20) По мо...   May 6 2016, 12:02
|- - amiller   Цитата(Непомнящий Евгений @ May 6 2016, 14...   May 6 2016, 12:09
|- - Tarbal   Цитата(Непомнящий Евгений @ May 6 2016, 16...   Sep 18 2016, 23:12
- - yanvasiij   Цитата(Непомнящий Евгений @ May 6 2016, 16...   May 6 2016, 11:31
- - yanvasiij   Цитата(Непомнящий Евгений @ May 6 2016, 17...   May 18 2016, 05:19
- - yanvasiij   Спрошу тут, чтобы не плодить веток. Подскажите как...   Sep 13 2016, 10:42
|- - alx2   Цитата(yanvasiij @ Sep 13 2016, 16:42) Сп...   Sep 15 2016, 05:01
- - yanvasiij   Добавил в скрипт эти строчки, при сборке выдает ош...   Sep 15 2016, 09:18
|- - alx2   Цитата(yanvasiij @ Sep 15 2016, 15:18) До...   Sep 16 2016, 06:54
- - yanvasiij   Цитата(alx2 @ Sep 16 2016, 11:54) Не поня...   Sep 16 2016, 13:24
|- - alx2   Цитата(yanvasiij @ Sep 16 2016, 19:24) Та...   Sep 19 2016, 13:45
- - yanvasiij   В map-файле этот файл упоминается в нескольких мес...   Sep 20 2016, 09:58
|- - alx2   Цитата(yanvasiij @ Sep 20 2016, 15:58) Ко...   Sep 22 2016, 07:17
- - yanvasiij   Цитата(alx2 @ Sep 22 2016, 12:17) Ну вот....   Oct 7 2016, 05:58
- - alx2   Цитата(yanvasiij @ Oct 7 2016, 11:58) Выд...   Oct 10 2016, 10:14


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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 12:56
Рейтинг@Mail.ru


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