栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

stm32混合c语言编程

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

stm32混合c语言编程

stm32混合c语言编程
  • 根据一定了解keil建立工程里面创建文件
    • 断点设置完成进行单步运行
      • 改变函数可完成

根据一定了解keil建立工程里面创建文件

创建c语言程序加入工程里`

//main.c
# include

extern void	Init_1(void);

int main()
{
	
	Init_1();
	
	return 0;
}

//func.s
	AREA	MY_FUNCTION,CODE,READonLY
	EXPORT 	Init_1  ;//??c??????Init_1??????


; //?????????????????????????,????????????????

Init_1

	MOV R1,#0     ; //?R1????i
	MOV R2,#0	  ; //?R2????j
	
LOOP	;// ?????????????,?????????
	CMP R1,#10	  ; //??R1?10???
	BHS LOOP_END  	  ;// ??R1????10,????LOOP_END???,???????,?????????
	ADD R2,#1	  ; //j++
	ADD R1,#1     ; //i++
	B LOOP		  ; //??
	
LOOP_END
	NOP	
	
	END  ; //???????END,?????????,??????

将两个文件加入到工程里面

在main.c和func.s里面设置相关断点

断点设置完成进行单步运行


不断的单步运行会发现寄存器R1,R2会不断的加一到10

改变函数可完成
//func.s
AREA  My_Function,CODE,READONLY;
	EXPORT Init_1;
;
		
Init_1
    ADD R0,#100;//将R0与100相加	
	END;
//main.c
#include

extern int Init_1(int x);

int main()
	{
	
	Init_1(10);

	return 0;
}

即传递整形函数10 ,之后R0与100相加放入R0中

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316523.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号