unsigned char FlashDiagnose(void) { unsigned short sum=0; unsigned char __flash *p=(unsigned char __flash *)0; unsigned short l=(unsigned short)0x1FFD; while((unsigned short)p<=l) sum+=*(p++); if (sum!=__checksum) return 0 else return 1 }