PSoC 4 ブートローダーとブートロード可能なアプリケーション間の動的遷移 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
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);}
}
より詳しい ブートローダーとブートロード可能なアプリケーションとの間の遷移手順に関しては、以下の参考資料を参照してください。