John Hansen wrote: > Everything was going well up until last evening. The chip > programmed properly and performed properly in the circuit. All of a > sudden I started getting weird behavior from the programmer and the > target project. For example: > > 1. If I program the chip with "Erase all before Program" checked, it > will click through the addresses methodically until it reaches address > 0x0600. The it will very rapidly increment up to 0x800 and then start > methodically programming again. The circuit does not perform properly > when this occurs. John: It's running through the 600-800 area quickly because that area's already erased and none of your code needs to go there. Look at your .LST file; you'll probably see that your Page-0 code ends around 600, then you have Page-1 code that starts at 800. > 2. If I push the verify button after programing it reads through the > addresses and says all is ok. However, if I remove power, reinitialize > the ICD and then verify again (without reprogramming the chip) I get > an error immediately when I try to verify the chip. Do you have the "Code-Protect" bit set? > 3. If I unclick the "Erase all before Program" the behavior is > basically the same, except that I don't get the rapid scroll of > addresses between 600 and 800. That's because the ICD has to erase each of the unused locations in the 600-800 area individually. > tentative conclusion that either there is something in my code that > is causing this (though code that was virtually identical to this > was working last night) "It can't be my code; I hardly changed anything" is perhaps the most cliched statement in the entire programming industry. I'd bet money that the problem IS in your code. Try the version that was working before you mode those changes, and see if it still works. -Andy === Andrew Warren - fastfwd@ix.netcom.com === Fast Forward Engineering - San Diego, California === http://www.geocities.com/SiliconValley/2499