Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

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

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

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

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);}

}

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

0 件の賞賛
200 件の閲覧回数
寄稿者