2248334_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2248334_ja-JP

2248334_ja-JP

FEE(K3)データ処理に関する質問

こんにちはチーム


S32K3のFEEデータ取り扱い情報についてお伺いしてもよろしいでしょうか?


1.FeeBlockSize = 10 B の場合、ヘッダーやその他のメタデータを追加した後に DataFlash に書き込まれる実際のサイズはどれくらいですか?


2. Fee_MainFunction を 1 回実行すると、いくつの単位のデータ (FlsPageSize 単位) が書き込まれますか?(HW 書き込み操作は、FlsPageSize で設定された値に基づいて実行されますか?)



書き込み操作は、デフォルトで 32 ビットに設定されている「仮想ページ サイズ」に基づいていると思います。したがって、サイズが 10 バイトの場合、32 バイトが書き込まれます。

Fee_MainFunction は実行されるたびに、32 バイト (仮想ページ サイズ) 単位で動作します。

これで理解できましたか?


よろしくお願いします。

RTD出典: 直接お客様Re: Question about FEE(K3) Data handling

こんにちは@Luke_Chun

1.FeeBlockSize = 10 B の場合、ヘッダーやその他のメタデータを追加した後に DataFlash に書き込まれる実際のサイズはどれくらいですか?
=> DataFlash に書き込まれるブロック n データの実際のサイズ: 実際のサイズ = n * FEE_VIRTUAL_PAGE_SIZE
(ブロックサイズ < FEE_VIRTUAL_PAGE_SIZE)の場合
{
1 の場合
}
それ以外
{
if((ブロックサイズ % FEE_VIRTUAL_PAGE_SIZE) == 0U)
{
n = ブロックサイズ/FEE_VIRTUAL_PAGE_SIZE;
}
それ以外
{
n = ブロックサイズ/FEE_VIRTUAL_PAGE_SIZE + 1;
}
}

例:

  • FeeBlockSize = 10 バイト、FEE_VIRTUAL_PAGE_SIZE = 8 の場合 --> ドライバはデータを 2 回に分けて書き込みます。1 回目: 8 バイトのデータを書き込みます。2 回目: 残りの 2 バイトのデータ + 6 バイトのパディング データ (0xFF) を書き込みます。
  • FeeBlockSize = 10 バイト、FEE_VIRTUAL_PAGE_SIZE = 16 の場合 --> ドライバは 1 回でデータを書き込みます: 10 バイトのデータ + 6 バイトのパディング データ (0xFF) を書き込みます

2. Fee_MainFunction を 1 回実行すると、いくつの単位のデータ (FlsPageSize 単位) が書き込まれますか?(HW 書き込み操作は、FlsPageSize で設定された値に基づいて実行されますか?)

=> 私の答え:

Mem_Acc レイヤー ( MemAcc_CalculateLengthTransfer 関数内)では、ブロック データの長さが計算され、JobInfo->LengthChunk に割り当てられます。

DanNguyenDuy_0-1764555133080.pngDanNguyenDuy_1-1764555155381.png

この変数は下位層で使用されます - Mem_INFLS (ユーザーが料金ブロック用に内部フラッシュを構成した場合)。Mem_INFLS レイヤーでは、Mem_43_INFLS_IPW_ComputeWriteLength 関数を介してオフセットとアドレスに基づいて長さが再度計算されます (フラッシュ メモリへの書き込み前)。

DanNguyenDuy_2-1764555698406.png

SO、長さの値はアドレスとブロックのサイズによって異なるため、状況に応じた正しい長さの値はありません。

よろしくお願いいたします。

ダン


Tags (1)
No ratings
Version history
Last update:
‎12-01-2025 01:26 AM
Updated by: