Keil下STM32的C与汇编语言混合编程

本文详细介绍了在Keil环境下,如何进行STM32的C语言与汇编语言混合编程。从C语言调用汇编函数遇到的access violation问题及其解决方法,到修改汇编函数类型以接收和返回整型参数,再到汇编函数中调用C语言函数的实现,每个步骤都有清晰的操作说明和代码示例,帮助读者深入理解C与汇编的交互过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、C语言调用汇编函数

首先先创建相关的文件和project

 

1. 在bibibi.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


2.在main.c中输入以下代码:

#include<stdio.h>

extern void Init_1(void);

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


3.随后进行编译调试

4.运行得到结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值