Linux编译STM32出错

2019-08-14 18:58发布

eclipse开发STM32程序碰到
__asm void WFI_SET(void)
{        WFI;}//关闭所有中断__asm void INTX_DISABLE(void){        CPSID I;}//开启所有中断__asm void INTX_ENABLE(void){        CPSIE I;}//设置栈顶地址//addr:栈顶地址__asm void MSR_MSP(u32 addr){    MSR MSP, r0                         //set Main Stack value    BX r14}这些汇编指令不能编译,请问大神们如何解决这个问题
上图 WechatIMG2.jpeg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
hasaki
1楼-- · 2019-08-14 20:51
你这很明显语句错误你检查一下是不是少什么了
huang_liquan
2楼-- · 2019-08-15 00:57
hasaki 发表于 2017-8-5 10:08
你这很明显语句错误你检查一下是不是少什么了

这个是从原子的寄存器例程移植的,不知道怎么改
ktoto2011
3楼-- · 2019-08-15 04:38
 精彩回答 2  元偷偷看……
huang_liquan
4楼-- · 2019-08-15 05:16
以上语句修改成如下形式void WFI_SET(void)
{
        __asm(
                        "WFI"
        );
}

//关闭所有中断
void INTX_DISABLE(void)
{
         __asm(
                         "CPSID I"
         );
}
//开启所有中断
void INTX_ENABLE(void)
{
         __asm(
                         "CPSIE I"
         );
}
//设置栈顶地址
//addr:栈顶地址
void MSR_MSP(u32 addr)//set Main Stack value
{
        __asm(
                        "MSR MSP, r0 "
                        "BX r14"
        );
}
编译器不报错了
但是又有一个问题
WechatIMG22.jpeg
问题是我没有在工程里面添加exit.c啊,谁知道这报的错误从何而来
huang_liquan
5楼-- · 2019-08-15 06:18
huang_liquan 发表于 2017-8-5 12:21
以上语句修改成如下形式void WFI_SET(void)
{
        __asm(

在网上随便找了个编译连接脚本,代码编译通过了,但是好像有点问题,date段没有数据,会不会有什么问题
WechatIMG1153.jpeg

LED_TEST.tar.gz (846.5 KB, 下载次数: 75) 2017-8-5 14:14 上传 点击文件名下载附件


一周热门 更多>