auto-sync
This commit is contained in:
parent
cd7671d3ef
commit
47e55aa2b6
|
@ -15,7 +15,11 @@ int getRemainingStack(Thread *otp);
|
|||
|
||||
extern stkalign_t __main_stack_base__;
|
||||
|
||||
#if defined __GNUC__
|
||||
// GCC version
|
||||
|
||||
int getRemainingStack(Thread *otp) {
|
||||
|
||||
#if CH_DBG_ENABLE_STACK_CHECK
|
||||
register struct intctx *r13 asm ("r13");
|
||||
otp->activeStack = r13;
|
||||
|
@ -35,6 +39,31 @@ int getRemainingStack(Thread *otp) {
|
|||
#endif /* CH_DBG_ENABLE_STACK_CHECK */
|
||||
}
|
||||
|
||||
#else /* __GNUC__ */
|
||||
|
||||
|
||||
int getRemainingStack(Thread *otp) {
|
||||
#if CH_DBG_ENABLE_STACK_CHECK || defined(__DOXYGEN__)
|
||||
int remainingStack;
|
||||
if (dbg_isr_cnt > 0) {
|
||||
remainingStack = 999; // todo
|
||||
} else {
|
||||
remainingStack = (stkalign_t *)(__get_SP() - sizeof(struct intctx)) - otp->p_stklimit;
|
||||
}
|
||||
otp->remainingStack = remainingStack;
|
||||
return remainingStack;
|
||||
#else
|
||||
return 999999;
|
||||
#endif
|
||||
}
|
||||
|
||||
// IAR version
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void baseHardwareInit(void) {
|
||||
// looks like this holds a random value on start? Let's set a nice clean zero
|
||||
|
|
Loading…
Reference in New Issue