??? 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! |
Topic | Author | Date |
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 |