目次

last update: 2024/04

OSレス環境用BSPパッケージ
第6章: FAT32 ファイルシステム
評価ボード:EK-RX671




テストサンプル

Demo Sample Application Folder:

Application
 └ _Exclude
     ├ FS  ..... ファイルシステムのテストサンプル
Sample説明
FS_CheckDiskディスク・ファイルシステム構造の一貫性をチェックします
FS_DeviceActivityディスクドライバのアクセスを確認します
FS_DirOperationsディレクトリ操作APIの動作確認
FS_FileEncryptionファイル暗号化機能の使用方法を示します
FS_Performanceファイルシステムの速度パフォーマンスを確認します
FS_PerformanceSimpleファイルシステムの速度パフォーマンスを確認します(簡易版)
FS_SD_FailSafetyジャーナリング機能の使用法を示すサンプル
FS_Startファイルシステムの基本の使用方法を示すサンプル
FS_STORAGE_Startストレージ層のスタートアプリケーション

関連設定ファイル:

BSP
 |- BSP_MMC_SD.c  .......... ボード依存の初期化設定ファイル(SDカードディスク)
 |
 |- Setup
     |- FS_ConfigMMC_CM_EK_RX671.c .... 初期化設定ファイル(SDカードディスク用)
     |- FS_MMC_HW_CM_EK_RX671.c ....... SDカードインターフェースドライバファイル
     | _Exclude
         |- FS_ConfigRAMDisk.c  ....... 初期化設定ファイル(RAMディスク用)

Config
 |- FS_Conf.h  ............... コンフィグレーション設定ファイル
 |
 |- IO
 |   |- FS_ConfigIO.c  ....... デバッグコンソールIOインターフェース設定ファイル
 |
 |- OS
     |- libNo_OSLayer_RXv3_L.lib  ....... OSインターフェース設定ファイル

ビルド・動作確認方法

プロジェクト設定では「\Application\_Exclude\FS」フォルダはビルド対象外に設定しています。以下のどちらかの方法で動作確認を行うサンプルアプリケーションを選択します。

  1. 「\_Exclude\FS」フォルダ下の対象テストサンプルファイルをビルド対象設定の「\Application」フォルダ下にコピーします。
  2. 「\_Exclude\FS」フォルダ下の対象テストサンプルファイルのみ「ビルド対象外」の設定を解除します。

プロジェクトを再ビルドし、評価ボードに接続してデバッグセッションを開始します。
SDカードディスクドライブをボードに差し込んでプログラムを実行します。デバッガのIOコンソールのログ画面から結果を確認します。

FS_SD_FailSafety:サンプルビルド方法

SDカードドライブインターフェースでジャーナリング機能を使用します。コンフィグレーション設定ファイルに「FS_SUPPORT_JOURNAL」マクロを有効に設定してください。

File: FS_Conf.h

#define FS_SUPPORT_JOURNAL     (1)

FS_SD_FailSafety サンプルテスト後に「FS_SUPPORT_JOURNAL」マクロを無効に設定します。

FS_FileEncryption:サンプルビルド方法

本サンプルは暗号化アドオン機能を使用します。コンフィグレーション設定ファイルに「FS_SUPPORT_ENCRYPTION」マクロを有効に設定してください。

File: FS_Conf.h

#define FS_SUPPORT_ENCRYPTION     (1)

FS_FileEncryption サンプルテスト後に「FS_SUPPORT_ENCRYPTION」マクロを無効に設定します。

テストレポート(SDカードディスク):

Sample: FS_PerformanceSimple
※ SDクロック = 30MHz, CPU @120MHz

アクセスパフォーマンス、SD Card: SanDisk Extreme 64GB
KiB/s → KBytes/sec

Debug IO Console(With DMA mode in SD Card Driver):

SEGGER Software Evaluation Sample
Eval Board: EK-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
Start
High-level format
Writing 4 chunks of 2048 KiB.......OK
Reading 4 chunks of 2048 KiB.......OK

W Speed: 9481 KiB/s
R Speed: 12564 KiB/s
Finished

Debug IO Console(Without DMA mode in SD Card Driver):

SEGGER Software Evaluation Sample
Eval Board: EK-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
Start
High-level format
Writing 4 chunks of 2048 KiB.......OK
Reading 4 chunks of 2048 KiB.......OK

W Speed: 9846 KiB/s
R Speed: 12720 KiB/s
Finished

SD/MMCドライバプログラムファイルの「FS_MMC_HW_CM_USE_DMA」マクロ設定値を編集してDMAモード設定は変更可能です。

File: FS_MMC_HW_CM_EK_RX671.c

#ifndef   FS_MMC_HW_CM_USE_DMA
  #define FS_MMC_HW_CM_USE_DMA    0    // Enables/disables data transfer via DMA.
#endif

Sample: FS_PerformanceSimple
※ SDクロック = 48MHz, CPU @96MHz

アクセスパフォーマンス、SD Card: SanDisk Extreme 64GB
KiB/s → KBytes/sec

Debug IO Console(With DMA mode in SD Card Driver):

SEGGER Software Evaluation Sample
Eval Board: EK-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
Start
High-level format
Writing 4 chunks of 2048 KiB.......OK
Reading 4 chunks of 2048 KiB.......OK

W Speed: 13128 KiB/s
R Speed: 18962 KiB/s
Finished

Debug IO Console(Without DMA mode in SD Card Driver):

SEGGER Software Evaluation Sample
Eval Board: EK-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
Start
High-level format
Writing 4 chunks of 2048 KiB.......OK
Reading 4 chunks of 2048 KiB.......OK

W Speed: 13385 KiB/s
R Speed: 18962 KiB/s
Finished

Sample: FS_FileEncryption

暗号化機能テスト、SD Card: SanDisk Extreme 64GB / Without DMA mode

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: EK-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
Start
Write encrypted data to file \Cipher.txt
Finished

Sample: FS_SD_FailSafety

ジャーナリング機能テスト、SD Card: SanDisk Extreme 64GB / Without DMA mode

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: EK-RX671
Base: Baremetal (No RTOS)
------------------------------------------------
Start
Create journal...OK (Created)
SD card is present
Check disk...OK
Perform file system operations
Delete files
Create files
Delete files
Create files
Delete files
Create files
Delete files
Create files
Delete files
Create files
SD card has been removed
Wait for the SD card to be inserted
SD card is present
Check disk...OK
Perform file system operations
Delete files
Create files
Delete files
Create files
SD card has been removed
Wait for the SD card to be inserted
前の章

圧縮・解凍機能のデモサンプル

次の章

USB-Deviceインターフェース