锆石科技社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 702|回复: 6

__builtin_stwio 是什么

[复制链接]

7

主题

45

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
发表于 2017-1-28 21:49:54 | 显示全部楼层 |阅读模式
可以看到我用C语言指针直接写内存,编译后的汇编指令是stw
用 __builtin_stwio 编译后的汇编指令是stwio
__builtin_stwio 是什么?
是函数吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

发表于 2017-2-1 18:05:19 | 显示全部楼层
本帖最后由 锆石科技解答员 于 2017-2-1 18:07 编辑

#define IOWR(BASE, REGNUM, DATA) __builtin_stwio (__IO_CALC_ADDRESS_NATIVE ((BASE), (REGNUM)), (DATA))可以在 #include "io.h"头文件中找到
回复 支持 反对

使用道具 举报

7

主题

45

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
 楼主| 发表于 2017-2-1 20:16:08 | 显示全部楼层
锆石科技解答员 发表于 2017-2-1 18:05
#define IOWR(BASE, REGNUM, DATA) __builtin_stwio (__IO_CALC_ADDRESS_NATIVE ((BASE), (REGNUM)), (DATA ...

IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, 0xff);
展开后就是
__builtin_stwio((void *)PIO_LED_BASE, 0xff);
似乎不能继续展开了
我是想问__builtin_stwio是什么?
关键字?
函数?
应该不是宏定义了吧?

已经没办法继续展开了



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2017-2-1 21:03:28 | 显示全部楼层
人造人 发表于 2017-2-1 20:16
IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, 0xff);
展开后就是
__builtin_stwio((void *)PIO_LED_BASE ...

_builtin_stwio是一个函数,这个函数是Altera Nios II的内置函数,最底层了,不能继续展开了。当然,不仅仅只有这一个,还有一些其他的函数,可以参考这个网站:http://www.johnloomis.org/altera ... uilt-in%20Functions
回复 支持 反对

使用道具 举报

7

主题

45

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
 楼主| 发表于 2017-2-2 11:00:55 | 显示全部楼层
锆石科技解答员 发表于 2017-2-1 21:03
_builtin_stwio是一个函数,这个函数是Altera Nios II的内置函数,最底层了,不能继续展开了。当然,不仅 ...

谢谢回答,我还想知道这些函数在哪个文件中定义?我想看看这些函数的反汇编代码
既然安装了Quartus ,我想这些函数库也已经安装了,那么安装在了哪个文件夹下?
谢谢^_^
回复 支持 反对

使用道具 举报

发表于 2017-2-2 14:51:29 | 显示全部楼层
人造人 发表于 2017-2-2 11:00
谢谢回答,我还想知道这些函数在哪个文件中定义?我想看看这些函数的反汇编代码
既然安装了Quartus ,我 ...

这些函数有可能被封装在函数库中了,在文件中是找不到它们的定义处的
回复 支持 反对

使用道具 举报

7

主题

45

帖子

1172

积分

金牌会员

Rank: 6Rank: 6

积分
1172
 楼主| 发表于 2017-2-2 14:56:07 | 显示全部楼层
锆石科技解答员 发表于 2017-2-2 14:51
这些函数有可能被封装在函数库中了,在文件中是找不到它们的定义处的

哦,谢谢回答
^_^
回复 支持 反对

使用道具 举报

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

本版积分规则

手机版|小黑屋|锆石科技社区 ( 苏ICP备15059756号  

GMT+8, 2019-5-27 11:54 , Processed in 0.163362 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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