summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxuzhuoyi <[email protected]>2019-08-24 18:42:54 +0800
committerxuzhuoyi <[email protected]>2019-08-24 18:42:54 +0800
commita101327d24f9deed087e8c1421ca50b9f45e4203 (patch)
tree4ca5da3c3b864ab897253a399ba5faf487f9e77a
parentf87dd2e7c408922bcc2cdb1df05fc0b3d2f3a59e (diff)
[bsp][tms320f28379d] Fix an issue that interrupts are disabled in the thread
-rw-r--r--bsp/tms320f28379d/applications/startup.c2
-rw-r--r--bsp/tms320f28379d/drivers/drv_sci.c1
-rw-r--r--libcpu/ti-dsp/c28x/cpuport.c2
3 files changed, 1 insertions, 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;