//Find the flash word size.
switch(cmddata[0]){
case 0x01://CC1110
+ case 0x11://CC1111
case 0x81://CC2510
case 0x91://CC2511
//debugstr("2 bytes/flash word");
break;
default:
//debugstr("Warning: Guessing flash word size.");
- flash_word_size=0;
+ //flash_word_size=0;
break;
case 0x85://CC2430
case 0x89://CC2431
return;
}
- if(flash_word_size==0){
- debugstr("Flash word size is wrong.");
+ if(flash_word_size!=2 && flash_word_size!=4){
+ debugstr("Flash word size is wrong, aborting write to");
+ debughex(adr);
while(1);
}
flash_word_size);
//debugstr("Wrote flash routine.");
-
-
+
//MOV MEMCTR, (bank * 16) + 1;
cmddata[0]=0x75;
cmddata[1]=0xc7;
while(!(cc_read_status()&CC_STATUS_CPUHALTED)){
- P1OUT^=1;//blink LED while flashing
+ PLEDOUT^=PLEDPIN;//blink LED while flashing
}
//debugstr("Done flashing.");
- P1OUT&=~1;//clear LED
+ PLEDOUT&=~PLEDPIN;//clear LED
}
//! Read the PC