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 could not load RTX application image

I have splitted software into two parts: Bootloader(without RTX), Application image with RTX.
But the bootloader could not load the application image with RTX.
The Flash settings are:

--------------------------------
        start address       size
IROM 1: 0x08000000          0x2800   - Bootloader (without RTX)
IROM 2: 0x08002800          0xD000   - Application Image (with RTX)

I have test 3 ways:
(1) Use another App without RTX. The bootloader could load the app successfully.

(2) Change the application with RTX project IROM setting. I change the application project IROM start address from 0x08002800 to 0x08000000. And I download the application image into flash from the address 0x08000000. Ihe image could run from 0x08000000 successfully.

(3) The application image IROM start address setting is 0x08002800. After downloading bootloader and app image into flash, I debug the app project in keil step by step. I found that there is a "osTimerthread stack overflow" error. Then the main thread stack is also overflowed. I have tried to increase the stack size, but it doesn't work.
I found that the app starks in the RTX kernel switching. All threads are in the waiting state, and are not running.
Ps, when I am debugging in the keil,test item(2) also have stack overflow errors during kernel initialization.
This is the debugging picture.

I could not find the reason, so I come here for help. Thanks.

Parents Reply Children