OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3735|回复: 6

我把SYS.C文件放到IAR的工程里来 编译不正确 有人知道怎么改吗

[复制链接]

26

主题

63

帖子

0

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2016-4-6
在线时间
102 小时
发表于 2016-8-12 14:11:10 | 显示全部楼层 |阅读模式
1金钱

QQ截图20160812141044.png

最佳答案

查看完整内容[请看2#楼]

IAR下面,要用类似GCC的语法Syntax The syntax of an inline assembler statement is (similar to the one used by GNU gcc): asm[/backcolor] [volatile]( string [assembler-interface]) string can contain one or more valid assembler instructions or data definition assembler directives, separated by \n. For example: asm[/backcolor]("label:nop\n" "b label"); [mw_shl_code=c,true]void WFI_SET(void) { ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522
金钱
1522
注册时间
2014-5-16
在线时间
217 小时
发表于 2016-8-12 14:11:11 | 显示全部楼层
IAR下面,要用类似GCC的语法Syntax
The syntax of an inline assembler statement is (similar to the one used by GNU gcc):
asm [volatile]( string [assembler-interface])
string can contain one or more valid assembler instructions or data definition assembler directives, separated by \n.
For example:
asm("label:nop\n"
    "b label");
[mw_shl_code=c,true]void WFI_SET(void)
{
        asm("WFI");
}

void INTX_DISABLE(void)
{
        asm("CPSID I\n"
                "BX LR");
}[/mw_shl_code]

回复

使用道具 举报

26

主题

63

帖子

0

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2016-4-6
在线时间
102 小时
 楼主| 发表于 2016-8-12 14:25:05 | 显示全部楼层
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2016-8-12 16:22:58 | 显示全部楼层
这些汇编语言在IAR中不支持,找一下IAR中的C语言内嵌汇编怎么写的吧
回复

使用道具 举报

26

主题

63

帖子

0

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2016-4-6
在线时间
102 小时
 楼主| 发表于 2016-8-15 09:47:03 | 显示全部楼层
zmingwang 发表于 2016-8-12 14:11
IAR下面,要用类似GCC的语法Syntax
The syntax of an inline assembler statement is (similar to the one  ...

void MSR_MSP(u32 addr)
{
        asm("MSR MSP  r0"                         //set Main Stack value
        "BX     r14");
}
我依照你的改的  这个改的不对 错在哪里呢
回复

使用道具 举报

5

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522
金钱
1522
注册时间
2014-5-16
在线时间
217 小时
发表于 2016-8-15 10:42:22 | 显示全部楼层
机械式teli 发表于 2016-8-15 09:47
void MSR_MSP(u32 addr)
{
        asm("MSR MSP  r0"                         //set Main Stack value

多行汇编每条指令之后需要一个\n
哥们都不带看帮助文档的么
回复

使用道具 举报

26

主题

63

帖子

0

精华

高级会员

Rank: 4

积分
506
金钱
506
注册时间
2016-4-6
在线时间
102 小时
 楼主| 发表于 2016-8-15 11:33:32 | 显示全部楼层
zmingwang 发表于 2016-8-15 10:42
多行汇编每条指令之后需要一个\n
哥们都不带看帮助文档的么

\n加上去也不对
void MSR_MSP(u32 addr)
{
  asm("MSR MSP  r0\n"                         //set Main Stack value
        "BX     r14");
}
void MSR_MSP(u32 addr)
{
  asm("MSR_MSP  r0\n"                         //set Main Stack value
        "BX     r14");
}
这两种都不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 03:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表