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

 
 
> Массив данных большого размера
Muxamor
сообщение Feb 12 2016, 05:53
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 289
Регистрация: 4-05-05
Из: Novosibirsk
Пользователь №: 4 722



МК используется STM32F103 компилятор IAR.

Задача. Накапливать за секунду массив данных размером 16 Кбайт (u8 array[16384] )затем отправлять его к другому устройству. Массив объявляется глобально.

Столкнулся с такой проблемой, что при объявлении массива размером в 16 Кбайт перестают работать прерывания, при инициализации массива меньшего размера порядка 300 Байт ( u8 array[300] ) все работает как и задумано.
При компиляции IAR никаких ошибок не выдает.

Как правильно объявлять большой массив данных?


--------------------
Бубен - однако штука шаманская!!!

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Feb 12 2016, 09:33
Сообщение #2


Гуру
******

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



Вероятно не хватет места на стеке. Не обязательно этому массиву самому на стек налезать, достаточно, чтобы из-за резервирования места под массив остальные переменные сдвинулись и налезли на стек.


--------------------
На любой вопрос даю любой ответ
"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
zltigo
сообщение Feb 12 2016, 09:39
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Сергей Борщ @ Feb 12 2016, 11:33) *
Вероятно не хватет места на стеке. Не обязательно этому массиву самому на стек налезать, достаточно, чтобы из-за резервирования места под массив остальные переменные сдвинулись и налезли на стек.

Может и вообще памяти не хватает в принципе. Линкеру-то можно указать любое количество памяти.



QUOTE (kolobok0 @ Feb 12 2016, 11:33) *
начните с того, что уберите лишний код. и создадите болванку которую заархивировав выложить тут. Иначе это всё гадание на кофейной гуще.
Имхо - методом отсекания Вы вычислите гораздо быстрее, чем гадать на форумах.
(круглый)

Начинать с рассмотрения MAP фала а не с суматошных созданий блованок и распросов на форумах


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


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


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