2021年7月8日木曜日

[フラッシュドライバ] フラッシュアクセスドライバ対応

こんにちは、針山散策を今日もほのぼのと行います。

今回は、フラッシュのアクセス対応で気を付けた内容について
メモします。 開発環境はIAR Arm 9.10.2を使用しました。
  • 1. nop*32回等のウェイトはvolatile 文を用いました。
  • 2. フラッシュ初期化処理にエラーステータスをクリアする処理を追加する。
  • 3. フラッシュ書き込みのページサイズが異なっても問題無いか。
  • 4. フラッシュ書き込みを行う際の書き込み開始アドレスは適切なアライメントか。
  • 1. nop*32回等のウェイトはvolatile 文を用いました。
    こちらは、インラインアセンブラでもよいのですが、今回は ただの32回空ループで対応しました。 最適化によって32回が1回にされていたので、volatileを付けることで、 対処しました。
    2. フラッシュ初期化処理にエラーステータスをクリアする処理を追加する。 ひとつ前の操作で、何かしらのエラーステータスが立っていると 次からエラーが頻発する恐れがある為、クリアするようにしました。
    3. フラッシュ書き込みのページサイズが異なっても問題無いか。 ここのページサイズは1回で連続して書き込むサイズを意味しています。
    4. フラッシュ書き込みを行う際の書き込み開始アドレスは適切なアライメントか。 大体は4バイトアライメントです。

    0 件のコメント:

    コメントを投稿