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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/24/09 17:23
Read: times


 
#163816 - Linker works. But Erase and Program could work only half way
Responding to: ???'s previous message
Thank you for your suggestion. I finally figure out how to set the locator in Keil that I could make it work. I just set the BL51 as follows that it worked well so far.

?PR?iap_read_manufacturer_id?RX2IAPLIB(0x4000),
?PR?iap_read_device_id?RX2IAPLIB(0x4100),
?PR?_iap_program_data_byte?RX2IAPLIB (0x4200),
?PR?_iap_erase_block?RX2IAPLIB(0x4300)

Currently, I could do the erase and program work for 3 sectors. However, when I tried to do more it will not work. I have a question about IAP for a long time. For read work like read ID or read byte job, we
could use this architecture for sure. But for erase and program job, how could our program continues
since it will be corrupt when we are running those works?

For example in my case, if my program runs at address 0x0300 and erase the block where it is located.
That doesn't make sense it could continue when the code is replaced. Did I make any mistake?

List of 12 messages in thread
TopicAuthorDate
IAP on NXP P89V51RC2            01/01/70 00:00      
   Is the code located above 0x2000?            01/01/70 00:00      
      It didn't start from 0x2000h            01/01/70 00:00      
         This is the Linker's job            01/01/70 00:00      
            Linker works. But Erase and Program could work only half way            01/01/70 00:00      
               Boot loader            01/01/70 00:00      
               sawing the branch you are sitting on...            01/01/70 00:00      
                  Parts of a live application can be replaced with care            01/01/70 00:00      
                  Update Prgram using IAP            01/01/70 00:00      
                     Back to boot loader concept again            01/01/70 00:00      
                        About Locate Function in C code            01/01/70 00:00      
                           It worked finally            01/01/70 00:00      

Back to Subject List