PSoC 4 カスタム ブートローダーについて- KBA229075 - Community Translated (JA)

Version 1

    Community Translated by YoOb_1790021           Version: **

     

    Translation - English: PSoC 4 Custom Bootloader - KBA229075

     

    PSoC® 4 ブートローダー コンポーネント は、独自の ブートローダー インターフェースを開発するための カスタム インタフェースを提供します。図1が、その設定です。

     

    図1.ブートローダー カスタム インターフェイス

     

    I2C 或いは UART インターフェースを ブートローダー プロジェクト の開発に使用する場合、図2にリストされている関数が PSoC Creator によって自動生成されます。

     

    しかしながら、ブートローダー コンポーネント のブートローディング プロトコルに従ってブートローダー コンポーネント のカスタム インタフェースを使用する場合には、図2に記載されている関数の定義とコードを追加する必要がありあます。ブートローダーのフローと関数の詳細については、Bootloader and Bootloadable コンポーネントのデータシートを参照してください。

     

    図2.デフォルトブートローダーに必要な機能

     

    ブートローダー コンポーネントによって生成された関数の使用に加えて、独自ののブートローディング プロトコルを定義できます。この場合、簡単な方法は次の様になります:

    • ブートローダー コンポーネント(カスタム インターフェースとして構成)をリンクファイルにブートローダー とアプリケーション のROM セクションとスタートポインタを確定するために使用します。
    • 図2のダミー関数を定義します

    基本ブートローディング フローは、図3になります。 図3.ブートローディング フローの概要 ハンドシェイク、データの読み込み、フラッシュへのデータ書き込み、およびチップリセットを行う独自の API を定義しなくてはならないことに注意してください。 ホストとPSoCデバイスのハンドシェイク用のAPIは、CyDelay() またはタイマー コンポーネントを使用してタイムアウトを設定できます。 ホストからデータを読み取るAPIは、通信インターフェースによって異なります。ほとんどの PSoC 4シリーズでは、内部フラッシュは128バイトを最小ブロックとして構成されています。つまり、コードフラッシュのアトミックなプログラム単位(不可分プログラム単位)と消去単位は、128バイトです。 フラッシュにデータを保存する APIは、PSoC Creator によって生成された CySysWriteFlashRow() 関数を使用できます。 デバイスをリセットする APIは、PSoC Creator によって生成された CySoftwareReset() 関数を使用できます。 詳細については、サイプレスコミュニティにアクセスするか、サイプレスセールスにお問い合わせください。 参照文書: