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

F0 flag use by Keil libraries

Hello.

I have a bootloader that use F0 flag to indicate if the bootloader is executing (F0 = 1) or if the application is executing (F0 = 0).

But some Keil library functions modify this flag (float division, 32-bits signed long division, etc).

Somebody can help me with the full list of functions that modify this flag?

I cannnot modify the bootloader because the product is just in production (and sold out).

Parents
  • Thanks. This can help me!

    I use this flag (F0) to execute the ISR of the bootloader or the ISR of the application. I think that if I disable interrupts (with EA = 0) before executing these functions and then restore F0 flag and EA, it will work.

    Also, I notice that flag F1 is forced to 0 in the entry-code of the ISRs.

    I also think that this must be documented in the C compiler manual.

Reply
  • Thanks. This can help me!

    I use this flag (F0) to execute the ISR of the bootloader or the ISR of the application. I think that if I disable interrupts (with EA = 0) before executing these functions and then restore F0 flag and EA, it will work.

    Also, I notice that flag F1 is forced to 0 in the entry-code of the ISRs.

    I also think that this must be documented in the C compiler manual.

Children