This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

IAP bootloader

Hello,

At the moment,I'm trying to build a In-Application Programming(IAP) bootloader for the T89C51RD2 microcontroller.I've managed to make it work, but for the first programming, you have to load the two programs(the application and the IAP loader) separately.I would like to know if it is possible to include 2 independent programs into a single .HEX file.
If you have any ideas on the subject, please let me know!
Thomas HEGARTY.

Parents Reply Children
  • I can send you a small dos based utility that does this, just give me your email address.

  • Hello,
    That's also what I tought of first, but when I execute the HEX file that I edited, the program acts strangely(it looks like data overlaying)but what is surprising is that it acts in the same way when I edit the files in the opposite order.I'll try it again with your DOS application, here's my email:<thomas.heg@voila.fr>
    Thanks for the tips!
    Best regards,
    thomas hegarty.

  • Sorry, forget my last message, I must have used the wrong file when editing my HEX file,because it's working fine now.At the same time, I would still like to try your DOS utility.
    Best regards,
    Thomas Hegarty.

  • Hello there,
    Thanks for your utility, Franc, it's true it's handier than edinting the files manually.But I'm still wondering if it is possible to incorparate two independent programs into the same project.I tried compiling the two files corresponding to the two programs separately, and then modifying the assembler code so both programs don't write their interrupt vector tables at the same place.After doing this, I was able to jump from the application to the bootloader, I could load a new application and run it, but then,I could not jump back to the bootloader.
    As this didn't work, I looked up the report from the linker to see the differences between a bootloader loaded on its own, and the bootloader loaded in the same project as the application,and I tried reexecuting the startup segment and other segments, but I wasn't getting anywhere.
    If you've got any suggestions, they'll be welcome!
    Best Regards,
    Thoams Hegarty