RWはHMIです。パワーダウンセーブレジスタアドレス0 x 0000~ 0 x 7FFF合計64KB(32 7 68 ×2バイト)、フラッシュストレージベース、パワーオンのデフォルト値0 x FFFF。パラメータ、レシピ、動作状態などの“ドロップできない”データはここにあります。しかし、寿命とピットがあり、悪い使用はファームウェアを破壊します。
1. RWゾーンの特徴
| プロジェクトプロジェクト# | 価値観は |
|---|---|
| アドレス範囲 | 0x0000 ~ 0x7 FFF 32768ワード |
| ストレージメディア | Flash(パワーダウン保存) |
| デフォルト値 | 0xFFFF |
| Flashの寿命 | 約10 万回の書き換え |
| 書き込みメカニズム | 内部4 KBの書き込みキャッシュキュー、約400回の書き込みごとに書き込みをトリガー |
2.️致命的なリスク:過剰な書き込みはファームウェアを破壊する
RWゾーンとファームウェアゾーン物理隣接。繰り返し書き込み書き込みと書き込みがファームウェア領域に拡散すると、デバイスが直接損傷します:黒い画面、ファームウェアブルースクリーン。それは恐ろしい怪我であり、怖がらせない。
フラッシュを追加。セクターシーケンシャル·ドロップ(低アドレス先書き込み)、クロスセクターフラグは一貫性リスクフラグの2バイトが異なるセクタにあり、書き込みの半分は半分は半分古いかもしれません。
3.姿勢の正しい使い方
- アドレスの連続割り当てパラメータを1つにまとめてあちこちに広げないでください
- set_array一括書き込み一度に1つのセットではなく、1つのセットを書く。
- 書き込み頻度の制御値の変更のみを書き、周期的にブラシしない。
- セクター別にフラグを立てる原子記号が必要です。
- 境界値チェックの開始パワーオン読み取りRW検証の正当性(0 x 55AAマジックナンバー)
function on_init
RWが初期化されているかどうかを確認する(マジックナンバー 0 x 55AA)。
if get_uint16 VT_RW、0x2000 ~= 0x55AA then
最初の電源投入、デフォルトパラメータを書き込む
set_uint16_RW、0x2000、0x55AA 【魔数】
set_uint16 VT_RW、0 x2001、50 --上限温度のデフォルト値
set_uint16 VT_RW、0x2002、4800 --ボーレートのデフォルト値
elseさん
--初期化され、パラメータ境界をチェック
local t = get_uint16 VT_RW、0x2001
Tが100歳の場合
set_uint16 VT_RW、0x2001、50 --デフォルトを超えて復元
End of Endシングル
End of Endシングル
End of Endシングル推奨“同じセクタフラグ+パラメータ境界チェック”デュアルポリシー:初期化されたマジックナンバー確認、境界チェックアンチダーティデータ。
Guangzhou Dai Technology Visual HMI開発ドキュメント(hmi-doc.gz-dc.com)LUAチュートリアル“RWストレージ”、著作権所有Dai Dai Technology。
Leave a Reply