質問

PIC16にはClaudiu Chiculitasの小さなブートローダーを使用します(チップに合わせて変更しました)が、ブートローダーはブートローダーの上書きを防ぐためにコードを移動しないため、ブートローダーが上書きされないことを手動で確認する必要があります。次のように--romオプションを使用しようとしました:

--rom=default,-0-4,-3f00-3fff

欲しいのは、コードメモリーの最初の4ワードにコードがないことです。これは、ブートローダーへのジャンプがある場所と、実際のブートローダーがある場所にあるため、メモリの最後の128ワードにコードがないためです。 -私が使っているようなROMは何もしません。 HI-TECH PICC STD COMPILER(Microchip PICmicro)V9.60PL3を使用しており、チップはpic16f876Aです。

役に立ちましたか?

解決

カスタムリンカースクリプトを使用してこれを行うこともできます。通常、リンカスクリプトにはこれらの行が含まれており、リセットベクトルを最初に配置し、その後ろに(" page"という名前のページ内の)コードを配置します。

CODEPAGE   NAME=vectors    START=0x0            END=0x29           PROTECTED
CODEPAGE   NAME=page       START=0x2A           END=0x7FFF

マイクロチップ社のFSDemボードで使用されるブートローダー(0x0-0x800の範囲を占有し、プログラムが0x800に独自のベクターを持っていることを想定しています)の場合、これは以下の行に置き換えられます。

CODEPAGE   NAME=boot       START=0x0            END=0x7FF          PROTECTED
CODEPAGE   NAME=vectors    START=0x800          END=0x0x829        PROTECTED
CODEPAGE   NAME=page       START=0x82A          END=0x7FFF
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top