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

Keil CMSIS RTX bootloader

I am stuck at booting keil RTX with a boot-loader jumping. When the RTX application is loading but it goes into hard fault from  svc2_3 message get keil rtx.    I didn't write explicitly define SVC handler, Since  it's defined inside RTX. All the remaining things like vector table remapping and systick clock are configured correctly. The jumping is possible when using a non rtx application. Any help appreciated

Parents
  • Hello,

    Problem is solved. Firstly, I changed startup fle. bootloader() function is placed to reset vector of bootloader; and then SystemInit and __main functions are placed to reset vector of user-application. Interrupts must be enabled in SystemInit not in main() function. Because RTX require SVC 0 interrupt before jumping to main() function.

    There is another point. RTX adds some initialization codes at __main function. It resets all memory. So interrupt vector table at start of RAM is cleared. I changed start of RAM block to 0x200000C0. so RTX didn't clear vector table at RAM.

    Regards,

    Yilmaz.

Reply
  • Hello,

    Problem is solved. Firstly, I changed startup fle. bootloader() function is placed to reset vector of bootloader; and then SystemInit and __main functions are placed to reset vector of user-application. Interrupts must be enabled in SystemInit not in main() function. Because RTX require SVC 0 interrupt before jumping to main() function.

    There is another point. RTX adds some initialization codes at __main function. It resets all memory. So interrupt vector table at start of RAM is cleared. I changed start of RAM block to 0x200000C0. so RTX didn't clear vector table at RAM.

    Regards,

    Yilmaz.

Children
No data