STM32的C与汇编语言混合编程
附件C语言调用汇编函数
添加文件
fun.s文件内容如下
AREA My_Function,CODE,READONLY
EXPORT Init_1
Init_1
MOV R1,#666
MOV R2,#888
LOOP
CMP R1,#10
BHS LOOP_END
ADD R2,#1
ADD R1,#1
B LOOP
LOOP_END
NOP
END
main.c文件内容如下
#include<stdio.h>
extern void Init_1(void);
int main(){
Init_1();
return 0;
}
调试编译
调试
编译
总结
函数好像没成功,跟之前一样的问题,没进入
修改后函数汇编
添加文件
fun.s文件内容如下
AREA My_Function,CODE,READONLY
EXPORT Init_1
ENTRY
Init_1
ADD R0,R0,#100
BX LR
END
main.c文件内容如下
#include<stdio.h>
extern int Init_1(int x);
int main(){
Init_1(30);
return 0;
}
编译调试
总结
结果同上
调用一个C 语言写的函数
需要加上IMPORT (函数名) 即可