13.8 フラッシュアルゴリズムのためのデータの取得

データはデータパラメータによって program() 関数に渡されます。

データパラメータは、次の関数を提供するオブジェクトです。

  • getSize() は、利用可能なデータの量をバイト単位で返します。
  • getData(sz) は最大 sz データバイトまでのバッファを返します。この値は、例えばデータの末尾では少なくなります。読み出し位置は前に移動します。
  • seek(pos) は読み出し位置を移動します。
  • getUnderlyingFile() はデータを含むファイルを取得します (ファイルによってバックアップされない場合は、なし)。これにより、メソッドは外部ツールにファイルを渡すことができます。

メソッドは以下によってデータを処理できます。

def program(self, regionID, offset, data):
    data.seek(0)
    bytesWritten = 0
    while bytesWritten < data.getSize():
        # get next block of data
        buf = data.getData(self.pageSize)
 
                  # write buf to flash
                  bytesWritten += len(buf)
非機密扱いPDF file icon PDF 版ARM DUI0446ZJ
Copyright © 2010–2016 ARM.All rights reserved.