From 2f70bf957310b9dd3b89a1f316d0eaf1b06e43ad Mon Sep 17 00:00:00 2001 From: wuyangyong Date: Tue, 24 May 2011 02:23:54 +0000 Subject: [PATCH] add pic32 port git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1432 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- libcpu/mips/pic32/context_gcc.S | 36 +++++++++++++++++++++++++++++ libcpu/mips/pic32/interrupt.c | 16 +++++++++++++ libcpu/mips/pic32/stack.c | 41 +++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 libcpu/mips/pic32/context_gcc.S create mode 100644 libcpu/mips/pic32/interrupt.c create mode 100644 libcpu/mips/pic32/stack.c diff --git a/libcpu/mips/pic32/context_gcc.S b/libcpu/mips/pic32/context_gcc.S new file mode 100644 index 0000000000..078d0727d8 --- /dev/null +++ b/libcpu/mips/pic32/context_gcc.S @@ -0,0 +1,36 @@ +/* + * rt_base_t rt_hw_interrupt_disable() + */ + .globl rt_hw_interrupt_disable +rt_hw_interrupt_disable: + +/* + * void rt_hw_interrupt_enable(rt_base_t level) + */ + .globl rt_hw_interrupt_enable +rt_hw_interrupt_enable: + +/* + * void rt_hw_context_switch_to(rt_uint32 to)/* + * a0 --> to + */ + .globl rt_hw_context_switch_to +rt_hw_context_switch_to: + +/* + * void rt_hw_context_switch(rt_uint32 from, rt_uint32 to) + * a0 --> from + * a1 --> to + */ + .globl rt_hw_context_switch +rt_hw_context_switch: + +/* + * void rt_hw_context_switch_interrupt(rt_uint32 from, rt_uint32 to)/* + */ + .globl rt_thread_switch_interrput_flag + .globl rt_interrupt_from_thread + .globl rt_interrupt_to_thread + .globl rt_hw_context_switch_interrupt +rt_hw_context_switch_interrupt: + diff --git a/libcpu/mips/pic32/interrupt.c b/libcpu/mips/pic32/interrupt.c new file mode 100644 index 0000000000..db333c0185 --- /dev/null +++ b/libcpu/mips/pic32/interrupt.c @@ -0,0 +1,16 @@ +/* + * File : interrupt.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2010, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2011-05-23 aozima first implementation for PIC32. + */ + +#include + diff --git a/libcpu/mips/pic32/stack.c b/libcpu/mips/pic32/stack.c new file mode 100644 index 0000000000..61cc88d51d --- /dev/null +++ b/libcpu/mips/pic32/stack.c @@ -0,0 +1,41 @@ +/* + * File : stack.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2011-05-23 aozima first implementation for PIC32. + */ + +#include + +/** + * @addtogroup Loogonson SoC3210 + */ +/*@{*/ + +/** + * This function will initialize thread stack + * + * @param tentry the entry of thread + * @param parameter the parameter of entry + * @param stack_addr the beginning stack address + * @param texit the function will be called when thread exit + * + * @return stack address + */ +rt_uint8_t *rt_hw_stack_init(void *tentry, void *parameter, rt_uint8_t *stack_addr, void *texit) +{ + rt_uint32_t *stk; + + /* return task's current stack address */ + return (rt_uint8_t *)stk; +} + +/*@}*/ + -- GitLab