打印

ARM汇编

[复制链接]
7890|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2021-6-24 09:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
将一个stm32f40X的keil项目该城ARM-NONE-EABI-xxx的,使用make管理项目
发现keil和gcc对内联汇编的格式是不一样的,下面需要从keil转成gcc的:

//THUMB指令不支持汇编内联
//采用如下方法实现执行汇编指令WFI  
__asm void WFI_SET(void)
{
        WFI;                  
}
//关闭所有中断(但是不包括fault和NMI中断)
__asm void INTX_DISABLE(void)
{
        CPSID   I
        BX      LR          
}
//开启所有中断
__asm void INTX_ENABLE(void)
{
        CPSIE   I
        BX      LR  
}
//设置栈顶地址
//addr:栈顶地址
__asm void MSR_MSP(u32 addr)
{
        MSR MSP, r0                         //set Main Stack value
        BX r14
}


转了前三个函数,不知道有没有问题:
//THUMB指令不支持汇编内联
//采用如下方法实现执行汇编指令WFI  
void WFI_SET(void)                //鎵цWFI鎸囦护
{
        __asm volatile( "wfi" );
}

//关闭所有中断(但是不包括fault和NMI中断)
void INTX_DISABLE(void)//鍏抽棴鎵€鏈変腑鏂?
{
        __asm volatile( "cpsid i" );
        __asm volatile( "bx lr" );
}

//开启所有中断
void INTX_ENABLE(void)//寮€鍚墍鏈変腑鏂?
{
        __asm volatile( "cpsie i" );
        __asm volatile( "bx lr" );
}

//设置栈顶地址
//addr:栈顶地址
void MSR_MSP(u32 addr)        //璁剧疆鍫嗘爤鍦板潃
{

}


使用特权

评论回复

相关帖子

沙发
keer_zu|  楼主 | 2021-6-24 09:47 | 只看该作者
这是改写之后的结果:
//THUMB指令不支持汇编内联
//采用如下方法实现执行汇编指令WFI  
void WFI_SET(void)                //鎵цWFI鎸囦护
{
        __asm volatile( "wfi" );
}

//关闭所有中断(但是不包括fault和NMI中断)
void INTX_DISABLE(void)//鍏抽棴鎵€鏈変腑鏂?
{
        __asm volatile
        (
                "cpsid   i     \n"
                "bx       lr    \n"
        );
}

//开启所有中断
void INTX_ENABLE(void)//寮€鍚墍鏈変腑鏂?
{
        __asm volatile
        (
                "cpsie   i     \n"
                "bx       lr    \n"
        );
       
}

//设置栈顶地址
//addr:栈顶地址
void MSR_MSP(u32 addr)        //璁剧疆鍫嗘爤鍦板潃
{
        __asm volatile
        (
        "        msr psp, r0                                                        \n"
        "        bx r14                                                                \n"
        );
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1313

主题

12256

帖子

53

粉丝