EEPROM MIKRO C

Amigos, estou tentando fazer um pequeno programa em que uma única variável é incrementada e seu valor é gravador sempre na mesma posição de um endereço da eeprom do PIC, ou seja, a cada vez que o PIC é inicializado o incremento da variável é gravado no mesmo endereço de antes. Mas, ao fazer a simulação, o programa não roda corretamente entrando em um loop infinito na segunda operação de escrita. Alguém poderia me dizer o que poderia estar dando errado?
cpp code
cpp code
void main( ) {
char i;
while(1){
i=eeprom_read(0); // lê endereço 0 da eeprom
i=i+1; // incrementa a variável inteira i
eeprom_write(0,i); // escreve seu valor no endereço 0
} // retorna ao loop para fazer tudo novamente (neste retorno, o programa se perde. Por que???)
}