diff --git a/components/finsh/SConscript b/components/finsh/SConscript index 9c5bd0c37e54b9802bbdf4fb072fbf7b307a2fe2..8eeb67df38eb854d8c4042fb4dcd011b707ffb4f 100644 --- a/components/finsh/SConscript +++ b/components/finsh/SConscript @@ -5,10 +5,10 @@ from building import * src = Glob('*.c') CPPPATH = [RTT_ROOT + '/components/finsh'] if rtconfig.CROSS_TOOL == 'keil': - LINKFLAGS = ' --keep __fsym_* --keep __vsym_*' + LINKFLAGS = ' --keep __fsym_* --keep __vsym_* ' else: - LINKFLAGS = '' + LINKFLAGS = '' -group = DefineGroup('finsh', src, depend = ['RT_USING_FINSH'], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS) +group = DefineGroup('finsh', src, depend = ['RT_USING_FINSH'], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS, LIBRARY = '') Return('group') diff --git a/libcpu/arm/s3c24x0/start_rvds.S b/libcpu/arm/s3c24x0/start_rvds.S index 5ca6f94022b58f406b2ee36fda701cd23ecbe961..89fca25c39d0fdd3cc89eb0326cc786f97ea6a29 100644 --- a/libcpu/arm/s3c24x0/start_rvds.S +++ b/libcpu/arm/s3c24x0/start_rvds.S @@ -1137,7 +1137,7 @@ rt_hw_context_switch_interrupt_do PROC MRS r3, spsr ; get cpsr of interrupt thread ; switch to SVC mode and no interrupt - MSR cpsr_c, #I_Bit|F_Bit|Mode_SVC + MSR cpsr_c, #I_Bit:OR:F_Bit:OR:Mode_SVC STMFD sp!, {r2} ; push old task's pc STMFD sp!, {r4-r12,lr}; push old task's lr,r12-r4 diff --git a/src/SConscript b/src/SConscript index 01bd92942543d00e34af4d39f18ae3366450a1a8..77018f4d2c5e1b0674bdfd13f6be6d20c5ac6505 100644 --- a/src/SConscript +++ b/src/SConscript @@ -1,8 +1,13 @@ Import('RTT_ROOT') +Import('rtconfig') from building import * src = Glob('*.c') CPPPATH = [RTT_ROOT + '/include'] -group = DefineGroup('Kernel', src, depend = [''], CPPPATH = CPPPATH) +if rtconfig.CROSS_TOOL == 'keil' and GetDepend('RT_USING_MODULE') == True: + LINKFLAGS = ' --keep __rtmsym_* ' +else: + LINKFLAGS = '' +group = DefineGroup('Kernel', src, depend = [''], CPPPATH = CPPPATH, LINKFLAGS = LINKFLAGS) Return('group')