mikroCコンパイラには、HID(Human Interface Device)USB通信用のライブラリがあります。提供されているサンプルでは、以下のバッファがUSB RAMにあり、ターゲットマイクロコントローラとしてPIC18F4550を使用する必要があることを指定しています。
unsigned char readbuff[64] absolute 0x500; // Buffers should be in USB RAM, please consult datasheet
unsigned char writebuff[64] absolute 0x540;
しかし、PIC18F4550のデータシートには、USBRAMの範囲は400hから4FFhであると記載されています。
では、バッファが400hから4FFhの間にないように見えるのに、なぜそれらの例が機能するのでしょうか。