Например TDA7294

Форум РадиоКот • Просмотр темы - Распределение оперативной памяти в STM32
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс дек 28, 2025 22:53:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 157 ]    , , 3, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 16:21:31 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Поправить можно все что угодно. На вопрос Вы не ответили, хотя буквы написали.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 16:28:52 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2557
Рейтинг сообщения: 2
Может вам абдуриной заняться? Я сам не пробовал, но говорят там думать вообще не надо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 16:31:18 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
То есть ответить Вы не можете.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 16:37:09 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2557
Рейтинг сообщения: -3
Читайте с первого сообщения - там все ответы.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 16:46:29 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Тема создана не мной, вопрос задан не лично Вам, никто не заставляет Вас на него отвечать, тем более отвечать, но не на него, а на что-то другое. Ответ на вопрос зачем дефолтное значение SP не конце памяти отсутствует. Вопрос четкий и однозначный, как и положено для точных технических предметов для обсуждения . Никто не спрашивал, а можно ли его по другому инициализировать, или как писать скрипт линкера или еще какой-то вопрос. Такой вопрос понятен даже "ардуинщуку" (никогда не пробовал это, но и не считаю чем-то плохим) и подразумевает четкий ответ, тут вроде не философский форум.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 17:40:45 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2557
Рейтинг сообщения: 0
Я считаю, что если стек улетит ниже начала памяти, то программа сразу обрушится и вы это точно заметите. В отличии от случая когда он будет бить по своей памяти.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 17:58:30 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS писал(а):
В отличии от случая когда он будет бить по своей памяти.
Я не понял этот тезис. Имеете ввиду что стек уйдет в никем не за декларированную память? Можно считать что у Вас просто стэк больше по факту, чем заявлен.
VladislavS писал(а):
сразу обрушится и вы это точно заметите.
К сожалению это не факт и сбой этот может происходить один раз в году и это при наличии например 50% свободной памяти.
Конечно прогая на ассме легко посчитать нужный размер стэка, как это сделать на ЯВУ, кроме интуиции я не знаю. Можно попробовать конечно в каких-то глубоких подпрограммах считать SP, но и это ничего значить не будет. Неисповедимы пути компилятора.

Поэтому по-мне, самое разумное отдать по стек, всю оставшуюся память, так как только ее необходимые размеры трудно установить, в отличии от других однозначных секций памяти. Что и сделано, как оказалось по умолчанию в EmBitz.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 18:32:43 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2557
Рейтинг сообщения: 0
Имеете ввиду что стек уйдет в никем не за декларированную память? Можно считать что у Вас просто стэк больше по факту, чем заявлен.
Ниже чем ОЗУ. Там пусто. Программе не сможет не упасть, если стек туда выйдет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 18:46:05 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18448
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
VladislavS писал(а):
Вот, например, инициализация стеков ядра ARM926.
Думаю был бы более уместным пример с RTOS где свой стек на каждую задачу.
для RTOS распределение "стеков" задач и распределение стека вообще - разные вещи. С точки зрения нужд самой ОС стек один, а отдельные стеки под задачи распределяет уже ОС - это вот никак не вопрос компилятора и/или линкера. Даже странно, что вы об этом упомянули, а большой дядя ничтоже сумняшеся согласился.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 18:52:28 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS писал(а):
Ниже чем ОЗУ
Надо поглядеть, если это вызовет исключение, то мысля здравая. Вот только по умолчанию стек не первый, а сразу после всех секций и потом пустое, заброшенное и никому не нужное целое поле оперативки :).

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 18:54:34 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18448
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
В STM33 есть исключения по выходу за области памяти?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 19:15:31 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
По стеку не знаю, надо поглядеть. А так я улетал из-за ошибок с указателями.

Добавлено after 5 minutes 15 seconds:
Может попробую сейчас что-нибудь. А может не сейчас :)

Добавлено after 10 minutes 57 seconds:
Есть такой вектор в 103тьем
Код:
0  MemManage Memory management

