原创 C语言的interwork实例(thumb指令集和arm指令集混合调用)

2013-6-27 09:57 1991 11 11 分类: MCU/ 嵌入式 文集: ARM

/************************************************************************

*thumbmain.c*

*该程序是Thumb程序,子程序arm_function(void)为ARM程序*

*************************************************************************/

#include<stdio.h>

extern void arm_function(void);

int main(void)

{

printf("Hello from Thumb World \n");

arm_function();

printf("And goodbye from Thumb World\n");

return(0);

}

/************************************************************************

*armsub.c*

*该程序是ARM程序*

*************************************************************************/

#include <stdio.h>

void arm_function(void)

{

printf("Hello and Goodbye from ARM World\n");

}

通过下面的操作编译,连接该例子。

(1)使用命令 tcc -c -apcs /interwork -o thumbmain.o thumbmian.c 编译该Thumb代码

(2)使用命令 armcc -c -apcs /interwork  -o armsub.o armsub.c编译ARM代码。

(3)使用命令armlink -o hello armsub.o thumbmain.o连接目标代码。

通过armlink -info veneers armsub.o thumbmain.o可以显示连接器添加的用于程序状态切换的代码情况

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
11
关闭 站长推荐上一条 /3 下一条