0

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

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

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

4

1 に答える 1

1

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

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

Microchip の FSDem ボード (0x0 ~ 0x800 の範囲を占有し、プログラムが 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
于 2009-10-30T20:18:05.707 に答える