将一个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) //璁剧疆鍫嗘爤鍦板潃
{
}
|