Merge pull request #2161 from RT-Thread/libcpu_SConscript
Libcpu sconscript
This commit is contained in:
commit
40ca27d994
|
@ -19,6 +19,7 @@ env = Environment(tools = ['mingw'],
|
||||||
AR = rtconfig.AR, ARFLAGS = '-rc',
|
AR = rtconfig.AR, ARFLAGS = '-rc',
|
||||||
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
||||||
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
||||||
|
env['ASCOM'] = env['ASPPCOM']
|
||||||
|
|
||||||
Export('RTT_ROOT')
|
Export('RTT_ROOT')
|
||||||
Export('rtconfig')
|
Export('rtconfig')
|
||||||
|
|
|
@ -13,11 +13,12 @@ from building import *
|
||||||
TARGET = 'rtthread-vexpress.' + rtconfig.TARGET_EXT
|
TARGET = 'rtthread-vexpress.' + rtconfig.TARGET_EXT
|
||||||
|
|
||||||
env = Environment(tools = ['mingw'],
|
env = Environment(tools = ['mingw'],
|
||||||
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
||||||
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
|
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
|
||||||
AR = rtconfig.AR, ARFLAGS = '-rc',
|
AR = rtconfig.AR, ARFLAGS = '-rc',
|
||||||
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
||||||
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
||||||
|
env['ASCOM'] = env['ASPPCOM']
|
||||||
|
|
||||||
Export('RTT_ROOT')
|
Export('RTT_ROOT')
|
||||||
Export('rtconfig')
|
Export('rtconfig')
|
||||||
|
|
|
@ -13,11 +13,12 @@ from building import *
|
||||||
TARGET = 'rtthread-realview.' + rtconfig.TARGET_EXT
|
TARGET = 'rtthread-realview.' + rtconfig.TARGET_EXT
|
||||||
|
|
||||||
env = Environment(tools = ['mingw'],
|
env = Environment(tools = ['mingw'],
|
||||||
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
||||||
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
|
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
|
||||||
AR = rtconfig.AR, ARFLAGS = '-rc',
|
AR = rtconfig.AR, ARFLAGS = '-rc',
|
||||||
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
||||||
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
||||||
|
env['ASCOM'] = env['ASPPCOM']
|
||||||
|
|
||||||
Export('RTT_ROOT')
|
Export('RTT_ROOT')
|
||||||
Export('rtconfig')
|
Export('rtconfig')
|
||||||
|
|
|
@ -1,38 +1,15 @@
|
||||||
Import('RTT_ROOT')
|
# RT-Thread building script for bridge
|
||||||
Import('rtconfig')
|
|
||||||
|
import os
|
||||||
from building import *
|
from building import *
|
||||||
|
|
||||||
arch = rtconfig.ARCH
|
Import('rtconfig')
|
||||||
comm = rtconfig.ARCH + '/common'
|
|
||||||
path = rtconfig.ARCH + '/' + rtconfig.CPU
|
|
||||||
src = []
|
|
||||||
ASFLAGS = ''
|
|
||||||
|
|
||||||
# The set of source files associated with this SConscript file.
|
cwd = GetCurrentDir()
|
||||||
if rtconfig.PLATFORM == 'armcc':
|
group = []
|
||||||
src += Glob(path + '/*.c') + Glob(path + '/*_rvds.S')
|
list = os.listdir(cwd)
|
||||||
src += Glob(comm + '/*.c') + Glob(comm + '/*_rvds.S')
|
|
||||||
|
|
||||||
if rtconfig.PLATFORM == 'gcc':
|
if rtconfig.ARCH in list:
|
||||||
src += Glob(path + '/*_init.S')
|
group = group + SConscript(os.path.join(cwd, rtconfig.ARCH, 'SConscript'))
|
||||||
src += Glob(path + '/*.c') + Glob(path + '/*_gcc.S')
|
|
||||||
src += Glob(comm + '/*.c') + Glob(comm + '/*_gcc.S')
|
|
||||||
|
|
||||||
if rtconfig.PLATFORM == 'iar':
|
|
||||||
src += Glob(path + '/*.c') + Glob(path + '/*_iar.S')
|
|
||||||
src += Glob(comm + '/*.c') + Glob(comm + '/*_iar.S')
|
|
||||||
|
|
||||||
if rtconfig.PLATFORM == 'cl':
|
|
||||||
src = Glob(path + '/*.c')
|
|
||||||
|
|
||||||
if rtconfig.PLATFORM == 'mingw':
|
|
||||||
src = Glob(path + '/*.c')
|
|
||||||
|
|
||||||
if rtconfig.PLATFORM == 'armcc' and rtconfig.ARCH == 'arm' and rtconfig.CPU == 'arm926':
|
|
||||||
ASFLAGS = ' --cpreproc'
|
|
||||||
|
|
||||||
CPPPATH = [RTT_ROOT + '/libcpu/' + arch + '/' + rtconfig.CPU, RTT_ROOT + '/libcpu/' + arch + '/common']
|
|
||||||
|
|
||||||
group = DefineGroup(rtconfig.CPU.upper(), src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
|
||||||
|
|
||||||
Return('group')
|
Return('group')
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,43 +1,39 @@
|
||||||
;/*
|
/*
|
||||||
; * File : context_rvds.S
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
*
|
||||||
; * COPYRIGHT (C) 2006, RT-Thread Development Team
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
; *
|
*
|
||||||
; * The license and distribution terms for this file may be
|
* Change Logs:
|
||||||
; * found in the file LICENSE in this distribution or at
|
* Date Author Notes
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
* 2009-01-20 Bernard first version
|
||||||
; *
|
*/
|
||||||
; * Change Logs:
|
|
||||||
; * Date Author Notes
|
|
||||||
; * 2009-01-20 Bernard first version
|
|
||||||
; */
|
|
||||||
|
|
||||||
NOINT EQU 0xc0 ; disable interrupt in psr
|
NOINT EQU 0xc0 ; disable interrupt in psr
|
||||||
|
|
||||||
AREA |.text|, CODE, READONLY, ALIGN=2
|
AREA |.text|, CODE, READONLY, ALIGN=2
|
||||||
ARM
|
ARM
|
||||||
REQUIRE8
|
REQUIRE8
|
||||||
PRESERVE8
|
PRESERVE8
|
||||||
|
|
||||||
;/*
|
;/*
|
||||||
; * rt_base_t rt_hw_interrupt_disable();
|
; * rt_base_t rt_hw_interrupt_disable();
|
||||||
; */
|
; */
|
||||||
rt_hw_interrupt_disable PROC
|
rt_hw_interrupt_disable PROC
|
||||||
EXPORT rt_hw_interrupt_disable
|
EXPORT rt_hw_interrupt_disable
|
||||||
MRS r0, cpsr
|
MRS r0, cpsr
|
||||||
ORR r1, r0, #NOINT
|
ORR r1, r0, #NOINT
|
||||||
MSR cpsr_c, r1
|
MSR cpsr_c, r1
|
||||||
BX lr
|
BX lr
|
||||||
ENDP
|
ENDP
|
||||||
|
|
||||||
;/*
|
;/*
|
||||||
; * void rt_hw_interrupt_enable(rt_base_t level);
|
; * void rt_hw_interrupt_enable(rt_base_t level);
|
||||||
; */
|
; */
|
||||||
rt_hw_interrupt_enable PROC
|
rt_hw_interrupt_enable PROC
|
||||||
EXPORT rt_hw_interrupt_enable
|
EXPORT rt_hw_interrupt_enable
|
||||||
MSR cpsr_c, r0
|
MSR cpsr_c, r0
|
||||||
BX lr
|
BX lr
|
||||||
ENDP
|
ENDP
|
||||||
|
|
||||||
;/*
|
;/*
|
||||||
; * void rt_hw_context_switch(rt_uint32 from, rt_uint32 to);
|
; * void rt_hw_context_switch(rt_uint32 from, rt_uint32 to);
|
||||||
|
@ -45,63 +41,63 @@ rt_hw_interrupt_enable PROC
|
||||||
; * r1 --> to
|
; * r1 --> to
|
||||||
; */
|
; */
|
||||||
rt_hw_context_switch PROC
|
rt_hw_context_switch PROC
|
||||||
EXPORT rt_hw_context_switch
|
EXPORT rt_hw_context_switch
|
||||||
STMFD sp!, {lr} ; push pc (lr should be pushed in place of PC)
|
STMFD sp!, {lr} ; push pc (lr should be pushed in place of PC)
|
||||||
STMFD sp!, {r0-r12, lr} ; push lr & register file
|
STMFD sp!, {r0-r12, lr} ; push lr & register file
|
||||||
|
|
||||||
MRS r4, cpsr
|
MRS r4, cpsr
|
||||||
STMFD sp!, {r4} ; push cpsr
|
STMFD sp!, {r4} ; push cpsr
|
||||||
MRS r4, spsr
|
MRS r4, spsr
|
||||||
STMFD sp!, {r4} ; push spsr
|
STMFD sp!, {r4} ; push spsr
|
||||||
|
|
||||||
STR sp, [r0] ; store sp in preempted tasks TCB
|
STR sp, [r0] ; store sp in preempted tasks TCB
|
||||||
LDR sp, [r1] ; get new task stack pointer
|
LDR sp, [r1] ; get new task stack pointer
|
||||||
|
|
||||||
LDMFD sp!, {r4} ; pop new task spsr
|
LDMFD sp!, {r4} ; pop new task spsr
|
||||||
MSR spsr_cxsf, r4
|
MSR spsr_cxsf, r4
|
||||||
LDMFD sp!, {r4} ; pop new task cpsr
|
LDMFD sp!, {r4} ; pop new task cpsr
|
||||||
MSR cpsr_cxsf, r4
|
MSR cpsr_cxsf, r4
|
||||||
|
|
||||||
LDMFD sp!, {r0-r12, lr, pc} ; pop new task r0-r12, lr & pc
|
LDMFD sp!, {r0-r12, lr, pc} ; pop new task r0-r12, lr & pc
|
||||||
ENDP
|
ENDP
|
||||||
|
|
||||||
;/*
|
;/*
|
||||||
; * void rt_hw_context_switch_to(rt_uint32 to);
|
; * void rt_hw_context_switch_to(rt_uint32 to);
|
||||||
; * r0 --> to
|
; * r0 --> to
|
||||||
; */
|
; */
|
||||||
rt_hw_context_switch_to PROC
|
rt_hw_context_switch_to PROC
|
||||||
EXPORT rt_hw_context_switch_to
|
EXPORT rt_hw_context_switch_to
|
||||||
LDR sp, [r0] ; get new task stack pointer
|
LDR sp, [r0] ; get new task stack pointer
|
||||||
|
|
||||||
LDMFD sp!, {r4} ; pop new task spsr
|
LDMFD sp!, {r4} ; pop new task spsr
|
||||||
MSR spsr_cxsf, r4
|
MSR spsr_cxsf, r4
|
||||||
LDMFD sp!, {r4} ; pop new task cpsr
|
LDMFD sp!, {r4} ; pop new task cpsr
|
||||||
MSR cpsr_cxsf, r4
|
MSR cpsr_cxsf, r4
|
||||||
|
|
||||||
LDMFD sp!, {r0-r12, lr, pc} ; pop new task r0-r12, lr & pc
|
LDMFD sp!, {r0-r12, lr, pc} ; pop new task r0-r12, lr & pc
|
||||||
ENDP
|
ENDP
|
||||||
|
|
||||||
;/*
|
;/*
|
||||||
; * void rt_hw_context_switch_interrupt(rt_uint32 from, rt_uint32 to);
|
; * void rt_hw_context_switch_interrupt(rt_uint32 from, rt_uint32 to);
|
||||||
; */
|
; */
|
||||||
IMPORT rt_thread_switch_interrupt_flag
|
IMPORT rt_thread_switch_interrupt_flag
|
||||||
IMPORT rt_interrupt_from_thread
|
IMPORT rt_interrupt_from_thread
|
||||||
IMPORT rt_interrupt_to_thread
|
IMPORT rt_interrupt_to_thread
|
||||||
|
|
||||||
rt_hw_context_switch_interrupt PROC
|
rt_hw_context_switch_interrupt PROC
|
||||||
EXPORT rt_hw_context_switch_interrupt
|
EXPORT rt_hw_context_switch_interrupt
|
||||||
LDR r2, =rt_thread_switch_interrupt_flag
|
LDR r2, =rt_thread_switch_interrupt_flag
|
||||||
LDR r3, [r2]
|
LDR r3, [r2]
|
||||||
CMP r3, #1
|
CMP r3, #1
|
||||||
BEQ _reswitch
|
BEQ _reswitch
|
||||||
MOV r3, #1 ; set rt_thread_switch_interrupt_flag to 1
|
MOV r3, #1 ; set rt_thread_switch_interrupt_flag to 1
|
||||||
STR r3, [r2]
|
STR r3, [r2]
|
||||||
LDR r2, =rt_interrupt_from_thread ; set rt_interrupt_from_thread
|
LDR r2, =rt_interrupt_from_thread ; set rt_interrupt_from_thread
|
||||||
STR r0, [r2]
|
STR r0, [r2]
|
||||||
_reswitch
|
_reswitch
|
||||||
LDR r2, =rt_interrupt_to_thread ; set rt_interrupt_to_thread
|
LDR r2, =rt_interrupt_to_thread ; set rt_interrupt_to_thread
|
||||||
STR r1, [r2]
|
STR r1, [r2]
|
||||||
BX lr
|
BX lr
|
||||||
ENDP
|
ENDP
|
||||||
|
|
||||||
END
|
END
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,16 +1,12 @@
|
||||||
;/*
|
/*
|
||||||
; * File : context_rvds.S
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
*
|
||||||
; * COPYRIGHT (C) 2006, RT-Thread Development Team
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
; *
|
*
|
||||||
; * The license and distribution terms for this file may be
|
* Change Logs:
|
||||||
; * found in the file LICENSE in this distribution or at
|
* Date Author Notes
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
* 2009-01-20 Bernard first version
|
||||||
; *
|
*/
|
||||||
; * Change Logs:
|
|
||||||
; * Date Author Notes
|
|
||||||
; * 2009-01-20 Bernard first version
|
|
||||||
; */
|
|
||||||
|
|
||||||
NOINT EQU 0xc0 ; disable interrupt in psr
|
NOINT EQU 0xc0 ; disable interrupt in psr
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# add common code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,25 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
ASFLAGS = ' --cpreproc'
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,21 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_iar.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * This program is free software; you can redistribute it and/or modify
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * it under the terms of the GNU General Public License as published by
|
|
||||||
; * the Free Software Foundation; either version 2 of the License, or
|
|
||||||
; * (at your option) any later version.
|
|
||||||
; *
|
|
||||||
; * This program is distributed in the hope that it will be useful,
|
|
||||||
; * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
; * GNU General Public License for more details.
|
|
||||||
; *
|
|
||||||
; * You should have received a copy of the GNU General Public License along
|
|
||||||
; * with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -1,27 +1,13 @@
|
||||||
;/*
|
/*
|
||||||
; * File : context_iar.S
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
*
|
||||||
; * COPYRIGHT (C) 2006, RT-Thread Development Team
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
; *
|
*
|
||||||
; * This program is free software; you can redistribute it and/or modify
|
* Change Logs:
|
||||||
; * it under the terms of the GNU General Public License as published by
|
* Date Author Notes
|
||||||
; * the Free Software Foundation; either version 2 of the License, or
|
* 2011-08-14 weety copy from mini2440
|
||||||
; * (at your option) any later version.
|
* 2015-04-15 ArdaFu convert from context_gcc.s
|
||||||
; *
|
*/
|
||||||
; * This program is distributed in the hope that it will be useful,
|
|
||||||
; * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
; * GNU General Public License for more details.
|
|
||||||
; *
|
|
||||||
; * You should have received a copy of the GNU General Public License along
|
|
||||||
; * with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
; *
|
|
||||||
; * Change Logs:
|
|
||||||
; * Date Author Notes
|
|
||||||
; * 2011-08-14 weety copy from mini2440
|
|
||||||
; * 2015-04-15 ArdaFu convert from context_gcc.s
|
|
||||||
; */
|
|
||||||
|
|
||||||
#define NOINT 0xc0
|
#define NOINT 0xc0
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,10 @@
|
||||||
;/*
|
;/*
|
||||||
; * file : context_rvds.s
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * this file is part of rt-thread rtos
|
|
||||||
; * copyright (c) 2006, rt-thread development team
|
|
||||||
; *
|
; *
|
||||||
; * this program is free software; you can redistribute it and/or modify
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * it under the terms of the gnu general public license as published by
|
|
||||||
; * the free software foundation; either version 2 of the license, or
|
|
||||||
; * (at your option) any later version.
|
|
||||||
; *
|
; *
|
||||||
; * this program is distributed in the hope that it will be useful,
|
; * Change Logs:
|
||||||
; * but without any warranty; without even the implied warranty of
|
; * Date Author Notes
|
||||||
; * merchantability or fitness for a particular purpose. see the
|
|
||||||
; * gnu general public license for more details.
|
|
||||||
; *
|
|
||||||
; * you should have received a copy of the gnu general public license along
|
|
||||||
; * with this program; if not, write to the free software foundation, inc.,
|
|
||||||
; * 51 franklin street, fifth floor, boston, ma 02110-1301 usa.
|
|
||||||
; *
|
|
||||||
; * change logs:
|
|
||||||
; * date author notes
|
|
||||||
; * 2011-08-14 weety copy from mini2440
|
; * 2011-08-14 weety copy from mini2440
|
||||||
; */
|
; */
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : start.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * This program is free software; you can redistribute it and/or modify
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * it under the terms of the GNU General Public License as published by
|
|
||||||
; * the Free Software Foundation; either version 2 of the License, or
|
|
||||||
; * (at your option) any later version.
|
|
||||||
; *
|
|
||||||
; * This program is distributed in the hope that it will be useful,
|
|
||||||
; * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
; * GNU General Public License for more details.
|
|
||||||
; *
|
|
||||||
; * You should have received a copy of the GNU General Public License along
|
|
||||||
; * with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : start_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * This program is free software; you can redistribute it and/or modify
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * it under the terms of the GNU General Public License as published by
|
|
||||||
; * the Free Software Foundation; either version 2 of the License, or
|
|
||||||
; * (at your option) any later version.
|
|
||||||
; *
|
|
||||||
; * This program is distributed in the hope that it will be useful,
|
|
||||||
; * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
; * GNU General Public License for more details.
|
|
||||||
; *
|
|
||||||
; * You should have received a copy of the GNU General Public License along
|
|
||||||
; * with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
@ -25,7 +11,6 @@
|
||||||
; * 2015-06-04 aozima Align stack address to 8 byte.
|
; * 2015-06-04 aozima Align stack address to 8 byte.
|
||||||
; */
|
; */
|
||||||
|
|
||||||
;#include "rt_low_level_init.h"
|
|
||||||
UND_STK_SIZE EQU 512
|
UND_STK_SIZE EQU 512
|
||||||
SVC_STK_SIZE EQU 4096
|
SVC_STK_SIZE EQU 4096
|
||||||
ABT_STK_SIZE EQU 512
|
ABT_STK_SIZE EQU 512
|
||||||
|
@ -35,25 +20,7 @@ SYS_STK_SIZE EQU 512
|
||||||
Heap_Size EQU 512
|
Heap_Size EQU 512
|
||||||
|
|
||||||
S_FRAME_SIZE EQU (18*4) ;72
|
S_FRAME_SIZE EQU (18*4) ;72
|
||||||
;S_SPSR EQU (17*4) ;SPSR
|
|
||||||
;S_CPSR EQU (16*4) ;CPSR
|
|
||||||
S_PC EQU (15*4) ;R15
|
S_PC EQU (15*4) ;R15
|
||||||
;S_LR EQU (14*4) ;R14
|
|
||||||
;S_SP EQU (13*4) ;R13
|
|
||||||
|
|
||||||
;S_IP EQU (12*4) ;R12
|
|
||||||
;S_FP EQU (11*4) ;R11
|
|
||||||
;S_R10 EQU (10*4)
|
|
||||||
;S_R9 EQU (9*4)
|
|
||||||
;S_R8 EQU (8*4)
|
|
||||||
;S_R7 EQU (7*4)
|
|
||||||
;S_R6 EQU (6*4)
|
|
||||||
;S_R5 EQU (5*4)
|
|
||||||
;S_R4 EQU (4*4)
|
|
||||||
;S_R3 EQU (3*4)
|
|
||||||
;S_R2 EQU (2*4)
|
|
||||||
;S_R1 EQU (1*4)
|
|
||||||
;S_R0 EQU (0*4)
|
|
||||||
|
|
||||||
MODE_USR EQU 0X10
|
MODE_USR EQU 0X10
|
||||||
MODE_FIQ EQU 0X11
|
MODE_FIQ EQU 0X11
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -13,51 +13,51 @@
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
/*
|
/*
|
||||||
-->High Address,Stack Top
|
-->High Address,Stack Top
|
||||||
PC<-----|
|
PC<------|
|
||||||
LR |
|
LR |
|
||||||
IP |
|
IP |
|
||||||
FP |
|
FP |
|
||||||
...... |
|
...... |
|
||||||
PC<-| |
|
PC <-| |
|
||||||
LR | |
|
LR | |
|
||||||
IP | |
|
IP | |
|
||||||
FP---|-- |
|
FP---|-- |
|
||||||
...... |
|
...... |
|
||||||
PC |
|
PC |
|
||||||
LR |
|
LR |
|
||||||
IP |
|
IP |
|
||||||
FP---
|
FP---
|
||||||
-->Low Address,Stack Bottom
|
-->Low Address,Stack Bottom
|
||||||
*/
|
*/
|
||||||
void rt_hw_backtrace(rt_uint32_t *fp, rt_uint32_t thread_entry)
|
void rt_hw_backtrace(rt_uint32_t *fp, rt_uint32_t thread_entry)
|
||||||
{
|
{
|
||||||
rt_uint32_t i, pc, func_entry;
|
rt_uint32_t i, pc, func_entry;
|
||||||
|
|
||||||
pc = *fp;
|
pc = *fp;
|
||||||
rt_kprintf("[0x%x]\n", pc-0xC);
|
rt_kprintf("[0x%x]\n", pc-0xC);
|
||||||
|
|
||||||
for(i=0; i<10; i++)
|
for(i=0; i<10; i++)
|
||||||
{
|
{
|
||||||
fp = (rt_uint32_t *)*(fp - 3);
|
fp = (rt_uint32_t *)*(fp - 3);
|
||||||
pc = *fp ;
|
pc = *fp ;
|
||||||
|
|
||||||
func_entry = pc - 0xC;
|
func_entry = pc - 0xC;
|
||||||
|
|
||||||
if(func_entry <= 0x30000000) break;
|
if(func_entry <= 0x30000000) break;
|
||||||
|
|
||||||
if(func_entry == thread_entry)
|
if(func_entry == thread_entry)
|
||||||
{
|
{
|
||||||
rt_kprintf("EntryPoint:0x%x\n", func_entry);
|
rt_kprintf("EntryPoint:0x%x\n", func_entry);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
rt_kprintf("[0x%x]\n", func_entry);
|
rt_kprintf("[0x%x]\n", func_entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
void rt_hw_backtrace(rt_uint32_t *fp, rt_uint32_t thread_entry)
|
void rt_hw_backtrace(rt_uint32_t *fp, rt_uint32_t thread_entry)
|
||||||
{
|
{
|
||||||
/* old compiler implementation */
|
/* old compiler implementation */
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_iar.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2009, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * The license and distribution terms for this file may be
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2009, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * The license and distribution terms for this file may be
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_iar.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006 - 2013, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * The license and distribution terms for this file may be
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * The license and distribution terms for this file may be
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_iar.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * The license and distribution terms for this file may be
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_iar.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * The license and distribution terms for this file may be
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * The license and distribution terms for this file may be
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,14 +1,10 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_ccs.asm
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * 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
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
; * 2009-01-20 Bernard first version
|
; * 2009-01-20 Bernard first version
|
||||||
; * 2011-07-22 Bernard added thumb mode porting
|
; * 2011-07-22 Bernard added thumb mode porting
|
||||||
; * 2013-05-24 Grissiom port to CCS
|
; * 2013-05-24 Grissiom port to CCS
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,21 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * This file is part of RT-Thread RTOS
|
|
||||||
; * COPYRIGHT (C) 2006, RT-Thread Development Team
|
|
||||||
; *
|
; *
|
||||||
; * This program is free software; you can redistribute it and/or modify
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * it under the terms of the GNU General Public License as published by
|
|
||||||
; * the Free Software Foundation; either version 2 of the License, or
|
|
||||||
; * (at your option) any later version.
|
|
||||||
; *
|
|
||||||
; * This program is distributed in the hope that it will be useful,
|
|
||||||
; * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
; * GNU General Public License for more details.
|
|
||||||
; *
|
|
||||||
; * You should have received a copy of the GNU General Public License along
|
|
||||||
; * with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * 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
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * 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
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -1,17 +1,23 @@
|
||||||
Import('rtconfig')
|
# RT-Thread building script for component
|
||||||
|
|
||||||
from building import *
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
cwd = GetCurrentDir()
|
cwd = GetCurrentDir()
|
||||||
src = Glob('*.c')
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
if rtconfig.PLATFORM == 'iar':
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
src += Glob('*_iar.S')
|
src += Glob('*_rvds.S')
|
||||||
elif rtconfig.PLATFORM == 'gcc':
|
|
||||||
src += Glob('*_gcc.S')
|
|
||||||
elif rtconfig.PLATFORM == 'armcc':
|
|
||||||
src += Glob('*_rvds.S')
|
|
||||||
|
|
||||||
group = DefineGroup('AM335x', src, depend = [''], CPPPATH = CPPPATH)
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
Return('group')
|
Return('group')
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * 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
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * 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
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
|
src += Glob('*_rvds.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,11 +1,7 @@
|
||||||
;/*
|
;/*
|
||||||
; * File : context_rvds.S
|
; * Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
; * 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
|
; * SPDX-License-Identifier: Apache-2.0
|
||||||
; * found in the file LICENSE in this distribution or at
|
|
||||||
; * http://www.rt-thread.org/license/LICENSE
|
|
||||||
; *
|
; *
|
||||||
; * Change Logs:
|
; * Change Logs:
|
||||||
; * Date Author Notes
|
; * Date Author Notes
|
||||||
|
|
|
@ -1,17 +1,23 @@
|
||||||
Import('rtconfig')
|
# RT-Thread building script for component
|
||||||
|
|
||||||
from building import *
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
cwd = GetCurrentDir()
|
cwd = GetCurrentDir()
|
||||||
src = Glob('*.c')
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
|
|
||||||
if rtconfig.PLATFORM == 'iar':
|
if rtconfig.PLATFORM == 'armcc':
|
||||||
src += Glob('*_iar.S')
|
src += Glob('*_rvds.S')
|
||||||
elif rtconfig.PLATFORM == 'gcc':
|
|
||||||
src += Glob('*_gcc.S')
|
|
||||||
elif rtconfig.PLATFORM == 'armcc':
|
|
||||||
src += Glob('*_rvds.S')
|
|
||||||
|
|
||||||
group = DefineGroup('AM1808', src, depend = [''], CPPPATH = CPPPATH)
|
if rtconfig.PLATFORM == 'gcc':
|
||||||
|
src += Glob('*_init.S')
|
||||||
|
src += Glob('*_gcc.S')
|
||||||
|
|
||||||
|
if rtconfig.PLATFORM == 'iar':
|
||||||
|
src += Glob('*_iar.S')
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH)
|
||||||
|
|
||||||
Return('group')
|
Return('group')
|
||||||
|
|
|
@ -1,21 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
|
* Copyright (c) 2006-2018, Shanghai Real-Thread Technology Co., Ltd
|
||||||
*
|
*
|
||||||
* All rights reserved.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* Change Logs:
|
||||||
* it under the terms of the GNU General Public License as published by
|
* Date Author Notes
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* 2009-01-20 Bernard first version
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define NOINT 0xc0
|
#define NOINT 0xc0
|
||||||
|
|
|
@ -1,24 +1,15 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2013-07-20 Bernard first version
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef __CP15_H__
|
#ifndef __CP15_H__
|
||||||
#define __CP15_H__
|
#define __CP15_H__
|
||||||
/*
|
|
||||||
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
|
|
||||||
*
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
unsigned long rt_cpu_get_smp_id(void);
|
unsigned long rt_cpu_get_smp_id(void);
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
* All rights reserved.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* Change Logs:
|
||||||
* it under the terms of the GNU General Public License as published by
|
* Date Author Notes
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* 2013-07-20 Bernard first version
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
|
|
@ -1,21 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
* All rights reserved.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* Change Logs:
|
||||||
* it under the terms of the GNU General Public License as published by
|
* Date Author Notes
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* 2013-07-20 Bernard first version
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __GIC_H__
|
#ifndef __GIC_H__
|
||||||
|
|
|
@ -1,24 +1,15 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Change Logs:
|
||||||
|
* Date Author Notes
|
||||||
|
* 2013-07-20 Bernard first version
|
||||||
|
*/
|
||||||
|
|
||||||
#ifndef __INTERRUPT_H__
|
#ifndef __INTERRUPT_H__
|
||||||
#define __INTERRUPT_H__
|
#define __INTERRUPT_H__
|
||||||
/*
|
|
||||||
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
|
|
||||||
*
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
void rt_hw_interrupt_clear(int vector);
|
void rt_hw_interrupt_clear(int vector);
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
* All rights reserved.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* Change Logs:
|
||||||
* it under the terms of the GNU General Public License as published by
|
* Date Author Notes
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* 2013-07-20 Bernard first version
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
|
|
@ -1,21 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT (C) 2013-2014, Shanghai Real-Thread Technology Co., Ltd
|
* Copyright (c) 2006-2018, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
* All rights reserved.
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* Change Logs:
|
||||||
* it under the terms of the GNU General Public License as published by
|
* Date Author Notes
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* 2013-07-20 Bernard first version
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License along
|
|
||||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_vdsp.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,18 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# add common code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,18 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# add common code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,232 +0,0 @@
|
||||||
/*
|
|
||||||
* Cache operations for the cache instruction.
|
|
||||||
*
|
|
||||||
* This file is subject to the terms and conditions of the GNU General Public
|
|
||||||
* License. See the file "COPYING" in the main directory of this archive
|
|
||||||
* for more details.
|
|
||||||
*
|
|
||||||
* (C) Copyright 1996, 97, 99, 2002, 03 Ralf Baechle
|
|
||||||
* (C) Copyright 1999 Silicon Graphics, Inc.
|
|
||||||
*/
|
|
||||||
#ifndef __CACHE_H__
|
|
||||||
#define __CACHE_H__
|
|
||||||
|
|
||||||
|
|
||||||
#define KUSEG 0x00000000
|
|
||||||
#define KSEG0 0x80000000
|
|
||||||
#define KSEG1 0xa0000000
|
|
||||||
#define KSEG2 0xc0000000
|
|
||||||
#define KSEG3 0xe0000000
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Cache Operations available on all MIPS processors with R4000-style caches
|
|
||||||
*/
|
|
||||||
#define Index_Invalidate_I 0x00
|
|
||||||
#define Index_Writeback_Inv_D 0x01
|
|
||||||
#define Index_Load_Tag_I 0x04
|
|
||||||
#define Index_Load_Tag_D 0x05
|
|
||||||
#define Index_Store_Tag_I 0x08
|
|
||||||
#define Index_Store_Tag_D 0x09
|
|
||||||
|
|
||||||
#define Hit_Invalidate_I 0x10
|
|
||||||
#define Hit_Invalidate_D 0x11
|
|
||||||
#define Hit_Writeback_Inv_D 0x15
|
|
||||||
#define Hit_Writeback_I 0x18
|
|
||||||
#define Hit_Writeback_D 0x19
|
|
||||||
|
|
||||||
/*
|
|
||||||
*The lock state is cleared by executing an Index
|
|
||||||
Invalidate, Index Writeback Invalidate, Hit
|
|
||||||
Invalidate, or Hit Writeback Invalidate
|
|
||||||
operation to the locked line, or via an Index
|
|
||||||
Store Tag operation with the lock bit reset in
|
|
||||||
the TagLo register.
|
|
||||||
*/
|
|
||||||
#define Fetch_And_Lock_I 0x1c
|
|
||||||
#define Fetch_And_Lock_D 0x1d
|
|
||||||
/*
|
|
||||||
* R4000-specific cacheops
|
|
||||||
*/
|
|
||||||
#define Create_Dirty_Excl_D 0x0d
|
|
||||||
#define Fill 0x14
|
|
||||||
|
|
||||||
/*
|
|
||||||
* R4000SC and R4400SC-specific cacheops
|
|
||||||
*/
|
|
||||||
#define Index_Invalidate_SI 0x02
|
|
||||||
#define Index_Writeback_Inv_SD 0x03
|
|
||||||
#define Index_Load_Tag_SI 0x06
|
|
||||||
#define Index_Load_Tag_SD 0x07
|
|
||||||
#define Index_Store_Tag_SI 0x0A
|
|
||||||
#define Index_Store_Tag_SD 0x0B
|
|
||||||
#define Create_Dirty_Excl_SD 0x0f
|
|
||||||
#define Hit_Invalidate_SI 0x12
|
|
||||||
#define Hit_Invalidate_SD 0x13
|
|
||||||
#define Hit_Writeback_Inv_SD 0x17
|
|
||||||
#define Hit_Writeback_SD 0x1b
|
|
||||||
#define Hit_Set_Virtual_SI 0x1e
|
|
||||||
#define Hit_Set_Virtual_SD 0x1f
|
|
||||||
|
|
||||||
/*
|
|
||||||
* R5000-specific cacheops
|
|
||||||
*/
|
|
||||||
#define R5K_Page_Invalidate_S 0x17
|
|
||||||
|
|
||||||
/*
|
|
||||||
* RM7000-specific cacheops
|
|
||||||
*/
|
|
||||||
#define Page_Invalidate_T 0x16
|
|
||||||
|
|
||||||
/*
|
|
||||||
* R1000-specific cacheops
|
|
||||||
*
|
|
||||||
* Cacheops 0x02, 0x06, 0x0a, 0x0c-0x0e, 0x16, 0x1a and 0x1e are unused.
|
|
||||||
* Most of the _S cacheops are identical to the R4000SC _SD cacheops.
|
|
||||||
*/
|
|
||||||
#define Index_Writeback_Inv_S 0x03
|
|
||||||
#define Index_Load_Tag_S 0x07
|
|
||||||
#define Index_Store_Tag_S 0x0B
|
|
||||||
#define Hit_Invalidate_S 0x13
|
|
||||||
#define Cache_Barrier 0x14
|
|
||||||
#define Hit_Writeback_Inv_S 0x17
|
|
||||||
#define Index_Load_Data_I 0x18
|
|
||||||
#define Index_Load_Data_D 0x19
|
|
||||||
#define Index_Load_Data_S 0x1b
|
|
||||||
#define Index_Store_Data_I 0x1c
|
|
||||||
#define Index_Store_Data_D 0x1d
|
|
||||||
#define Index_Store_Data_S 0x1f
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLER__
|
|
||||||
|
|
||||||
#ifndef dcache_size
|
|
||||||
#define dcache_size (g_mips_core.dcache_ways * g_mips_core.dcache_lines_per_way * g_mips_core.dcache_line_size)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef icache_size
|
|
||||||
#define icache_size (g_mips_core.dcache_ways * g_mips_core.dcache_lines_per_way * g_mips_core.dcache_line_size)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef cpu_dcache_line_size
|
|
||||||
#define cpu_dcache_line_size() g_mips_core.icache_line_size
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef cpu_icache_line_size
|
|
||||||
#define cpu_icache_line_size() g_mips_core.icache_line_size
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define cache_op(op, addr) \
|
|
||||||
__asm__ __volatile__( \
|
|
||||||
" .set noreorder \n" \
|
|
||||||
" .set mips3\n\t \n" \
|
|
||||||
" cache %0, %1 \n" \
|
|
||||||
" .set mips0 \n" \
|
|
||||||
" .set reorder" \
|
|
||||||
: \
|
|
||||||
: "i" (op), "m" (*(unsigned char *)(addr)))
|
|
||||||
|
|
||||||
#define cache16_unroll32(base, op) \
|
|
||||||
__asm__ __volatile__( \
|
|
||||||
" .set noreorder \n" \
|
|
||||||
" .set mips3 \n" \
|
|
||||||
" cache %1, 0x000(%0); cache %1, 0x010(%0) \n" \
|
|
||||||
" cache %1, 0x020(%0); cache %1, 0x030(%0) \n" \
|
|
||||||
" cache %1, 0x040(%0); cache %1, 0x050(%0) \n" \
|
|
||||||
" cache %1, 0x060(%0); cache %1, 0x070(%0) \n" \
|
|
||||||
" cache %1, 0x080(%0); cache %1, 0x090(%0) \n" \
|
|
||||||
" cache %1, 0x0a0(%0); cache %1, 0x0b0(%0) \n" \
|
|
||||||
" cache %1, 0x0c0(%0); cache %1, 0x0d0(%0) \n" \
|
|
||||||
" cache %1, 0x0e0(%0); cache %1, 0x0f0(%0) \n" \
|
|
||||||
" cache %1, 0x100(%0); cache %1, 0x110(%0) \n" \
|
|
||||||
" cache %1, 0x120(%0); cache %1, 0x130(%0) \n" \
|
|
||||||
" cache %1, 0x140(%0); cache %1, 0x150(%0) \n" \
|
|
||||||
" cache %1, 0x160(%0); cache %1, 0x170(%0) \n" \
|
|
||||||
" cache %1, 0x180(%0); cache %1, 0x190(%0) \n" \
|
|
||||||
" cache %1, 0x1a0(%0); cache %1, 0x1b0(%0) \n" \
|
|
||||||
" cache %1, 0x1c0(%0); cache %1, 0x1d0(%0) \n" \
|
|
||||||
" cache %1, 0x1e0(%0); cache %1, 0x1f0(%0) \n" \
|
|
||||||
" .set mips0 \n" \
|
|
||||||
" .set reorder \n" \
|
|
||||||
: \
|
|
||||||
: "r" (base), \
|
|
||||||
"i" (op));
|
|
||||||
|
|
||||||
|
|
||||||
static inline void flush_icache_line_indexed(rt_ubase_t addr)
|
|
||||||
{
|
|
||||||
cache_op(Index_Invalidate_I, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void flush_dcache_line_indexed(rt_ubase_t addr)
|
|
||||||
{
|
|
||||||
cache_op(Index_Writeback_Inv_D, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void flush_icache_line(rt_ubase_t addr)
|
|
||||||
{
|
|
||||||
cache_op(Hit_Invalidate_I, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void lock_icache_line(rt_ubase_t addr)
|
|
||||||
{
|
|
||||||
cache_op(Fetch_And_Lock_I, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void lock_dcache_line(rt_ubase_t addr)
|
|
||||||
{
|
|
||||||
cache_op(Fetch_And_Lock_D, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void flush_dcache_line(rt_ubase_t addr)
|
|
||||||
{
|
|
||||||
cache_op(Hit_Writeback_Inv_D, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void invalidate_dcache_line(rt_ubase_t addr)
|
|
||||||
{
|
|
||||||
cache_op(Hit_Invalidate_D, addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void blast_dcache16(void)
|
|
||||||
{
|
|
||||||
rt_ubase_t start = KSEG0;
|
|
||||||
rt_ubase_t end = start + dcache_size;
|
|
||||||
rt_ubase_t addr;
|
|
||||||
|
|
||||||
for (addr = start; addr < end; addr += 0x200)
|
|
||||||
cache16_unroll32(addr, Index_Writeback_Inv_D);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void inv_dcache16(void)
|
|
||||||
{
|
|
||||||
rt_ubase_t start = KSEG0;
|
|
||||||
rt_ubase_t end = start + dcache_size;
|
|
||||||
rt_ubase_t addr;
|
|
||||||
|
|
||||||
for (addr = start; addr < end; addr += 0x200)
|
|
||||||
cache16_unroll32(addr, Hit_Invalidate_D);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void blast_icache16(void)
|
|
||||||
{
|
|
||||||
rt_ubase_t start = KSEG0;
|
|
||||||
rt_ubase_t end = start + icache_size;
|
|
||||||
rt_ubase_t addr;
|
|
||||||
|
|
||||||
for (addr = start; addr < end; addr += 0x200)
|
|
||||||
cache16_unroll32(addr, Index_Invalidate_I);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void r4k_cache_init(void);
|
|
||||||
void r4k_cache_flush_all(void);
|
|
||||||
void r4k_icache_flush_all(void);
|
|
||||||
void r4k_icache_flush_range(rt_ubase_t addr, rt_ubase_t size);
|
|
||||||
void r4k_icache_lock_range(rt_ubase_t addr, rt_ubase_t size);
|
|
||||||
void r4k_dcache_inv(rt_ubase_t addr, rt_ubase_t size);
|
|
||||||
void r4k_dcache_wback_inv(rt_ubase_t addr, rt_ubase_t size);
|
|
||||||
|
|
||||||
#endif /*end of __ASSEMBLER__ */
|
|
||||||
|
|
||||||
#endif /* end of __CACHE_H__ */
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,18 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# add common code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -21,20 +21,20 @@
|
||||||
#define PPC_REG unsigned long
|
#define PPC_REG unsigned long
|
||||||
|
|
||||||
struct pt_regs {
|
struct pt_regs {
|
||||||
PPC_REG gpr[32];
|
PPC_REG gpr[32];
|
||||||
PPC_REG nip;
|
PPC_REG nip;
|
||||||
PPC_REG msr;
|
PPC_REG msr;
|
||||||
PPC_REG orig_gpr3; /* Used for restarting system calls */
|
PPC_REG orig_gpr3; /* Used for restarting system calls */
|
||||||
PPC_REG ctr;
|
PPC_REG ctr;
|
||||||
PPC_REG link;
|
PPC_REG link;
|
||||||
PPC_REG xer;
|
PPC_REG xer;
|
||||||
PPC_REG ccr;
|
PPC_REG ccr;
|
||||||
PPC_REG mq; /* 601 only (not used at present) */
|
PPC_REG mq; /* 601 only (not used at present) */
|
||||||
/* Used on APUS to hold IPL value. */
|
/* Used on APUS to hold IPL value. */
|
||||||
PPC_REG trap; /* Reason for being here */
|
PPC_REG trap; /* Reason for being here */
|
||||||
PPC_REG dar; /* Fault registers */
|
PPC_REG dar; /* Fault registers */
|
||||||
PPC_REG dsisr;
|
PPC_REG dsisr;
|
||||||
PPC_REG result; /* Result of a system call */
|
PPC_REG result; /* Result of a system call */
|
||||||
}__attribute__((packed)) CELL_STACK_FRAME_t;
|
}__attribute__((packed)) CELL_STACK_FRAME_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,18 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# add common code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, 'common', 'SConscript'))
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,12 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -1,13 +1,14 @@
|
||||||
Import('rtconfig')
|
# RT-Thread building script for component
|
||||||
|
|
||||||
from building import *
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
cwd = GetCurrentDir()
|
cwd = GetCurrentDir()
|
||||||
src = Glob('*.c')
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
CPPPATH = [cwd]
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
if rtconfig.PLATFORM == 'gcc':
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
src += Glob('*_gcc.S')
|
|
||||||
|
|
||||||
group = DefineGroup('libcpu', src, depend = [''], CPPPATH = CPPPATH)
|
|
||||||
|
|
||||||
Return('group')
|
Return('group')
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_iar.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*.s')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,15 @@
|
||||||
|
# RT-Thread building script for bridge
|
||||||
|
|
||||||
|
import os
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
group = []
|
||||||
|
list = os.listdir(cwd)
|
||||||
|
|
||||||
|
# cpu porting code files
|
||||||
|
group = group + SConscript(os.path.join(cwd, rtconfig.CPU, 'SConscript'))
|
||||||
|
|
||||||
|
Return('group')
|
|
@ -0,0 +1,14 @@
|
||||||
|
# RT-Thread building script for component
|
||||||
|
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
Import('rtconfig')
|
||||||
|
|
||||||
|
cwd = GetCurrentDir()
|
||||||
|
src = Glob('*.c') + Glob('*.cpp') + Glob('*_gcc.S')
|
||||||
|
CPPPATH = [cwd]
|
||||||
|
ASFLAGS = ''
|
||||||
|
|
||||||
|
group = DefineGroup('cpu', src, depend = [''], CPPPATH = CPPPATH, ASFLAGS = ASFLAGS)
|
||||||
|
|
||||||
|
Return('group')
|
Loading…
Reference in New Issue