gridinp 2 14 ноября, 2022 Опубликовано 14 ноября, 2022 · Жалоба Насчёт МК, возможно будет интересно посмотреть FreeRTOS реализацию: Memory Management Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 14 ноября, 2022 Опубликовано 14 ноября, 2022 · Жалоба On 11/14/2022 at 11:13 AM, Forger said: Читайте внимательнее: хм. запретить в ран-тайм переписывать скрипт? как то не подумал, вполне себе решение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 19 14 ноября, 2022 Опубликовано 14 ноября, 2022 · Жалоба Just now, jenya7 said: как то не подумал, вполне себе решение. Переписали скрипт - ребутнули девайс для его обновления. Для мк это доли сек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 14 ноября, 2022 Опубликовано 14 ноября, 2022 (изменено) · Жалоба On 11/14/2022 at 11:19 AM, Forger said: Переписали скрипт - ребутнули девайс для его обновления. Для мк это доли сек. ок. спасибо. это решение. тут вот ещё что подбешивает - в линкере я ж дожен заранее выделить место под хип. надо же знать сколько выделять. Изменено 14 ноября, 2022 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 19 14 ноября, 2022 Опубликовано 14 ноября, 2022 · Жалоба У себя в одном из проектов использовал такую схему: девайс при подключении к компу видился как флэшка с файлами, среди которых и json файл с настройками, картинками/шрифтами GUI и т.п. При отключении девайса от ПК автоматом производился ребут устройства с последующей загрузкой обновленного скрипта (тупо мониторится наличие питания на VBUS). Если нужно хранить только скрипт, то можно использовать для этого собственную флэш память МК (если память позволяет, ведь FAT-12 тоже требует места), тогда для доступа к нему не обязательно копировать его в ОЗУ для последующей работы, а читать прямо из флэш, если не нужна высокая скорость. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 14 ноября, 2022 Опубликовано 14 ноября, 2022 (изменено) · Жалоба On 11/14/2022 at 11:25 AM, Forger said: У себя в одном из проектов использовал такую схему: девайс при подключении к компу видился как флэшка с файлами, среди которых и json файл с настройками, картинками/шрифтами GUI и т.п. При отключении девайса от ПК автоматом производился ребут устройства с последующей загрузкой обновленного скрипта (тупо мониторится наличие питания на VBUS). Если нужно хранить только скрипт, то можно использовать для этого собственную флэш память МК (если память позволяет, ведь FAT-12 тоже требует места), тогда для доступа к нему не обязательно копировать его в ОЗУ для последующей работы, а читать прямо из флэш, если не нужна высокая скорость. ну да, я что то ступил. я ж сам скрипт сохраняю во флеш а при поднятии из флеш "компилирую" в оперативную память. так сохранять во флэш уже в компилированном виде. но тогда непонятно как это делать если не выделять всё место под целый скрипт - компилировать по кускам и сразу этот кусок прожигать во флешь? Изменено 14 ноября, 2022 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 14 ноября, 2022 Опубликовано 14 ноября, 2022 · Жалоба 1 hour ago, gridinp said: Насчёт МК, возможно будет интересно посмотреть FreeRTOS реализацию: Memory Management также есть описание/подход uC/OS https://micrium.atlassian.net/wiki/spaces/osiidoc/pages/163866/Memory+Management ну а у "взрослых", насколько я помню, malloc вызывает системный sbrk от которого и получает память. а уж как ее дефрагментировать и вообще управлять - это хитрая задачка внутри ядра может в каких-то скриптовых языках посмотреть как работает автоматический сбор мусора, но там могут перформанца не жалеть совсем... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 14 ноября, 2022 Опубликовано 14 ноября, 2022 · Жалоба On 11/14/2022 at 12:47 PM, yes said: также есть описание/подход uC/OS https://micrium.atlassian.net/wiki/spaces/osiidoc/pages/163866/Memory+Management ну а у "взрослых", насколько я помню, malloc вызывает системный sbrk от которого и получает память. а уж как ее дефрагментировать и вообще управлять - это хитрая задачка внутри ядра может в каких-то скриптовых языках посмотреть как работает автоматический сбор мусора, но там могут перформанца не жалеть совсем... чем начинать мутить свой Memory Management так может лучше сразу OS поставить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 19 14 ноября, 2022 Опубликовано 14 ноября, 2022 · Жалоба 19 minutes ago, jenya7 said: чем начинать мутить свой Memory Management так может лучше сразу OS поставить. Это две разные вещи. Одно другому не мешает, но друг друга дополняют. Не все ОС имеют менеджер кучи, зачастую хватает штатного, который дает компилятор в своих библиотеках. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться