vm-ware fusio 6

Serial number: VZ15K-DKD85-M85EP-W4P79-XAAU4
Serial number: VU50A-2UW9Q-M88UY-D7MQX-ZG8X8
Serial number: VG7WU-41G97-48D8Y-X5PQZ-MLHZA
Serial number: VA5MK-49E1H-488NP-ENXXG-M28X6
Serial number: YZ3TU-AHWE2-0892Q-YWYET-Q7UDD
Serial number: GV5DK-8RDDJ-484GQ-FZNNG-Y2UYA
Serial number: CU74A-6ZE0J-489WP-YXZ59-W70W2
Serial number: CG500-47EEM-08EAQ-GGW7Z-QP2VD
Serial number: CF7X2-FFFEP-48DQZ-ZFQEE-QAUVF
Serial number: GV1MA-DPW57-0894Y-H4NZT-X6KC2
AA3X8-FPE50-M8EEQ-W4X7V-X6R8F

 

How to Relocate User Code

User code must be relocated at address 0x0200 or 0x0800 depending on the model and firmware used. The start of user space depends on the size of the boot block. Originally, the boot block for PIC18F devices was 256 bytes. Lately, most new models have a boot block of 2048 bytes. To determine the size of the boot block for your device, you may look at the PicDevices.properties file.

If you are not concerned about protecting the boot block, you can still relocate the user code to address 0x0200 even if your device boot block is 2048 bytes, but you must change the appropriate entry in the PicDevices.properties file and you must use the appropriate bootloader firmware (bootloader.hex).

CCS

Add the following directives in you .c file:

#build(reset=0x200)
#build(interrupt=0x208)
#org 0x0000,0x01ff
void bootloader() {
#asm
  nop
#endasm
} // Reserve space for the bootloader

Replace 0x200 and 0x208 with 0x800 and 0x808 for PIC devices using a 2 kb boot block.

SDCC

Use the compiler directive --ivt-loc 0x200.

HI-TECH PICC-18

In the link phase, use the linker directive -a200h.

Microchip C18

 

Edit the Linker script 18f452_c.lkr to protect the boot block, and rebuild the C18 startup objects c018.o and c018i.o. The Linker script 18f4620_c.lkr must be used for models that use a 2048 boot block. Also be certain you have not defined absolute code sections in the source code to start in the boot block. For instance:

#pragma code InterruptVectorHigh = 0x08

must be changed to

#pragma code InterruptVectorHigh = 0x208

or for models that use 2048 bytes boot block:

#pragma code InterruptVectorHigh = 0x808

PIC Basic Pro

Had the following line:

DEFINE  RESET_ORG  200h  

or

DEFINE  RESET_ORG  800h   
to be continued