TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS4.2下的混编问题

最近在CCS4.2下写移植barebox(bootloader),但是每当需要将汇编的返回参数传到c中的临时变量里面,总是无法通过编译,例图下列代码:

u32 get_base(void)

{

u32 val = 0x0;

asm(" mov r0, pc ");

asm(" str r0, val ");

val &= 0xF0000000;

val >>= 28;

return val;

}

报错提示:

[E0001]

        Undefined symbol

str r0, val

[E0001]

        Address must be defined in the current section

str r0, val

[E0004]

        Illegal operand

str r0, val

Assembly Errors, No Assembly Warnings

 val

Errors in Source – Assembler Aborted

又比如:

void noting(void)

{

for(;;);

}

void expection_vectors(void)

{

asm(" ldr pc, =noting ");

}

请相关专家帮忙解决一下,谢谢了!

mike lee:

回复 Yaoming Qin:

在CCS下移植GCC的项目本生就是个错误,跟何况bootloader

Yaoming Qin:

回复 mike lee:

我没明白你的意思,我觉得你没有必要依赖于ccs来做移植,你能说说你的想法么

mike lee:

回复 Yaoming Qin:

主要是想利用XDS560v2调试一些底层的东西,但是发现太嘛烦,所以只有基于操作系统的开发…

赞(0)
未经允许不得转载:TI中文支持网 » CCS4.2下的混编问题
分享到: 更多 (0)