PSoC 4 ブートローダーとブートロード可能なアプリケーション間の動的遷移 - Community Translated (JA)

Version 2

    Community Translated by:  YoOb_1790021        Version: **

     

    タイトル:PSoC 4 ブートローダーとブートロード可能なアプリケーション間の動的遷移

     

    場合により、カスタム ブートローダー プロジェクトでは、ブートローダー プログラムから ブートロード可能なアプリケーション プログラム、またはその逆へ、動的に遷移が必要となることがあります

     

    これに対して、以下の関数が役立ちます。

     

    関数

    パラメーター

    説明

    void

    Bootloader_Exit

    (uint8 appId)

    appld

    起動するアプリケーション:

    - Bootloader_EXIT_TO_BTLDR - ブートローダー アプリケーションが、ソフトウェア リセット時に起動されます。

    - Bootloader_EXIT_TO_BTLDB;

    - Bootloader_EXIT_TO_BTLDB_1 - ブートロード可能なアプリケーション #1 が、ソフトウェア リセット時に起動されます。

    - Bootloader_EXIT_TO_BTLDB_2 - ブートロード可能なアプリケーション #2 が、ソフトウェア リセット時に起動されます。 コンポーネント カスタマイザ にて、"Dual-application" オプションが有効の場合のみ利用可能です。

    この関数は、指定されたアプリケーションをスケジュールし、指定されたアプリケーションを起動するためにソフトウェア リセットを行ないます。

     

    もし指定されたアプリケーションが有効ではない場合、再び ブートローダー プログラムを起動します。

    void

    Bootloadable_Load

    (void)

     

    この関数は、ブートローダー/ランチャーの起動をスケジュールし、ソフトウェア リセットを実行して起動します。

     

    例えば、デュアル - ブートロード可能なアプリケーションでは、外部GPIOを使用してブートローダーから指定されたブートロード可能なアプリケーションを起動します。下記のコードは、タイマーの割込みハンドラです。割込みが発生すると、このコードはGPIOの状態を調べ、指定されたブートロード可能なアプリケーションに移動します。

     

    CY_ISR(timer_ISR)

    {

          Timer_ClearInterrupt(Timer_INTR_MASK_TC);

     

        if(Trigger_BTLDR_To_APP1_Read() != 0u)

        {Bootloader_Exit(Bootloader_EXIT_TO_BTLDB_1);}

     

        if(Trigger_BTLDR_To_APP2_Read() != 0u)

        {Bootloader_Exit(Bootloader_EXIT_TO_BTLDB_2);}

    }

     

    より詳しい ブートローダーとブートロード可能なアプリケーションとの間の遷移手順に関しては、以下の参考資料を参照してください。