Jump to content

    

Keil RL-FlashFS +SDIO+ external Flash

В своих проектах под STM32 ранее использовал файловую систему FatFS от Chan.

В процессе беседы по созданной мною теме во freeRTOS ветке знающий человек Jekin упомянул о Keil RL-FlashFS --- многозадачной файловой системе на основе драйверов от Кейл.

Вот о ней и хотелось бы поговорить подробнее: об особенностях конфигурации, тонкостях настройки и т.д.

Edited by Asteo

Share this post


Link to post
Share on other sites

При попытке настройки RL-FlashFS с помощью Manage Run-Time Environment диалога, а именно, я подключил драйвер для MCI stm32f1xx

и FileSystem/drive -> memory card.

В результате RTL подсвечивает мне все это коричневым цветом, и требует keil RTOS.

 

А мне в конечном итоге необходимо будет использовать сие под freeRTOS

Что я упустил? Или это особенности версии Keil 5xx?

Share this post


Link to post
Share on other sites
При попытке настройки RL-FlashFS с помощью Manage Run-Time Environment диалога, а именно, я подключил драйвер для MCI stm32f1xx

и FileSystem/drive -> memory card.

В результате RTL подсвечивает мне все это коричневым цветом, и требует keil RTOS.

 

А мне в конечном итоге необходимо будет использовать сие под freeRTOS

Что я упустил? Или это особенности версии Keil 5xx?

 

Да, действительно, видимо, это особенность 5-й версии. В 4-й версии FlashFS можно было использовать и без операционной системы. Сейчас же RTOS почему-то обязательна.

Вообще новая концепция Keil MDK 5 в отношении RTOS это открытый стандарт API для RTOS - CMSIS-RTOS. Таким образом через этот API можно использовать любую RTOS. Но пока что в пакетах для Keil MDK к этому API прикручена только RTOS от Keil.

Share this post


Link to post
Share on other sites

Так есть-ли возможность подключения Flash FS без визардов ? Давайте попробуем разобраться

Share this post


Link to post
Share on other sites
Так есть-ли возможность подключения Flash FS без визардов ? Давайте попробуем разобраться

Вы сейчас говорите о визарде для файла File_Config.c или об окне Manage Run-Time Environment?

Share this post


Link to post
Share on other sites
Вы сейчас говорите о визарде для файла File_Config.c или об окне Manage Run-Time Environment?

 

Я имею в виду собрать проект "ручками" как обычно это происходит:

Приинклюдить все что нужно для работы файловой системы + настроить тип носителя памяти

Share this post


Link to post
Share on other sites

В Keil MDK 5 необходимые компоненты подключаются через окно Manage Run-Time Environment. Можно и ручками (файловая система находится здесь: Keil_v5\ARM\Pack\Keil\MDK-Middleware\5.1.5\FileSystem\), но зачем, если за вас все правильно сделает визард.

Так а какую RTOS вы планируете использовать все же?

Share this post


Link to post
Share on other sites
Так а какую RTOS вы планируете использовать все же?

планирую использовать freeRTOS

Edited by Asteo

Share this post


Link to post
Share on other sites
планирую использовать freeRTOS

Здесь http://www.keil.com/pack/doc/mw/FileSystem...l/fs_diffs.html сказано, что для файловой системы обязательно CMSIS-RTOS api. В "паках" кейла к этому api прикручена только RTOS от Keil (по крайней мере я других не видел).

Погуглил, нашел что CMSIS-RTOS API прикручен к freertos в STM32Cube:

 

http://www.st.com/web/en/catalog/tools/PF260266

 

Я скопировал freertos с CMSIS-RTOS API из STM32Cube firmware, попробуйте использовать.

FreeRTOS.rar

Share this post


Link to post
Share on other sites
В своих проектах под STM32 ранее использовал файловую систему FatFS от Chan.

В процессе беседы по созданной мною теме во freeRTOS ветке знающий человек Jekin упомянул о Keil RL-FlashFS --- многозадачной файловой системе на основе драйверов от Кейл.

Вот о ней и хотелось бы поговорить подробнее: об особенностях конфигурации, тонкостях настройки и т.д.

 

Там на самом деле две файловый системы.

Одна FAT (по качеству хуже чем FatFS), а другая так называемая Embedded File System (EFS), она же линейная FS.

Но для обоих сделано единое API которое должно якобы скрывать различия в работе этих FS.

 

Но в реальности это только напрягает поскольку надо помнить что в примитивной EFS можно открыть только один файл на запись, что там нет директорий и путей, что надо делать обязательно ручную дефрагментацию, что время доступа там пропорционально количеству произведенных в прошлом перезаписей и т.д.

 

Гораздо рациональней просто взять RTOS c FAT, но имеющей дополнительный уровень для памяти типа Flash.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this