From a101327d24f9deed087e8c1421ca50b9f45e4203 Mon Sep 17 00:00:00 2001 From: xuzhuoyi Date: Sat, 24 Aug 2019 18:42:54 +0800 Subject: [PATCH] [bsp][tms320f28379d] Fix an issue that interrupts are disabled in the thread --- bsp/tms320f28379d/applications/startup.c | 2 -- bsp/tms320f28379d/drivers/drv_sci.c | 1 - libcpu/ti-dsp/c28x/cpuport.c | 2 +- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/bsp/tms320f28379d/applications/startup.c b/bsp/tms320f28379d/applications/startup.c index 523a45b3b7..301e63a00a 100644 --- a/bsp/tms320f28379d/applications/startup.c +++ b/bsp/tms320f28379d/applications/startup.c @@ -47,8 +47,6 @@ void rtthread_startup(void) /* init board */ rt_hw_board_init(); - rt_hw_interrupt_disable(); - /* show version */ rt_show_version(); diff --git a/bsp/tms320f28379d/drivers/drv_sci.c b/bsp/tms320f28379d/drivers/drv_sci.c index 0920d382f5..b9f23acc48 100644 --- a/bsp/tms320f28379d/drivers/drv_sci.c +++ b/bsp/tms320f28379d/drivers/drv_sci.c @@ -223,7 +223,6 @@ int rt_hw_sci_init(void) PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block PieCtrlRegs.PIEIER9.bit.INTx1 = 1; // PIE Group 9, INT1 IER |= 0x100; // Enable CPU INT - EINT; struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; rt_err_t result = 0; diff --git a/libcpu/ti-dsp/c28x/cpuport.c b/libcpu/ti-dsp/c28x/cpuport.c index e34556c524..3f88606c65 100644 --- a/libcpu/ti-dsp/c28x/cpuport.c +++ b/libcpu/ti-dsp/c28x/cpuport.c @@ -78,7 +78,7 @@ rt_uint8_t *rt_hw_stack_init(void *tentry, stack_frame->exception_stack_frame.acc = 0x33332222; stack_frame->exception_stack_frame.ar1_ar0 = 0x00001111 & (unsigned long)parameter; /* ar0 : argument */ stack_frame->exception_stack_frame.p = 0x55554444; /* p */ - stack_frame->exception_stack_frame.dp_st1 = (0x00000000) | rt_hw_get_st1(); /* dp_st1 */ + stack_frame->exception_stack_frame.dp_st1 = (0x00000000) | rt_hw_get_st1() & 0xFFFFFFFE; /* 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;