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 RTX GNU Lib issue

Hi RTX developers,

It seems that I have found an issue with Cortex-M3 RTX lib for GNU. In my software, the RTX lib override default Systick Handler but everytime RTX Systick Handler was invoked, it always went to HardFault.

By stepping into HAL_CM3.s in RTX source, I realized that the Sys_Switch was build incorrectly. This function was build as ARM func, not Thumb. My current solution is disable the .global declaration of Sys_Switch, then my software works again. This issue doesnot happen in Cortex M0 lib.

"
...
# void PendSV_Handler (void);

.thumb_func .type PendSV_Handler, %function .global PendSV_Handler
# .global Sys_Switch
PendSV_Handler: .ifdef IFX_XMC4XXX .global PendSV_Handler_Veneer
PendSV_Handler_Veneer: .endif .fnstart .cantunwind

BL rt_pop_req
...
"

So RTX devs, pls check this issue and confirm it. Since I've already used latest CMSIS RTX on the website and also rebuild it by latest ARM GNU toolchain, version 4.7 2013q1.

Regards
Hau

0