3 Replies Latest reply on Apr 20, 2020 6:40 PM by YoOb_1790021

    Community Translation - Dynamically Jump Between PSoC 4 Bootloader and Bootloadable Application – KBA228337

    YoOb_1790021

      Hi,

       

      I tried to translate this KBA228337 into Japanese.

       

      Dynamically Jump Between PSoC 4 Bootloader and Bootloadable Application - KBA228337

      https://community.cypress.com/docs/DOC-18127

      ----------------------------------

      タイトル: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);} 

      }

      より詳しい ブートローダーとブートローダブル間の遷移手順に関しては、以下の参考資料をご覧ください。

       

      ----------------------------------

       

      Best regards,

      obana