发 帖  
原厂入驻New
[问答] 能使用XC16的免费版本吗
150 处理器
分享
嗨,我已经是MBLab 8.92和C30(我有购买的许可证)的长期用户了。现在我开始使用一个DSPIC33EP64GS506,我已经迁移到MPLabX和XC16。现在,我看到我在新的处理器上执行代码的时间比以前在OLDER PROCESSORS上更长了!所以我看了拆卸清单,有效地XC16拆卸更长的时间…还要多长时间?看一看附上的图片…左边是使用XC16的代码…27行ASm代码用于执行这两行代码:data_bus[41]=u builtin_sac(结果,-8);data_bus[0]=data_bus[41]-ref_1;右侧是在较老的处理器上使用C30的反汇编代码……C指令是相同的…但是ASM只有7!!!!这与优化有关系吗?还是我使用XC16的免费版本?救命!!!!!
0
2020-5-8 06:13:50   评论 分享淘帖 邀请回答
6个回答
赞成还是免费模式?优化水平?
2020-5-8 06:26:47 评论

举报

它使用长指针-DSRPAG,DSWPAG。在这个小处理器上没用。必须在某处设置一个使用短指针的设置。
2020-5-8 06:35:10 评论

举报

现在我正在使用编译器的免费版本,优化级别为0。在C30I中仍然有0优化。我试图获得XC16 Pro试用……看看有什么变化。
2020-5-8 06:54:37 评论

举报

2020-5-8 07:14:21 评论

举报

因此,我进行了60天的PRO XC16试验,但仍然有问题。然后研究了我对xmemory和ymemory空间的声明。我有…_eds_int_.((space(x.),eds))data[100]={0};_eds_eds_int_.((space(ymemory,eds))coef[100]={0};这些声明不知何故产生了exte。nddASM反汇编行。如果我将它们改为:int data[100]u.((space(x.),eds))={0};int coef[100]_.((space(ymemory,eds))={0};我会得到很好的简化ASM……抱歉给您带来不便!如果有人能给我解释一下两者之间的区别是什么,我将非常感激!谢谢您!
2020-5-8 07:22:32 评论

举报

“Iy-EdssItIyAtEthiTyx((空间(y存储器),EDS))COEF〔100〕={ 0 };这些声明不知何故生成扩展的ASM反汇编线。“不知何故。是一个大指针,不知道为什么C30不会做同样的事情。
2020-5-8 07:36:10 评论

举报

只有小组成员才能发言,加入小组>>

109个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

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