2016-11-01 8 views
1

以下のリンクにすべてのマイコードを添付しました。レビューしてください。STM32 in app programming(IAP)、カスタムブートローダー

2つのプログラムプログラムB; プログレAはあるアプリケーション画像 プログレB suppostことブートロードプログラム

プログレAはプログレBに行くボタンが MCU を押したときリセット後0x08004000

、に割り当てられたメモリアドレスを持っています(0x08000 000)、LEDをに切り替えます。1s

しかし、ボタンがで、が押されていない場合、MCUはプログラムを実行していないようです 添付ファイルのデバッグログを確認してください。 私はここで行方不明のものは何ですか?

答えて

0

ブートローダはクロックと割り込みを正確に設定する必要があります。ブートローダがクロックを有効にしている場合、アプリケーションは同じことを再び行うべきではありません。 ブートローダでは、SYS TICKタイマをリセットし、アプリケーションにジャンプする前にすべての周辺割り込みを無効にすることをお勧めします。

もう1つのことは、ブートローダーのサイズです。 4000(H)バイトを超えると、アプリケーションは起動しません。