??? 08/15/05 14:11 Read: times |
#99433 - Process make sense Responding to: ???'s previous message |
Your process makes sense. I've done IAP with a similar process.
Three suggestions: 1. Make sure interrupts are disabled. If they are enabled and you start modifying the main code, an interrupt is going to cause the MCU to execute code that is in the midst of being updated. 2. The very first thing your update code at 0x3600 should do is modify code addresses 0000h,0001h,and 0002h with an LJMP 0x3600 so that if the process is interrupted while the IAP is in progress that a reboot will cause the process to start over again. 3. Your current process doesn't allow you to update the IAP code at 0x3600. I'd recommend that when the PC wants to update the firmware that you have it send code from 0x1800 to 0x3800 so that the IAP code can be updated later if it's necessary. Regards Craig Steiner |
Topic | Author | Date |
Strange problem IAP for whole chip | 01/01/70 00:00 | |
Questions please | 01/01/70 00:00 | |
Nobody knows? | 01/01/70 00:00 | |
why | 01/01/70 00:00 | |
For IAP? | 01/01/70 00:00 | |
Which is exactly what FlashMagic is inte | 01/01/70 00:00 | |
and now we know why | 01/01/70 00:00 | |
Get a PC | 01/01/70 00:00 | |
Enclose PCB in a box | 01/01/70 00:00 | |
I understand | 01/01/70 00:00 | |
Process make sense | 01/01/70 00:00 | |
Thank god for the response | 01/01/70 00:00 | |
Maybe the libraries in causing it ??? | 01/01/70 00:00 | |
the problem with absolutes | 01/01/70 00:00 | |
AT89C51RC2 with 128 bytes per page | 01/01/70 00:00 | |
there is no such thing as a byte write, | 01/01/70 00:00 | |
byte write | 01/01/70 00:00 | |
No byte write | 01/01/70 00:00 | |
what was the problem? | 01/01/70 00:00 | |
Problem was ... | 01/01/70 00:00 | |
OK, now face problems in Variables | 01/01/70 00:00 | |
variables used in my remote update | 01/01/70 00:00 | |
Ok, Solved | 01/01/70 00:00 | |
Try this![]() | 01/01/70 00:00 |