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

Bootloader and RTX

I am using the SiLabs bootloader (from AN200) along with my application which is running Keil's RTX tiny. I have been able to get the test application to hand over from the bootloader on my custom board. I have been able to get the bootloader to use the latest USBXpress libraries and hand over to my application. I have been also able to get the timer 0 interrupt remapped to the application for handling.

The problem I am having is that the application software (running at address 0x1200 now) is not able to start RTX tasks -- other than task 0, my initialization task. The application appears to be stuck in os_create.A51, more specifically the following code loop (starting at line 89):

?C0017:
                MOV     A,R5
                XRL     A,R1
                JZ      ?C0018
;      while (p1 != p2)  {
;        p1++;
;        DBYTE[p1-2] = DBYTE[p1];
;      }
                INC     R1
                MOV     A,@R1
                DEC     R1
                DEC     R1
$IF (CODE_BANKING)
                DEC     R1
$ENDIF
                MOV     @R1,A
$IF (CODE_BANKING)
                INC     R1
$ENDIF
                INC     R1
                INC     R1
                SJMP    ?C0017

The code runs fine when programmed without the bootloader (from address 0). Not sure why the tasks are not being created properly.

Any help is greatly appreciated.

Thanks.