独闷闷网

 找回密码
 立即注册
搜索
查看: 4512|回复: 2
打印 上一主题 下一主题
收起左侧

[原创] 合泰8位单片机的编译器选V2好还是选V3好?__attribute__是实现一个什么功能?已解答。

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-17 13:05:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
Ack-深圳:
#define DEFINE_SFR(sfr_type, sfr, addr) static volatile sfr_type sfr __attribute__ ((at(addr)))
这是合泰单片机中的库文件的一个宏定义代码。这是官方提供的库文件,不需要我们修改,只要用就可以。
这个__attribute__是实现一个什么功能?我只是猜测他好像是一个跟地址有关的。

Inc-东莞:
不要猜。你这个指令用在V3版本。这个就是一个入口函数。在中断的入口宏中会用到,

Ack-深圳:
哦,我就是用V3的。它实现一个什么功能,引导程序吗?

Inc-东莞:
入口嘛,例如你要定义定时器中断的时候,你需要转移到相应的地址执行中断程序,这时候你可以利用他来指引到中断程序的入口地址。

任军-深圳:
__attribute__是编译器指令,后跟一些命令,设置符号属性。比如at用于设置符号地址。

Inc-东莞:
你打开你编译器的“帮助”菜单的下拉列表会有个V3的用户说明书,打开说明书在48页会有相应的讲解。

Ack-深圳:
就像这样来使用。

Inc-东莞:
不过,我一直在用V2,因为有些芯片是不支持V3的,而V2却兼容,所以我还是用V2好了。V3也就优化程度比V2好一丁点而已,在爆RAM的情况下可以考虑用V3。

Ack-深圳:
原来这样啊。我建工程的时候,选择了V3,所以就看到了这个。

Inc-东莞:
有的芯片不支持,就不会显示V3。

Ack-深圳:
感觉 跟V2的一些定义不一样。有的支持,就会显示。

Inc-东莞:
恩恩,不同的。大同小异吧这样说。

fyt57889681-东莞:
V3的bug一直在修正,V2V3语法有很多差异。

Ack-深圳:
好像显得更加好阅读了。

Inc-东莞:
用V2就好了。不熟悉,稳一点好。没必要为了那一丁点的优化程度而冒险惹来一堆的BUG。而且,如果你不是牛人,基本很难爆ROM和爆RAM的。

Ack-深圳:
也是,还是该用V2。

Inc-东莞:
看自己合适,我的观点只做参考。目测我认识那个FAE从来没有用过V3。

Ack-深圳:
恩。我都没有用过,第一次使用。当然是使用最稳定的一个了。资料也是要最全的一个版本了。我只用8位机而已,都不用合泰的32位机。好像我找的一些C语言范例都是用V2的。官方都还没有用V3出过范例啊。


乐于分享,勇于质疑!
沙发
发表于 2014-11-17 13:11:20 | 只看该作者
我一直用V2
乐于分享,勇于质疑!
板凳
发表于 2014-11-17 13:12:08 | 只看该作者
不熟悉,最好不用v3 ,没必要
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-5-2 22:59 , Processed in 0.154050 second(s), 17 queries .

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