Hi hjhjhj,
I looked over this - but i'm afraid we will need to ask this question to the CodeWarrior community.
What i noticed is that CW does not take into consideration the macro VLE_IS_ON for the assembly
# Set the MSR[SPE] bit so code can use "evmergelo" instruction.
.equ MSR_Mask, 0x02000000
.ifdef VLE_IS_ON
.section .text_vle,text_vle ; The "text" generates symbols for debug
_start:
e_li r5, 0
mfmsr r5
e_lis r6, MSR_Mask@h
e_or2i r6, MSR_Mask@l
se_or r5,r6
mtmsr r5
se_isync
;# 1. 32 64-bit GPR0-31
e_lis r1, 0 ;# Initialize the lower 32-bits of GPR1 to 0
.else
.section .text,text
_start:
lis r5, 0
mfmsr r5
lis r6, MSR_Mask@h
ori r6, r6, MSR_Mask@l
or r5, r5,r6
mtmsr r5
isync
;# 1. 32 64-bit GPR0-31
lis r1, 0 ;# Initialize the lower 32-bits of GPR1 to 0
.endif
If you remove/comment out the .else part it seems to work.
The toolbox is using this these macros:
ASSEMBLY_TOOL_OPTS= -vle -DVLE_IS_ON $(TOOL_OPTS) -list -gccincludes -nostdinc to it cleary needs to by specified via CW too - but i can't find any places to add this to the CW ASSEMBLY via IDE.
Hope this helps!
Daniel