目次

last update: 2025/01

OSレス環境用BSPパッケージ
第2章: FAT32 ファイルシステム
評価ボード:AP-RX65N-0A




テストサンプル

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_RX_RX65N.c  ...... 初期化設定ファイル(SDカードディスク用)
     |- FS_MMC_HW_RX_RX65N.c     ...... SDカードインターフェースドライバファイル
     | _Exclude
         |- FS_ConfigRAMDisk.c   ...... 初期化設定ファイル(RAMディスク用)

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

SDカードドライバ設定

データ転送モードの設定(DMA / Non-DMA)

「FS_MMC_HW_RX_RX65N.c」ファイルのマクロ設定でドライバのデータ転送モードは変更可能です。

FS_MMC_HW_CM_USE_DMA
0マニュアルモードでデータコピーを行います。
1DMAモードでデータコピーを行います。

ビルド・動作確認方法

プロジェクト設定では「\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_DirOperations

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: AP-RX65N-0A (RX65N RXv2 @120MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
Start
High-level format...OK
Create directory \Dir00
Create files......OK
Create directory \Dir01
Create files......OK
Create directory \Dir02
Create files......OK
Contents of  
 Dir00 (Dir) Attributes: ---- Size: 0
 Contents of \Dir00 
  . (Dir) Attributes: ---- Size: 0
  .. (Dir) Attributes: ---- Size: 0
  file0000.txt       Attributes: A--- Size: 19
  file0001.txt       Attributes: A--- Size: 19
  file0002.txt       Attributes: A--- Size: 19

 Dir01 (Dir) Attributes: ---- Size: 0
 Contents of \Dir01 
  . (Dir) Attributes: ---- Size: 0
  .. (Dir) Attributes: ---- Size: 0
  file0000.txt       Attributes: A--- Size: 19
  file0001.txt       Attributes: A--- Size: 19
  file0002.txt       Attributes: A--- Size: 19

 Dir02 (Dir) Attributes: ---- Size: 0
 Contents of \Dir02 
  . (Dir) Attributes: ---- Size: 0
  .. (Dir) Attributes: ---- Size: 0
  file0000.txt       Attributes: A--- Size: 19
  file0001.txt       Attributes: A--- Size: 19
  file0002.txt       Attributes: A--- Size: 19


Finished

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

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

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: AP-RX65N-0A (RX65N RXv2 @120MHz)
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

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

FITコンフィグレータでCPUクロック設定を96MHzに変更し、SDカードドライバをクロックの最大値を48MHzに変更します。

File: FS_MMC_HW_RX_RX65N.c

#define FS_MMC_HW_CM_PCLK_KHZ             (48000)
#define FS_MMC_HW_CM_MAX_SD_CLK           (48000)

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

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

SEGGER Software Evaluation Sample
Eval Board: AP-RX65N-0A (RX65N RXv2 @120MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
Start
High-level format
Writing 4 chunks of 2048 KiB.......OK
Reading 4 chunks of 2048 KiB.......OK

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

Sample: FS_FileEncryption

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

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: AP-RX65N-0A (RX65N RXv2 @120MHz)
Base: Baremetal (No RTOS)
------------------------------------------------
Start
Write encrypted data to file \Cipher.txt
Finished

Sample: FS_SD_FailSafety

ジャーナリング機能テスト、SD Card: SanDisk Extreme 64GB
操作方法:ファイル操作(ダミーデータのCreate→Delete→Create)実行中にSDカードを取りだします。再度SDカードを差し込んでログコンソールから「Check disk」処理の結果を確認します。

Debug IO Console:

SEGGER Software Evaluation Sample
Eval Board: AP-RX65N-0A (RX65N RXv2 @120MHz)
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
SD card has been removed
Wait for the SD card to be inserted
SD card is present
Check disk...Cluster 859008 is marked as used, but not assigned to any file or directory.
ERROR (2 detected)
Perform file system operations
Delete 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
Delete files
Create files
SD card has been removed
Wait for the SD card to be inserted
SD card is present
Check disk...Cluster 655362 is marked as used, but not assigned to any file or directory.
ERROR (2 detected)
Perform file system operations
Delete 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
前の章

評価版パッケージ内容

次の章

TCP/IPネットワーク通信