Распределение оперативной памяти в STM32

Кто любит RISC в жизни, заходим, не стесняемся.
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Распределение оперативной памяти в STM32

Сообщение arkhnchul »

[uquote="ARV",url="/forum/viewtopic.php?p=3445078#p3445078"]аналогичный вопрос у меня возникал и ранее для "больших" ПК - там для чего ограничивать размер сегмента стека?![/uquote]
патамушта calling conventions и работа с "железным" стеком. Предполагается, что адресное пространство стека непрерывно, а для этого с достаточной очевидностью его надо как-то отделить от кучи, дабы туда не лазил динамический аллокатор.
gcc умеет делать разрозненный динамически увеличивающийся стек (-fstack-split), но для использования сего все, с чем линкуется собираемая софтина, должно быть собрано так же. В llvm тоже вроде такое запилили.

Ну и "большие компы" - понятие растяжимое) зависит от реализации языка. В яве, например, сегменты стека выделяются таки динамически при надобности, но максимальный общий их размер таки задается при старте - так же для отделения от кучи, чтобы сегменты стека не трогал сборщик мусора.
Реклама
jcxz
Мудрый кот
Сообщения: 1726
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Распределение оперативной памяти в STM32

Сообщение jcxz »

[uquote="ARV",url="/forum/viewtopic.php?p=3445269#p3445269"]А кто знает, как внешние события будут поступать? Раскрутить потребный стек статически можно для весьма ограниченного круга программ.[/uquote]
Не понял. :dont_know: Какие такие внешние события?
Что сложного? Берёте функцию, смотрите сколько она стека ест, смотрите какие функции она вызывает, сколько они едят, суммируете и так далее...
С библиотечными: во-первых их не так уж много - можно посмотреть внутри отладчиком и запомнить размер для каждой, во-вторых - возможно в отладочной инфу библиотеки можно включить инфу о размере стека.

Добавлено after 5 minutes 8 seconds:
[uquote="Z_h_e",url="/forum/viewtopic.php?p=3445282#p3445282"]Может, очень может быть стек не на вершине это самое мудрое решение. Ну так объясните почему, что это дает?[/uquote]
Чукча не читатель, чукча - писатель? Читать умеете?
Реклама
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Распределение оперативной памяти в STM32

Сообщение Z_h_e »

jcxz писал(а):Чукча не читатель, чукча - писатель? Читать умеете?
Ну так объясните, я с удовольствием почитаю.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Распределение оперативной памяти в STM32

Сообщение arkhnchul »

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3445282#p3445282"]Какое преимущество организация стека (1) имеет перед (2) ? [/uquote]
мне чот кажется, что тут под SRAM подразумевается адресное пространство, а не прям физически имеющаяся память. Иначе нет вообще никакого смысла иметь unused области.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Распределение оперативной памяти в STM32

Сообщение VladislavS »

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3445282#p3445282"]Какое преимущество организация стека (1) имеет перед (2) ? [/uquote]Они не хуже и не лучше друг друга! Они просто разные! Прекращайте мыслить AVR-ми. Для разных задач разные распределения памяти.

Прям как в анекдоте "@рмянин лучше чем *рузин..."
Реклама
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Распределение оперативной памяти в STM32

Сообщение Z_h_e »

arkhnchul писал(а): Иначе нет вообще никакого смысла иметь unused области.
Я тоже не вижу, половина тут говорит что он есть, но упорно молчат и не хотя объяснять.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Реклама
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Распределение оперативной памяти в STM32

Сообщение VladislavS »

[uquote="Z_h_e",url="/forum/viewtopic.php?p=3445310#p3445310"][Я тоже не вижу, половина тут говорит что он есть, но упорно молчат и не хотя объяснять.[/uquote]Вам никогда не приходилось разворачивать MMU с TLB за пределами задачи?
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Распределение оперативной памяти в STM32

Сообщение Z_h_e »

Я не знаю что это.

Добавлено after 51 second:
Это имеет отношение к теме данного раздела по STM32?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Распределение оперативной памяти в STM32

Сообщение dosikus »

Z_h_e, давай я тебе книжку подгоню, с картинками...
The Designer’s Guide to the Cortex-M Processor Family

http://rgho.st/6kNQnLpPR
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Распределение оперативной памяти в STM32

Сообщение Z_h_e »

Подгони мне гугл, там еще больше инфы ;)
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Распределение оперативной памяти в STM32

Сообщение dosikus »

Могу еще эту
ARM System Developer’s Guide
Designing and Optimizing System Software
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Распределение оперативной памяти в STM32

Сообщение VladislavS »

dosikus, полегче, у них и так стек переполнен :)
jcxz
Мудрый кот
Сообщения: 1726
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Распределение оперативной памяти в STM32

Сообщение jcxz »

[uquote="dosikus",url="/forum/viewtopic.php?p=3445324#p3445324"]Могу еще эту[/uquote]
Я думаю - это слишком сложно будет. Тут с азов начинать надо. 8)
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Распределение оперативной памяти в STM32

Сообщение dosikus »

Молчу, молчу...
Аватара пользователя
afz
Опытный кот
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Re: Распределение оперативной памяти в STM32

Сообщение afz »

VladislavS писал(а):Да что вы говорите? CCM RAM уже отменили? Подключение внешней памяти уже отменили?
И где все это на STM32F103C8T6 ? На таких, и меньших МК делается 90% (если не 99%) любительских конструкций с применением STM32. Более того, я не представляю себе встроенного приложения на STM32, которому могли бы понадобиться многие мегабайты и, тем более, гигабайты оперативной памяти. Ну, кроме устройств, работающих с изображениями или видео. Но, ИМХО, в такой аппаратуре должны применяться более специализированные решения, а не МК общего назначения. Да, в этих специализированных чипах тоже может быть ядро ARM, но причем здесь STM32 ?
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
jcxz
Мудрый кот
Сообщения: 1726
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Распределение оперативной памяти в STM32

Сообщение jcxz »

[uquote="afz",url="/forum/viewtopic.php?p=3447100#p3447100"]Более того, я не представляю себе встроенного приложения на STM32, которому могли бы понадобиться многие мегабайты и, тем более, гигабайты оперативной памяти. Ну, кроме устройств, работающих с изображениями или видео. Но, ИМХО, в такой аппаратуре должны применяться более специализированные решения, а не МК общего назначения. Да, в этих специализированных чипах тоже может быть ядро ARM, но причем здесь STM32 ?[/uquote]
Один из моих хоббийных проектов: радиоприёмник, с поддержкой онлайн-станций (через WiFi). Поддерживает MP3 и AAC потоки. Для нормальной работы ему нужно довольно много ОЗУ, как для декодирования так и для буферизации потока (так как поток со многих станций очень нестабилен), гораздо больше чем для видеопамяти (в нём же). Сделан на STM32F429.
И зачем тут "более специализированное решение"? :dont_know:
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Распределение оперативной памяти в STM32

Сообщение VladislavS »

[uquote="afz",url="/forum/viewtopic.php?p=3447100#p3447100"]И где все это на STM32F103C8T6 ?[/uquote]Ну вот как это называется, когда по одному типу контроллера на все STM32 обобщил. Да даже не только на STM32, а на целую IDE, которая кроме STM ещё кучу всего другого умеет. Что-то вспомнилось
https://youtu.be/tMpkcpTSN_s
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: Распределение оперативной памяти в STM32

Сообщение pvit »

[uquote="afz",url="/forum/viewtopic.php?p=3447100#p3447100"]Более того, я не представляю себе встроенного приложения на STM32, которому могли бы понадобиться многие мегабайты и, тем более, гигабайты оперативной памяти. Ну, кроме устройств, работающих с изображениями или видео.[/uquote]
Для развесистого GUI очень желательно иметь двойной фреймбуфер. Посчитайте его размер для большого цветного дисплея,
jcxz
Мудрый кот
Сообщения: 1726
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Распределение оперативной памяти в STM32

Сообщение jcxz »

[uquote="afz",url="/forum/viewtopic.php?p=3447100#p3447100"]Более того, я не представляю себе встроенного приложения на STM32, которому могли бы понадобиться многие мегабайты и, тем более, гигабайты оперативной памяти.[/uquote]
Также могу вспомнить УСПД (устройства сбора и передачи данных) для систем АСКУЭ/АСТУЭ которые собирают и аккумулируют данные с сотен, а может и тысяч узлов учёта, резервируют и передают эту инфу в центры сбора. Тоже могут строиться на базе Cortex-M МК с многими мегабайтами внешней памяти. Так как вычислительных ресурсов особых не требуют, а только памяти и каналов связи.
Когда то давно также был проект (правда на DSP) модема и планировалась функция расчёта SNR по принятому кадру (для определения необходимости сервисного обслуживания "на лету" без вывода канала связи из эксплуатации). По теории один из методов расчёта SNR принятых данных - захватить массив сэмплов сигнала, демодулировать/декодировать, обратно кодировать/модулировать принятые данные в массив сэмплов и затем вычислить разницу энергий принятого массива сэмплов и эталонного (сгенерённого локально). На размерах кадров хотя-бы в несколько кБ получались очень неслабые размеры массивов сэмплов.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Распределение оперативной памяти в STM32

Сообщение a5021 »

[uquote="pvit",url="/forum/viewtopic.php?p=3447322#p3447322"]Для развесистого GUI очень желательно иметь двойной фреймбуфер. Посчитайте его размер для большого цветного дисплея,[/uquote]
И к попу встроенный баян надо тоже обязательно присобачить. Вы видимо просто не в курсе, как сам АРМ позиционирует линейки. Ну так картинки смотрите, раз почитать никак:

Изображение

Видно, куда экраны с фреймбуферами относятся?
Вложения
2018-09-01_183058.jpg
(115.48 КБ) 552 скачивания
Ответить

Вернуться в «ARM»