diff options
| author | xuzhuoyi <[email protected]> | 2018-09-03 21:39:56 +0800 |
|---|---|---|
| committer | xuzhuoyi <[email protected]> | 2018-09-03 21:39:56 +0800 |
| commit | 5fd1213e73275d57489f879d5841e3ba3b8ab43f (patch) | |
| tree | 23b1ac4f6c4dea41c1fef6460c88a704575afd92 /libcpu | |
| parent | 697a4495a6b40e01ea856cf1e3dc90bde2e368c7 (diff) | |
[bsp][tms320f28379d] __rt_ffs() problem caused by 16-bit int
Diffstat (limited to 'libcpu')
| -rw-r--r-- | libcpu/c28x/context.s | 1 | ||||
| -rw-r--r-- | libcpu/c28x/cpuport.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/libcpu/c28x/context.s b/libcpu/c28x/context.s index 9efec09fb2..020325e126 100644 --- a/libcpu/c28x/context.s +++ b/libcpu/c28x/context.s @@ -164,6 +164,7 @@ switch_to_thread: ;#endif MOV @SP, AR1 + INC SP RT_CTX_RESTORE ; pop r4 - r11 register rtosint_exit: diff --git a/libcpu/c28x/cpuport.c b/libcpu/c28x/cpuport.c index 720bb01776..2300eb0e9c 100644 --- a/libcpu/c28x/cpuport.c +++ b/libcpu/c28x/cpuport.c @@ -79,6 +79,7 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, stack_frame->exception_stack_frame.dp_st1 = (0x00000000) | rt_hw_get_st1(); /* dp_st1 */ stack_frame->exception_stack_frame.dbgstat_ier = 0; /* dbgstat_ier */ stack_frame->exception_stack_frame.return_address = (unsigned long)tentry; /* return_address */ + stack_frame->rpc = (unsigned long)texit; /* return task's current stack address */ return stk + sizeof(struct stack_frame); |
