Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/23/09 07:47
Read: times


 
#162685 - TI=1 workaround
Responding to: ???'s previous message
Jan Waclawek said:
Obviously, they implemented only the ISP version of the double-clock setting, as they assumed there is no reason to do this from user code (btw. I too am curious to know, why do you want to do that in your application). And they documented it as a valid IAP function carelessly.

Because our boards are produced and the MCU programmed by a third-party company. Because our customers re-program the boards themselves, sometimes. In other words, it's one step less to care about, hence the probability to make mistakes is slightly reduced.

Jan Waclawek said:
I see no problem implementing it as your own routine, but note what says the "original" SST89E564RD datasheet on FST bits IAP programming commands (page 42) - they programming instruction must be located in Block 1.

Actually, I tried, but it didn't work out. What I've done, then, it's a horrible workaround:

if (!EDC) {
        // awful workaround: IAP_V51_SET_DOUBLE_CLOCK
        // gets stuck in a infinite loop if TI == 0
        TI = 1;
        call_iap(IAP_V51_SET_DOUBLE_CLOCK);
        TI = 0;
}
 

I hate such things but this is the only one that works flawlessly.

Note that, during application start-up, serial port is not in use, yet.

List of 9 messages in thread
TopicAuthorDate
Function "Program Double Clock" never returns in IAP mode            01/01/70 00:00      
   You should check carefully            01/01/70 00:00      
      I feel safe            01/01/70 00:00      
   bootloader v6 is affected, too            01/01/70 00:00      
      it's the same in v4 and v5, too            01/01/70 00:00      
         TI=1 workaround            01/01/70 00:00      
            3-rd party programming and thebootloader            01/01/70 00:00      
               bootloader self-upgraded to v7            01/01/70 00:00      
   IAP ?            01/01/70 00:00      

Back to Subject List