Help, about bootloader

I am using pixhawk hardware to develop my own flight control program. The bootloader in the previous hardware is PX4. I upgraded the bootloader to the one currently used by ardupilot, and there was a problem. After entering the main program, my program no longer runs. Among them, I found 1 reason, because my main program does not have a CAN driver, which caused the bootloader to jump. It crashes. After I modified this problem, the bootloader jumped to the main program normally, but my program could not be scheduled (my program uses RT-Thread operating system).
Eventually I found that the problem occurred in the chSysLock() call of the bootloader jump function. I don’t know what this function does, but it affects the scheduling of my program. I commented out the chSysLock() function and it works fine, but it is not a good solution. Does anyone have experience in this area? Can you help me, thank you!

Updating the bootloader can potentially “brick” the board (i.e. make it unresponsive and unable to upload new firmwares). Be careful not to power
down the autopilot during the update process

I have this problem on cuav v5 nano autopilot … please how can i fixing it

Pleas any one helpe me