2017-04-04 13 views
0

見出しはちょっと変わっているようですが、私はそこに書き込むべき正確なものを得られませんが、私はあなたが私が正確にやりたいことを理解できるように願っています! - プライマリブートローダとセカンダリブートローダの両方が異なるメモリ領域に存在します(ブートフラッシュまたはプログラムフラッシュかもしれません)。 - ブートローダの1つが一度にアクティブになり、他のものが非アクティブになります。 - プライマリブートローダがアクティブで、アプリケーションファームウェアをダウンロードします。また、アプリケーションのファームウェアからアクティブなブートローダーのバージョンを読み込んで、ブートローダを更新する必要があるかどうかを確認できます。 - ブートローダを更新する必要がある場合は、非アクティブブートローダがアクティブになり、以前アクティブなブートローダが更新されたブートローダに置き換えられます。二次ブートローダは非アクティブモードに戻ります。したがって、セカンダリブートローダは、プライマリブートローダを更新する必要がある場合にのみアクティブになります。 - このプロセスでは、プライマリブートローダのバージョン、セカンダリブートローダのバージョン、および固定メモリの場所を持ついくつかのカスタムコンフィギュレーションデータ用のメモリ領域を予約したいと思います。プライマリ、セカンダリ、アプリケーションファームウェアからアクセスできます。同じPIC32MZに複数のブートローダがありますか?

答えて

0

リンカーファイルを理解する必要があります。私はまだMX/MZラインのためにこれを行う必要がありますが、私はたくさんのdsPIC33にこの種のものを持っていません。ブートローダは通常は.gld専用の一定量のフラッシュを取得するので、消去するのが簡単です(0x400)。Superbootローダ(セカンダリブートローダ)は、実際にロードするときにのみPICにロードされます新しいブートローダー。したがって、スーパーブートローダーは、単にブートローダを更新し、ブートローダのリセットアドレスにジャンプするように設計された、より小さなアプリケーションです。私は個人的には、後で混乱を避けるために、常にセカンダリ/スーパーブートロードコードをそこに保持しません。これは、PICの外部からの更新手法を使用して実際に行うことができます。もう一度、PIC32のラインに直接的な助けをすることはできますが、dsPIC33ラインのリンカファイルの例を見たい場合は、それらを提供することができます。

+0

PIC32MZで使用できるブートフラッシュメモリがあります。ライブアップデートブートローダを使用すると、どのように動作しますか? –

関連する問題