summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbigmagic <[email protected]>2020-04-07 11:26:30 +0800
committerbigmagic <[email protected]>2020-04-07 14:39:20 +0800
commitc024e2e485c813aa1c70e079f61fe50a80d8215c (patch)
tree98262faf7d1b49b5a35ba4dd353210f26753675c
parent990f731b776055390db854f9cc980799e39247e8 (diff)
add ls2k bsp config
-rw-r--r--bsp/ls2kdev/.config9
-rw-r--r--bsp/ls2kdev/applications/main.c2
-rw-r--r--bsp/ls2kdev/rtconfig.h7
-rw-r--r--libcpu/mips/common/exception.c6
-rw-r--r--libcpu/mips/common/stackframe.h4
5 files changed, 10 insertions, 18 deletions
diff --git a/bsp/ls2kdev/.config b/bsp/ls2kdev/.config
index 20cf03b625..d8a97b46b0 100644
--- a/bsp/ls2kdev/.config
+++ b/bsp/ls2kdev/.config
@@ -20,13 +20,10 @@ CONFIG_RT_USING_HOOK=y
CONFIG_RT_USING_IDLE_HOOK=y
CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
CONFIG_IDLE_THREAD_STACK_SIZE=2048
-CONFIG_RT_USING_TIMER_SOFT=y
-CONFIG_RT_TIMER_THREAD_PRIO=20
-CONFIG_RT_TIMER_THREAD_STACK_SIZE=2048
+# CONFIG_RT_USING_TIMER_SOFT is not set
CONFIG_RT_DEBUG=y
# CONFIG_RT_DEBUG_COLOR is not set
-CONFIG_RT_DEBUG_INIT_CONFIG=y
-CONFIG_RT_DEBUG_INIT=1
+# CONFIG_RT_DEBUG_INIT_CONFIG is not set
# CONFIG_RT_DEBUG_THREAD_CONFIG is not set
# CONFIG_RT_DEBUG_SCHEDULER_CONFIG is not set
# CONFIG_RT_DEBUG_IPC_CONFIG is not set
@@ -65,7 +62,7 @@ CONFIG_RT_USING_DEVICE=y
# CONFIG_RT_USING_DEVICE_OPS is not set
# CONFIG_RT_USING_INTERRUPT_INFO is not set
CONFIG_RT_USING_CONSOLE=y
-CONFIG_RT_CONSOLEBUF_SIZE=128
+CONFIG_RT_CONSOLEBUF_SIZE=256
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
CONFIG_RT_VER_NUM=0x40003
# CONFIG_RT_USING_CPU_FFS is not set
diff --git a/bsp/ls2kdev/applications/main.c b/bsp/ls2kdev/applications/main.c
index 54691f0f89..bd975f4825 100644
--- a/bsp/ls2kdev/applications/main.c
+++ b/bsp/ls2kdev/applications/main.c
@@ -12,6 +12,6 @@
int main(int argc, char** argv)
{
- rt_kprintf("ls2k1000:hello rtthread!\n");
+ rt_kprintf("Hi, this is RT-Thread!!\n");
return 0;
}
diff --git a/bsp/ls2kdev/rtconfig.h b/bsp/ls2kdev/rtconfig.h
index 80f068c5c0..aaeed71df5 100644
--- a/bsp/ls2kdev/rtconfig.h
+++ b/bsp/ls2kdev/rtconfig.h
@@ -16,12 +16,7 @@
#define RT_USING_IDLE_HOOK
#define RT_IDLE_HOOK_LIST_SIZE 4
#define IDLE_THREAD_STACK_SIZE 2048
-#define RT_USING_TIMER_SOFT
-#define RT_TIMER_THREAD_PRIO 20
-#define RT_TIMER_THREAD_STACK_SIZE 2048
#define RT_DEBUG
-#define RT_DEBUG_INIT_CONFIG
-#define RT_DEBUG_INIT 1
/* Inter-Thread communication */
@@ -41,7 +36,7 @@
#define RT_USING_DEVICE
#define RT_USING_CONSOLE
-#define RT_CONSOLEBUF_SIZE 128
+#define RT_CONSOLEBUF_SIZE 256
#define RT_CONSOLE_DEVICE_NAME "uart"
#define RT_VER_NUM 0x40003
#define ARCH_MIPS64
diff --git a/libcpu/mips/common/exception.c b/libcpu/mips/common/exception.c
index 11192955cf..cd7d97e6c0 100644
--- a/libcpu/mips/common/exception.c
+++ b/libcpu/mips/common/exception.c
@@ -117,14 +117,14 @@ int rt_hw_exception_init(void)
void rt_general_exc_dispatch(struct pt_regs *regs)
{
- rt_ubase_t cause, exccode;
+ rt_ubase_t exccode = 0;
- exccode = (cause & CAUSEF_EXCCODE) >> CAUSEB_EXCCODE;
if (exccode == 0) {
rt_ubase_t status, pending;
status = read_c0_status();
- pending = (cause & CAUSEF_IP) & (status & ST0_IM);
+
+ pending = (CAUSEF_IP) & (status & ST0_IM);
if (pending & CAUSEF_IP0)
rt_do_mips_cpu_irq(0);
if (pending & CAUSEF_IP1)
diff --git a/libcpu/mips/common/stackframe.h b/libcpu/mips/common/stackframe.h
index b5a038d1f6..258f9a994f 100644
--- a/libcpu/mips/common/stackframe.h
+++ b/libcpu/mips/common/stackframe.h
@@ -60,11 +60,11 @@
mfhi v1
LONG_S $8, PT_R8(sp)
LONG_S $9, PT_R9(sp)
- LONG_S v1, PT_HI(sp)
+ sw v1, PT_HI(sp)
mflo v1
LONG_S $10, PT_R10(sp)
LONG_S $11, PT_R11(sp)
- LONG_S v1, PT_LO(sp)
+ sw v1, PT_LO(sp)
LONG_S $12, PT_R12(sp)
LONG_S $13, PT_R13(sp)
LONG_S $14, PT_R14(sp)