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