Поясню алгоритм работы, почему возник данный вопрос:
1. пользователь в win приложении ведет список, состоящий из нескольких полей (достаточно разный по объему данных);
2. пользователь в приложении имеет возможность скинуть данные списка в файл на sd, данные пишу в бинарный файл;
3. sd карта вставляется в устройство на stm32, потом reset или power on, при запуске читается данные этого списка, что определяет алгоритмику работы.
Рассматривались попытки организовать все по usb, через virtual port com, запись данных списка в eeprom, но было решено что с sd будет проще и мобильнее (устройство с собой не потаскаешь, с ноутбуком тоже не всегда удобно).
Мне кажется ситуация достаточно типичная для работы устройства на stm32.
Кто как поступает в таких случаях?
Цитата(AlexandrY @ Oct 25 2017, 14:19)

При создании этих файлов надо одновременно генерить и код на С для выделения статического массива, а лучше структуры.
Данный подход требует ребилда hex-а и его прошивка в камень. Мы сейчас так делаем, задумали как временное решение, поэтому сейчас пытаемся уйти от этого решения.
Цитата(AlexandrY @ Oct 25 2017, 14:19)

Штатный malloc для выделения места для файла в RAM только потому что не хочется писать его размер - плохая идея.
Это все равно что разложить грабли на будущее.
Именно от сомнений использования malloc возник вопрос.
Цитата(Jenya7 @ Oct 25 2017, 14:17)

вобще то можно выделить общий массив. все равно нужно хранить все файлы.
общий массив какого размера? по максималке, но может быть и 100байт, а может 100Кбт. Этим рулит пользователь. И можно попасть в ситуацию что выделенный массив мал по размеру или просто живет, отъедает память.
это можно использовать на относительно статичных данных.