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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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


List of 24 messages in thread
TopicAuthorDate
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      

Back to Subject List