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

 
 
> Локальный массив - не выделяется память?
Vladimir Prokofi...
сообщение Apr 4 2012, 14:33
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 9-03-11
Пользователь №: 63 481



функция:

Код
void TestSD( void ){
  uint8_t buf[5000];
  
  for( i = 0; i < 1024; i++ ){
    buf[i] = 5;
  }


После этих строк я вижу, что моя "5" появилась в чужих переменных. Как такое может быть, я же ему явно указал его размер?
И как в иаре узнать сколько памяти сейчас выделено/осталось?
Еще вопрос не в тему, кто-то говорил, что для определенных задач выделение памяти во время исполнения считается плохим тоном. Не могу придумать чем это плохо, если правильно делать

Сообщение отредактировал IgorKossak - Apr 4 2012, 18:46
Причина редактирования: [code] для короткого кода
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KnightIgor
сообщение Apr 4 2012, 14:47
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Переменная выделяется в стеке (sub sp, sp, #5000). У Вас его размер достаточен для размещения почти 5 кило?

Сообщение отредактировал IgorKossak - Apr 4 2012, 18:47
Причина редактирования: бездумное цитирование
Go to the top of the page
 
+Quote Post
Vladimir Prokofi...
сообщение Apr 4 2012, 14:57
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 9-03-11
Пользователь №: 63 481



Цитата(KnightIgor @ Apr 4 2012, 18:47) *
Переменная выделяется в стеке (sub sp, sp, #5000). У Вас его размер достаточен для размещения почти 5 кило?

Да, спасибо, кажется это ответ. Я Сделал CSTACK больше и вроде сработало. А как узнать какой размер выделить под стеки?
Можно еще вопросов глупых позадовать:
1. Память, выделяемая динамически, как то malloc тоже выделяется в стеке CSTACK?
2. Если используем, например, FreeRtos, то переменные, которые я объявляю внутри задачи где хранятся?
Go to the top of the page
 
+Quote Post



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

 


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


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