#define FLS_MASTER_ID 0U
#define FLS_BUF_SIZE 80U
#define FLS_SECTOR_ADDR 0x00600000U
#define FLS_SECTOR_TEST C40_CODE_ARRAY_0_BLOCK_2_S256
void FlashWrite()
{
/* 必要に応じてセクターのロックを解除 */
if (STATUS_C40_IP_SECTOR_PROTECTED == C40_Ip_GetLock(FLS_SECTOR_TEST))
{
C40_Ip_ClearLock(FLS_SECTOR_TEST、FLS_MASTER_ID);
}
/* セクタの消去 */
C40_Ip_MainInterfaceSectorErase(FLS_SECTOR_TEST、FLS_MASTER_ID);
する
{
C40ステータス = C40_Ip_MainInterfaceSectorEraseStatus();
}
while (STATUS_C40_IP_BUSY == C40Status);
/* ジョブ結果の確認 */
Fls_ExampleAssert(STATUS_C40_IP_SUCCESS == C40Status);
/* データの書き込み */
C40_Ip_MainInterfaceWrite(FLS_SECTOR_ADDR、FLS_BUF_SIZE、TxBuffer、FLS_MASTER_ID);
する
{
C40ステータス = C40_Ip_MainInterfaceWriteStatus();
}
while (STATUS_C40_IP_BUSY == C40Status);
/* ジョブ結果の確認 */
Fls_ExampleAssert(STATUS_C40_IP_SUCCESS == C40Status);
/* メモリ内のデータを TxBuffer と比較します */
C40ステータス = C40_Ip_Compare(FLS_SECTOR_ADDR, FLS_BUF_SIZE, TxBuffer);
/* ジョブ結果の確認 */
Fls_ExampleAssert(STATUS_C40_IP_SUCCESS == C40Status);
}
私はこの関数を1分ごとにFlashWrite()と呼び、MCUは24時間動作しているので、フラッシュメモリの寿命がどれくらいになるかを考慮しています。また、計算方法を教えてください。
親愛なる@lukaszadrapa と@narsimh_kamath詳細な情報と計算をありがとう。これが私が探していたものです。
こんにちは@lukaszadrapa、ありがとう。S32K3 (V1.6.0) の最新の MBDT で FEE がサポートされていることに気づきました。
特定のユースケースが実現可能かどうかを見積もるために必要な計算について、何か洞察を共有していただけますか(S32K3のフラッシュ/エミュレートEEPROM仕様の観点から)。
たとえば、15年間、1分ごとに2KBのデータを書き込む必要がある場合、FEEを使用でき、ラウンドロビンセクタースキームを実装できると仮定すると、これをサポートできますか?