Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

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

Вт авг 28, 2018 14:10:09

аналогичный вопрос у меня возникал и ранее для "больших" ПК - там для чего ограничивать размер сегмента стека?!

патамушта calling conventions и работа с "железным" стеком. Предполагается, что адресное пространство стека непрерывно, а для этого с достаточной очевидностью его надо как-то отделить от кучи, дабы туда не лазил динамический аллокатор.
gcc умеет делать разрозненный динамически увеличивающийся стек (-fstack-split), но для использования сего все, с чем линкуется собираемая софтина, должно быть собрано так же. В llvm тоже вроде такое запилили.

Ну и "большие компы" - понятие растяжимое) зависит от реализации языка. В яве, например, сегменты стека выделяются таки динамически при надобности, но максимальный общий их размер таки задается при старте - так же для отделения от кучи, чтобы сегменты стека не трогал сборщик мусора.

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

Вт авг 28, 2018 14:19:51

А кто знает, как внешние события будут поступать? Раскрутить потребный стек статически можно для весьма ограниченного круга программ.

Не понял. :dont_know: Какие такие внешние события?
Что сложного? Берёте функцию, смотрите сколько она стека ест, смотрите какие функции она вызывает, сколько они едят, суммируете и так далее...
С библиотечными: во-первых их не так уж много - можно посмотреть внутри отладчиком и запомнить размер для каждой, во-вторых - возможно в отладочной инфу библиотеки можно включить инфу о размере стека.

Добавлено after 5 minutes 8 seconds:
Может, очень может быть стек не на вершине это самое мудрое решение. Ну так объясните почему, что это дает?

Чукча не читатель, чукча - писатель? Читать умеете?

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

Вт авг 28, 2018 14:31:37

jcxz писал(а):Чукча не читатель, чукча - писатель? Читать умеете?
Ну так объясните, я с удовольствием почитаю.

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

Вт авг 28, 2018 14:35:02

Какое преимущество организация стека (1) имеет перед (2) ?

мне чот кажется, что тут под SRAM подразумевается адресное пространство, а не прям физически имеющаяся память. Иначе нет вообще никакого смысла иметь unused области.

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

Вт авг 28, 2018 14:37:19

Какое преимущество организация стека (1) имеет перед (2) ?
Они не хуже и не лучше друг друга! Они просто разные! Прекращайте мыслить AVR-ми. Для разных задач разные распределения памяти.

Прям как в анекдоте "@рмянин лучше чем *рузин..."

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

Вт авг 28, 2018 14:37:52

arkhnchul писал(а): Иначе нет вообще никакого смысла иметь unused области.
Я тоже не вижу, половина тут говорит что он есть, но упорно молчат и не хотя объяснять.

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

Вт авг 28, 2018 14:41:23

[Я тоже не вижу, половина тут говорит что он есть, но упорно молчат и не хотя объяснять.
Вам никогда не приходилось разворачивать MMU с TLB за пределами задачи?

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

Вт авг 28, 2018 14:45:40

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

Добавлено after 51 second:
Это имеет отношение к теме данного раздела по STM32?

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

Вт авг 28, 2018 14:46:36

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

http://rgho.st/6kNQnLpPR

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

Вт авг 28, 2018 14:52:27

Подгони мне гугл, там еще больше инфы ;)

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

Вт авг 28, 2018 15:06:24

Могу еще эту
ARM System Developer’s Guide
Designing and Optimizing System Software

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

Вт авг 28, 2018 15:29:20

dosikus, полегче, у них и так стек переполнен :)

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

Вт авг 28, 2018 15:57:03

Могу еще эту

Я думаю - это слишком сложно будет. Тут с азов начинать надо. 8)

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

Вт авг 28, 2018 19:14:43

Молчу, молчу...

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

Пт авг 31, 2018 05:58:06

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

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

Пт авг 31, 2018 08:29:45

Более того, я не представляю себе встроенного приложения на STM32, которому могли бы понадобиться многие мегабайты и, тем более, гигабайты оперативной памяти. Ну, кроме устройств, работающих с изображениями или видео. Но, ИМХО, в такой аппаратуре должны применяться более специализированные решения, а не МК общего назначения. Да, в этих специализированных чипах тоже может быть ядро ARM, но причем здесь STM32 ?

Один из моих хоббийных проектов: радиоприёмник, с поддержкой онлайн-станций (через WiFi). Поддерживает MP3 и AAC потоки. Для нормальной работы ему нужно довольно много ОЗУ, как для декодирования так и для буферизации потока (так как поток со многих станций очень нестабилен), гораздо больше чем для видеопамяти (в нём же). Сделан на STM32F429.
И зачем тут "более специализированное решение"? :dont_know:

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

Пт авг 31, 2018 11:54:48

И где все это на STM32F103C8T6 ?
Ну вот как это называется, когда по одному типу контроллера на все STM32 обобщил. Да даже не только на STM32, а на целую IDE, которая кроме STM ещё кучу всего другого умеет. Что-то вспомнилось
https://youtu.be/tMpkcpTSN_s

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

Пт авг 31, 2018 12:42:14

Более того, я не представляю себе встроенного приложения на STM32, которому могли бы понадобиться многие мегабайты и, тем более, гигабайты оперативной памяти. Ну, кроме устройств, работающих с изображениями или видео.

Для развесистого GUI очень желательно иметь двойной фреймбуфер. Посчитайте его размер для большого цветного дисплея,

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

Пт авг 31, 2018 15:35:27

Более того, я не представляю себе встроенного приложения на STM32, которому могли бы понадобиться многие мегабайты и, тем более, гигабайты оперативной памяти.

Также могу вспомнить УСПД (устройства сбора и передачи данных) для систем АСКУЭ/АСТУЭ которые собирают и аккумулируют данные с сотен, а может и тысяч узлов учёта, резервируют и передают эту инфу в центры сбора. Тоже могут строиться на базе Cortex-M МК с многими мегабайтами внешней памяти. Так как вычислительных ресурсов особых не требуют, а только памяти и каналов связи.
Когда то давно также был проект (правда на DSP) модема и планировалась функция расчёта SNR по принятому кадру (для определения необходимости сервисного обслуживания "на лету" без вывода канала связи из эксплуатации). По теории один из методов расчёта SNR принятых данных - захватить массив сэмплов сигнала, демодулировать/декодировать, обратно кодировать/модулировать принятые данные в массив сэмплов и затем вычислить разницу энергий принятого массива сэмплов и эталонного (сгенерённого локально). На размерах кадров хотя-бы в несколько кБ получались очень неслабые размеры массивов сэмплов.

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

Сб сен 01, 2018 17:28:41

Для развесистого GUI очень желательно иметь двойной фреймбуфер. Посчитайте его размер для большого цветного дисплея,

И к попу встроенный баян надо тоже обязательно присобачить. Вы видимо просто не в курсе, как сам АРМ позиционирует линейки. Ну так картинки смотрите, раз почитать никак:

Изображение

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