12.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 DUI0446VJ
Copyright © 2010-2015 ARM.All rights reserved.