2016-08-05 4 views
0

私は18Fファミリ用の新しいGLCD関数を開発してテストするためにXC8(1.37)にベアボーンprogranテンプレートを作成しました。プログラミングはPICkit3を介して行われます。コードを数回素早く再プログラムする必要があるので、できるだけ速くプログラミングすることが非常に重要です。 Tipically、コードサイズは約2Kであり、それは私のように定義されたフォントテーブルを使用する必要がありますまで、 Everiythingで結構ですプログラムする10秒未満を取る:たったの$ 400バイトは、追加で、XC8はトップROMからフォントテーブルを作成します

const char font8[] = {.... 

今コンパイラはROMの最後にテーブルを置き、64Kメモリのプログラミングには1分以上かかります。
これを回避する方法はありますか?

私は手動でMPLABXオプションのメモリ範囲を制限しようとしましたが、これは煩わしく、少し安全ではありません(コードの一部が切り捨てられることがあります)。

答えて

0

私は、RAMの極端なところでデータをコピーする必要があった排出テストのコードを書いていました。そのためには、正確なメモリアドレスを指定する必要がありました。また、C拡張__at()を使用することもできます。 http://ww1.microchip.com/downloads/en/DeviceDoc/50002053F.pdf#page=27

int scanMode __at(0x200); 
const char keys[] __at(123) = { ’r’, ’s’, ’u’, ’d’}; 
int modify(int x) __at(0x1000) { 
    return x * 2 + 3; 
} 
関連する問題