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

 
 
> Инициализация данных в 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
Ответов
yanvasiij
сообщение Sep 20 2016, 09:58
Сообщение #2


Местный
***

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



В map-файле этот файл упоминается в нескольких местах:

Код
....
.text          0x00000000        0x0 ..\obj\heap_1.o
.data          0x00000000        0x0 ..\obj\heap_1.o
.text.vPortInitialiseBlocks
                0x00000000       0x18 ..\obj\heap_1.o
.text.vPortInitialiseBlocks
                0x00000000       0x18 ..\obj\heap_1.o
....
.text.pvPortMalloc
                0x08024048       0x8c ..\obj\heap_1.o
                0x08024048                pvPortMalloc
.text.vPortFree
                0x080240d4       0x14 ..\obj\heap_1.o
                0x080240d4                vPortFree
...
.bss           0x2000eb4c     0xc808 ..\obj\heap_1.o
...
.ARM.attributes
                0x000010dd       0x33 ..\obj\heap_1.o
...
LOAD ..\obj\heap_1.o
...


Команда ликнковки:

Код
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -g -nostartfiles -Wl,-Map=beremizStm32Port.map -O0 -Wl,--gc-sections -Wl, -LD:/_projects/beremizStm32Port/linkscript -Wl,-TD:/_projects/beremizStm32Port/linkscript/stm32f407zg_flash.ld -g -o output.elf ..\obj\vlStm32f4xI2C.o ...много файлов... ..\obj\heap_1.o ...еще много файлов... -lm -lgcc -lc -lnosys -lstdc++
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- yanvasiij   Инициализация данных в SDRAM   May 6 2016, 11:04
- - Непомнящий Евгений   инициализацию памяти надо вынести в функцию, котор...   May 6 2016, 11:11
|- - skripach   Нужно определить функцию __low_level_init, или фай...   Sep 15 2016, 14:29
- - 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
|- - 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 Текстовая версия Сейчас: 21st August 2025 - 06:04
Рейтинг@Mail.ru


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