Микроконтроллеры семейства STM32

Откуда код исполняется, верно? А могу я туда залить своих данных, рядышком, чтобы потом их читать как my_data[index] ?

Переформулирую. Если я хочу написать программу для STM32, которая использует read()/write()/opendir() и тому подобное - я могу это сделать без безумных усилий? Для этого мне будет лишь нужно установить какие-то дополнительные компоненты, да?

О, там и FreeRTOS можно даже установить, круто-круто. Спасибо.

я пяток месяцев назад так влип в нее, нраИтся, теперь все прожекты (в пределах разумного) на ней, тока памяти жрет ссу…

Дык, кто ж тебе запретит?

Это что-то вроде RAM-диска со своей ФС?
Если только ROM-диск, то вообще никаких проблем. Если нужно писать, то запись поблочная, что для дискового накопителя - норма. Но что-то мне кажется, там не те объемы, на который имело бы смысл натягивать ФС. Другое дело - если внешнюю SPI flash.
Вот на такой плате, например,


уже впаяна микросхема на 16 Мбит. И никто не мешает заменить ее на более емкую.
Но, кроме того, есть гнездо для SD карты, с которой, по моему мнению, и следует работать, если требуется именно блочное устройство хранения с ФС.

Именно он. Файловая система read-only, изыскиваю список MCU, на которые можно будет ее портировать.

Пока она работает на ESP32 и в режиме “эмуляции” можно скомпилировать под windows/cygwin.

Но ключевой момент архутектуры состоит в том, что именно блочное чтение нам не подходит, нужОн доступ как к просто памяти.

Но, в общем, это все обнадеживает, спасибо!

Нет, не получится , stm32f4 и f7 имеет блочную flash.
Что мешает написать свою обертку над функцией побайтной записи/чтения?

Тогда непонятно, зачем вообще связываться с ФС, которая подразумевает именно блочные операции. Если нужна древовидная структура, можно использовать что-то типа xml.
Но, если уж выбор будет сделан в пользу ФС, рекомендую CDFS или какую другую простенькую ФС, не поддерживающую фрагментацию файлов.

flash находится в общем адресном пространстве, т.е. чтение, если и блочное, то размер блока не превышает 8-32 битов (1-4 байта). А запись - да, блочная, но она в данном случае не интересует.

В ESP32 тоже флеш с секторами и прочими радостями. Но она так же млжет быть доступна как линейно адресуемй массив. Собственно, так XIP устроен.

В моей файловой системе упор сделан немного на другое - на zero-copy. на минимальное потребление RAM..

Т.е. помимо стандартных open()/read()/close() у меня есть еще , например, mmap(). И вот для mmap() то весь огород и городится.

STM-щики, люди добрые, вопрос глупый имею. Объясните.

Вот есть в STM32 «собака» IWDG. Хорошо работает, спасает от зависаний.

А есть еще WWDG.
И вот с последним у меня непонимание имеется.

Как можно предугадать «окно», за которое выполнится код? Ну если +/- одно и тоже крутится в лупе - то и ладно. А если данные обрабатываются? Большие и переменной длины?
Или оно под специфичные задачи (какие)?

Кто-нибудь вообще на практике использует именно WWDG?

от человека в кепке статья

сам не пользовал.

У меня вроде бы всё нормально.
Открывается это

Wwdg не понял, не получилось, зачем надо непонятно.

В умных книжках пишут чтобы мк «держал темп».
То есть сброс если позже «окна» покормили собаку, а так же если раньше.
Я не смог придумать задачу, которая потребовала бы его использования, поэтому и спросил.

В книжках, и статье выше все описано.
Вопрос в другом - есть хоть один конкретный пример на хрена оно в коде нужно?
Вот я сколько под stm32 пишу - не смог придумать :man_shrugging:

Так и я не смог :smiley:

Ну, раз в наличии, значит какая-то идея у разрабов была ))

ну так сам ТС зафлудил, не понимая для чего нужен WWDG пришёл и поумничал,
По теме:
WWDG для спутниковой телеметрии — это золотой стандарт , потому что:

  • Он борется не только с “зависанием”, но и с нарушением циклограммы полета.
  • Он не дает передатчику включиться в нештатное время (спасает батареи и предотвращает помехи).
  • Обеспечивает детерминизм, который так важен в реальном времени (RTOS).

Если вы пишете прошивку для радиолюбительского спутника (например, в рамках проекта Unisat или собственного CubeSat), обязательно используйте WWDG в паре с основным таймером — это повысит шансы аппарата на долгую жизнь в сотни раз.

Если нужен готовый расчет параметров под вашу конкретную частоту PCLK или тактирование радиомодуля — пишите, посчитаем.

Ты сам лично много прошивок написал (для радиолюбительских спутников Unisat)?
:grinning_face_with_smiling_eyes::rofl:

Видимо или слишком часто сеанс катушки был последнее время, или давно его не было :thinking: