|
Файловая система "Reliance Edge" - кто-то щупал?, современная альтернатива FatFs в многозадачках? |
|
|
|
Jun 11 2018, 15:21
|
Гуру
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025
|
копаюсь в оптимизации FatFs для FreeRTOS, ну "открыл" для себя такую страницу на сайте FreeRTOS : Reliance Edge Fail-Safe File System, A Transactional Embedded File System for FreeRTOSПоют красиво, но вот что-то я не нашел тех кто ее реально прикручивал. FatFs хороший, но делался во времена байтов, а не мегабайтов. Нужно что-то делать с буферизацией, да и ресурсы сейчас уже не так важны как раньше- можно и побольше ОЗУ/ПЗУ потратить, в угоду удобству-скорости-надежности в случае многозадачки. Тут они и сравнение дают с тем же FatFs. Лицензия не самая хорошая GNU GPLv2, но вроде и продают под коммерческие продукты. Правда, непонятно сколько стоит: нужно писать и конкретно спрашивать, такое ощущение что цена будет зависеть от персональной толщины моего фейса. Не хочется быть первопроходимцем с набиванием шишек на личной голове и остальных частях тела, может кто-то уже составил мнение об этом продукте? Кто-то может похвалить или поругать?
|
|
|
|
|
Jun 12 2018, 06:06
|
Гуру
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025
|
Цитата(AlexandrY @ Jun 11 2018, 22:03) Тут в закромах лежит transaction-based highly reliable file system (HRFS) в дистрибутиве VxWorks. Вот это реально неубиваемая FS. А Datalight скорее всего ловит на приманку. Reliance Nitro и FlashFX Tera они уже за так не раздают. Спасибо, посмотрю. До позавчера я просто использовал то, что много лет назад заменило мою самописную поддержку FAT, и это в настоящее время FatFs. Когда нужны были оптимизации - то добавлял костыли в виде оптимизации(буферизация в основном) на уровне "до вызова функций FatFs". Но вдруг нашлось полчаса времени подумать, и оказалось, что "хочется чего-то универсального". Главная хотелка- это надежный и реалтаймовый отклик в случае работы с группой разных файлов (например, десятком), из разных задач. При этом необходимо оптимизировать запись для увеличения ресурса носителя (SD-карточки), то есть вести запись ну хотя бы блоками по 2 килобайта, если данных меньше- то ничего не пишется до накопления. Думал сделать задачу, которой в очередь пихать данные и запросы на данные, а она уже имеет свою буферизацию для накопления, и когда нужно вызывает функцию FatFs. Нужно иметь неслабую очередь, и независимо от нее буферы по числу файлов (ну или структуру стандартных сегментов). Захотелось посмотреть уже готовую прослойку, обеспечивающую со стороны клиента "просто реалтаймовый доступ к файлам", а со стороны железа - оптимальный доступ к носителю. И эта прослойка сама подумает о надежности сохранения данных и прочих "мелочах". Сейчас меня интересует конкретика: контроллер уровня STM32F4, операционка FreeRTOS, свободной RAM могу взять 1 мегабайт для этой файловой системы (в будущем может и больше получится). То есть ембеддед, без потуг на универсальность и расширяемость. Вот и наткнулся на эту "прослойку". Единственный мой аргумент "за"- это то что она рекламируется на сайте FreeRTOS, ну и бренд все-таки Хочу просто вставить что-то как замену FatFs в уже существующий проект, потратив на это как можно меньше своего времени. Может, и не туда смотрю, есть что-то не такое новое и не такое революционное. Upd: ну и приятно если при этом можно остаться честным человеком, то есть соблюсти условия лицензии. Кстати, они на Гитхабе есть.
|
|
|
|
|
Jun 12 2018, 06:22
|
Ally
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050
|
Цитата(Ruslan1 @ Jun 12 2018, 09:06) Кстати, они на Гитхабе есть. Эта FS несовместима с FAT. Т.е. придется делать еще в навесок свой файловый менеджер чтобы хоть как-то администрировать эту FS. Вот на этом они видимо и играют. Ждут когда к ним придут за остальным. С тем же успехом можно взять YAFFS2. У упомянутого дистрибутива VxWorks кстати есть DosFs (совместимая с FAT) с кэшированием и тоже с защитой от сбоев. Но пожалуй я посмотрю эту FS.
|
|
|
|
|
Jun 12 2018, 06:42
|
Гуру
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025
|
Цитата(AlexandrY @ Jun 12 2018, 08:22) Эта FS несовместима с FAT. Т.е. придется делать еще в навесок свой файловый менеджер чтобы хоть как-то администрировать эту FS. Вот на этом они видимо и играют. Ждут когда к ним придут за остальным. С тем же успехом можно взять YAFFS2.
У упомянутого дистрибутива VxWorks кстати есть DosFs (совместимая с FAT) с кэшированием и тоже с защитой от сбоев. Да, несовместима, но они пишут что дают утилиту для работы: Цитата Data Exchangeability If the media used with Reliance Edge is removable, such as a USB drive or a SD card, data on that media can be copied to and from a Windows-based computer using the Reliance Edge Image Copier/Image Builder command line utilities. И в Developer's Guide тоже есть раздел про это. Но нужно компилировать. Просто готовый "экзешник для винды" не дают. Вероятно, результат зависит от выбранных опций.
|
|
|
|
|
Jun 12 2018, 06:59
|
Ally
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050
|
Цитата(Ruslan1 @ Jun 12 2018, 09:42) Да, несовместима, но они пишут что дают утилиту для работы:
И в Developer's Guide тоже есть раздел про это. Но нужно компилировать. Просто готовый "экзешник для винды" не дают. Вероятно, результат зависит от выбранных опций. Да, я уже понял, что без регистрации у них ничего не взять, даже утилиту для конфигурации. И при этом получить проект под не пойми какую среду разработки. Тогда уж лучше Micrium. У них FAT с кэшем, терминальной оболочкой для менеджмента , журналированием, FTL движком под NAND. И дают бесплатно, в исходниках и все сразу.
|
|
|
|
|
Jun 12 2018, 07:13
|
Гуру
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025
|
Цитата(AlexandrY @ Jun 12 2018, 08:59) Да, я уже понял, что без регистрации у них ничего не взять, даже утилиту для конфигурации. И при этом получить проект под не пойми какую среду разработки. Тогда уж лучше Micrium. У них FAT с кэшем, терминальной оболочкой для менеджмента , журналированием, FTL движком под NAND. И дают бесплатно, в исходниках и все сразу. Ну, это не аргумент. СлабО любой емейл действующий указать, а в разделе "фирма" и "телефон" прочерки поставить? У меня под спам два емыла выделено, еще два для общения, и еще два для тестов А NAND мне сейчас не нужен, так что не аргумент. И цены микриумовские меня так испугали еще лет 15 назад, что я к ним стараюсь больше не подходить. Ну и "ФАТ с кэшем" это как-то недостаточно революционно, если все равно менять (мало дополнительных плюшек при похожем объеме нужных для перехода работ).
|
|
|
|
|
Jun 12 2018, 07:53
|
Ally
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050
|
Цитата(Ruslan1 @ Jun 12 2018, 10:13) Ну, это не аргумент. СлабО любой емейл действующий указать, а в разделе "фирма" и "телефон" прочерки поставить? У меня под спам два емыла выделено, еще два для общения, и еще два для тестов А NAND мне сейчас не нужен, так что не аргумент. И цены микриумовские меня так испугали еще лет 15 назад, что я к ним стараюсь больше не подходить. Ну и "ФАТ с кэшем" это как-то недостаточно революционно, если все равно менять (мало дополнительных плюшек при похожем объеме нужных для перехода работ). Убивает скорее то, что надо будет каждый раз конвертировать образ файловой системы какой-то убогой утилитой командной строки. А образ то может быть гигабайтный. Это не вариант. Я применял FAT-ы от Keil, Nucleus, MQX, Micrium (6-и летней давности), FatFS и они все показывали плохой риалтайм, хотя у большинства был кэш. Может быть последние SD карты класса V90 что-то меняют, но подешевеют они не скоро. Зато Serial NAND нынче очень быстрые и дешевые.
|
|
|
|
|
Jun 12 2018, 14:58
|
Гуру
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025
|
Цитата(mantech @ Jun 12 2018, 16:34) Просто надо сделать что-то вроде плагина ФС EXT для тотал коммандера и все Я их утречком сегодня спросил про возможность доступа к отдельным файлам (read/write/delete), если вставлю эту SD-карту в Windows PC. Ответили в течении пары часов (что уже само по себе уже очень приятно). В-общем, нет в Винде пока счастья, а вот в Линуксе вроде уже да: Цитата Reliance Edge has two utilities that allow the transfer of an entire set of files to and from your removable media on a Windows PC. While these tools do not allow single file level access, they do allow you to populate a Reliance Edge disk from Windows from a path on your host, and copy files from your device to a host directory. The utility to copy files to Windows from your removable media is called the Image Copier, and is available only in the Reliance Edge Commercial kit. The utility to copy files to your removable media from Windows is called the Image Builder. These utilities are both discussed in Chapter 14 of the Reliance Edge Developers guide.
Reliance Edge also provides a FUSE (File System in User Space) driver for Linux, which gives you the ability to do more of what you are asking directly. Here is the manual entry for that specific feature, which is available in both the open source and commercial kits: 14.7 Linux FUSE Implementation Reliance Edge can be installed as a FUSE driver (File System in User Space) on Linux. This allows a user to mount a Reliance Edge volume within a folder so that it appears like a native Linux file system. The contents of the volume may then be accessed with a file browser or any other Linux program. Note that the FUSE implementation depends on libfuse-dev, and it is built as a separate make target from the other host tools listed here (make redfuse). When built, an executable (redfuse) is produced, which can be run to install Reliance Edge as a FUSE driver. The FUSE implementation is not available on Windows. Currently the FUSE implementation only supports the Reliance Edge POSIX-like API.
|
|
|
|
|
Jun 12 2018, 20:35
|
Ally
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050
|
Цитата(Ruslan1 @ Jun 12 2018, 17:58) Я их утречком сегодня спросил про возможность доступа к отдельным файлам (read/write/delete), если вставлю эту SD-карту в Windows PC. Ответили в течении пары часов (что уже само по себе уже очень приятно). В-общем, нет в Винде пока счастья, а вот в Линуксе вроде уже да: Есть еще иной выход. Реализовать USB MTP класс. Под виндами смартфоны дают броузить свое содержимое как раз через MTP класс. https://www.segger.com/products/connectivit...-ons/mtp-class/На крайний случай развернуть TCP стек и FTP сервер на нем через USB CDC EEM.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|