Щаз поковыряю программ мануал на ядро M3. Там должно про это быть расписюлено.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 19:22:51 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18448
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Наличие такого вектора может помочь в отладке сложных приложений. Но что-то мне подсказывает, что далеко не у всех МК это есть. По-моему, модуль аппаратного контроля областей памяти (не знаю, как оно правильно зовется) только в "старших" АРМах есть...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 19:25:08 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2557
Рейтинг сообщения: 0
Исключение не обязательно. Достаточно возврата по 0xFFFFFFFF


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 19:38:35 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
VladislavS писал(а):
Исключение не обязательно. Достаточно возврата по 0xFFFFFFFF
И что это за хрень будет. А может будет не возврат, а порча каких-то данных?

Добавлено after 5 minutes 36 seconds:
Вот какой флаг есть в ядре M3. Помоему это то.
Код:
Bit 4MSTKERR: Memory manager fault on stacking for exception entry
When this bit is 1, the SP is still adjusted but the values in the context area on the stack might
be incorrect. The processor has not written a fault address to the MMAR.


Надо покурить НТД и попробовать...

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 19:41:33 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Сумневающиеся, о отладке в RAM не забыли?
В эмоблитсе это нонсенс...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 19:43:05 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вот когда перестают люди меряться письками, то могут возникнуть интересные идеи от совместных мыслей.

Добавлено after 1 minute 3 seconds:
dosikus писал(а):
о отладке в RAM не забыли?
Я так пробовал и делал ряд научных и ненаучных опытов по скорости выполнения кода.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 19:48:51 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Z_h_e, меня особенно прикололо , что крайне неудачную поделку с устаревшим гнутым компилем здесь превозносят как постулат истины. Ну ладно Мурик уверовал, но остальные то- общий маразм?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 19:49:56 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3382
Рейтинг сообщения: 0
VladislavS писал(а):
Я считаю, что если стек улетит ниже начала памяти, то программа сразу обрушится
Для этого нужно разместить стек в начале ОЗУ, а за ним все остальное. Тогда стек сможет не затирая остальных данных выйти за пределы ОЗУ. Что при этом произойдет не проверял, но вероятно HardFault.

ARV писал(а):
для RTOS распределение "стеков" задач и распределение стека вообще - разные вещи. С точки зрения нужд самой ОС стек один, а отдельные стеки под задачи распределяет уже ОС - это вот никак не вопрос компилятора и/или линкера. Даже странно, что вы об этом упомянули, а большой дядя ничтоже сумняшеся согласился.
Упомянул как наиболее очевидный пример нескольких стеков. Вообще у каждой задачи свой стек и есть вероятность его переполнения с затиранием служебных данных задачи.

ARV писал(а):
В STM33 есть исключения по выходу за области памяти?
В STM33 не знаю, а в STM32 есть. При обращении у несуществующей области адресного пространства производится переход в прерывание HardFault. В STM32 адресное пространство составляет 4 ГБ в котором располагаются флеш, ОЗУ, регистры периферии и ядра и т. д. и в нем много свободного (неиспользуемого) места.

ARV писал(а):
Наличие такого вектора может помочь в отладке сложных приложений.
Наличие отладчика в этом помогает. Можете посмотреть если хотите. http://purebasic.mybb.ru/viewtopic.php?id=564#p7599

ARV писал(а):
По-моему, модуль аппаратного контроля областей памяти (не знаю, как оно правильно зовется) только в "старших" АРМах есть...
В данном случае дело не в памяти, а в обращении к нереализованному адресу.

dosikus писал(а):
Сумневающиеся, о отладке в RAM не забыли?
В эмоблитсе это нонсенс...
Есть такая галочка Execute from RAM в окне настроек отладчика.
СпойлерИзображение


Последний раз редактировалось Мурик Пт авг 24, 2018 19:52:00, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Распределение оперативной памяти в STM32
СообщениеДобавлено: Пт авг 24, 2018 20:00:06 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Z_h_e, меня особенно прикололо , что крайне неудачную поделку с устаревшим гнутым компилем здесь превозносят как постулат истины. Ну ладно Мурик уверовал, но остальные то- общий маразм?

Да я и не спорю что-то может быть и плохо. Только как-то никто не мотивирует почему. Какая-та фраза Портоса, плохо потому что плохо.
Во что я уверовал? Я объяснил свою позицию, по-моему она достаточно понятна почему.

Добавлено after 9 minutes 6 seconds:
Судя по RM и PM. В М0 уже нет таких исключений с памятью

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 157 ]    , , 3, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Муркиз и гости: 27


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y