summaryrefslogtreecommitdiff
path: root/libcpu/ti-dsp
diff options
context:
space:
mode:
authorYunjie Gu <[email protected]>2022-08-20 18:16:41 +0100
committerGitHub <[email protected]>2022-08-20 13:16:41 -0400
commitb43f0e72056ccead87e4846ba966c649bc9f4947 (patch)
treebb9631b4dc719db35449f0798bb049ef2109a5e8 /libcpu/ti-dsp
parent5b8a3678f09a2b87448d530fe72b7ea85fe7311e (diff)
[bsp][tms320f28379d] Fix compile ti (#6254)
* compile_ok Issues fixed: (1) update .config: select FINSH_USING_SYMTAB (2) add rt_size_t in rtconfig_project.h (3) fix finsh problems of using sym table (4) update .project to include ipc source codes. Todo list: (1) automate the build source selection of ccs and reconcile it with scons * change compiler * msh can run now the key step is to swap the order of rt_interrupt_nest -- and RT_OBJECT_HOOK_CALL(rt_interrupt_leave_hook,()) in irq.c. This is an improvised solution and an issue has been raised. * Update 2837x_FLASH_lnk_cpu1.cmd The original one is also fine. Just to make it more rigorous since FSymTab is in data section. * update readme.md Complier selection and maintainer update. Co-authored-by: YuQi <[email protected]>
Diffstat (limited to 'libcpu/ti-dsp')
-rw-r--r--libcpu/ti-dsp/c28x/context.s10
1 files changed, 5 insertions, 5 deletions
diff --git a/libcpu/ti-dsp/c28x/context.s b/libcpu/ti-dsp/c28x/context.s
index fcae0aa520..2b019e0714 100644
--- a/libcpu/ti-dsp/c28x/context.s
+++ b/libcpu/ti-dsp/c28x/context.s
@@ -9,7 +9,7 @@
; 2019-06-17 zhaoxiaowei fix bugs of old c28x interrupt api.
; 2019-07-03 zhaoxiaowei add _rt_hw_calc_csb function to support __rt_ffs.
; 2019-12-05 xiaolifan add support for hardware fpu32
-;
+; 2022-06-21 guyunjie trim pendsv (RTOSINT_Handler)
.ref _rt_interrupt_to_thread
.ref _rt_interrupt_from_thread
@@ -191,8 +191,8 @@ _reswitch2:
.asmfunc
_RTOSINT_Handler:
-; disable interrupt to protect context switch
- DINT
+ ; disable interrupt to protect context switch
+ ; DINT ;this is done by hardware so not needed
; get rt_thread_switch_interrupt_flag
MOV AR0, #_rt_thread_switch_interrupt_flag
@@ -248,8 +248,8 @@ switch_to_thread:
RT_CTX_RESTORE ; pop r4 - r11 register
rtosint_exit:
- ; restore interrupt
- EINT
+ ; do not restore interrupt here: to be restored according to the
+ ; switched-to context during IRET (automaticlly by hardware)
IRET
.endasmfunc