Сергей Борщ
1. Счет у меня с 0х0000, 0x0BFE это для отладки, так как если считать от 0х0000, там действительно все FFFF, удобней отлаживать, с адреса 0x0BFE, значения отличные от 0xFFFF.
2. "Наверное все-таки *ptrFlash--;, иначе вы считаете сумму загрузчика?" – временно для отладки.
3. Указателя на char не хватит, памяти больше чем 0xFF – char, максимум.
Все зароботало!
#define FLASH_BYTE 0x17FE
unsigned char const __flash * ptrFlash;
ptrFlash = (__flash unsigned char const*)0x0000;
while(coutFlashByte != FLASH_BYTE){
crc8Flash = CRC8Byte(*ptrFlash, crc8Flash);
*ptrFlash++;
coutFlashByte ++;
};

Какой умный IAR, везде заглушки в прерывании наставил, где не используются
@00000C00: __program_start
+00000C00: C13C RJMP PC+0x013D Relative jump
+00000C01: 9518 RETI Interrupt return
+00000C02: 9518 RETI Interrupt return
+00000C03: 9518 RETI Interrupt return
+00000C04: 9518 RETI Interrupt return
+00000C05: 9518 RETI Interrupt return
+00000C06: 9518 RETI Interrupt return
+00000C07: 9518 RETI Interrupt return
+00000C08: 9518 RETI Interrupt return
@00000C09: ??INTVEC 18
+00000C09: C118 RJMP PC+0x0119 Relative jump
+00000C0A: 9518 RETI Interrupt return
@00000C0B: ??INTVEC 22
+00000C0B: C06B RJMP PC+0x006C Relative jump
+00000C0C: 9518 RETI Interrupt return
@00000C0D: ??INTVEC 26
+00000C0D: C0C7 RJMP PC+0x00C8 Relative jump
+00000C0E: 9518 RETI Interrupt return
+00000C0F: 9518 RETI Interrupt return
+00000C10: 9518 RETI Interrupt return
+00000C11: 9518 RETI Interrupt return
+00000C12: 9518 RETI Interrupt return
Сообщение отредактировал Alex ma - Jul 26 2007, 13:44