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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/31/05 19:45
Read: times


 
#100395 - Pure luck?
Responding to: ???'s previous message
Craig Steiner said:
With the TI parts, you cannot run code from flash memory when flash memory is being written to. The serial interrupt is going to jump to 0023h which is in flash memory and that's going to create your conflict.

Paul Marley said:
Turning of (sic) all interrupts worked. I had a previous version working without turning of (sic) the interrupts, so I am not sure what the deal was with that.

Pure luck, most probably!
You were just plain lucky that no interrupt happened to occur whilst the flash was actually being erased.

As Craig says, the problem is when you try to execute code in flash (eg, at the interrupt vector locations) at the same time that it is being erased/written - if no interrupt happens in that critical time, the code is not executed, and no problem is seen.

This is a perfect illustration of Erik's well-worn maxim that testing does not prove the absence of bugs - if a test is poorly designed and/or unlucky enough never to exercise a failure mode, then it will not reveal the bug!

List of 6 messages in thread
TopicAuthorDate
page_erase() problem            01/01/70 00:00      
   NOBODY can help you here since page eras            01/01/70 00:00      
   which mcu?            01/01/70 00:00      
   TI MSC121x?            01/01/70 00:00      
      Thanks!            01/01/70 00:00      
         Pure luck?            01/01/70 00:00      

Back to Subject List