打印

dipic33ep128mc506用MCC工具生成代码编译不通过,求助!

[复制链接]
1606|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
各位大佬,初次接触DSPIC33EP,使用MCC生成的代码编译不通过,工程如附件所示,求助各位大佬帮小弟看看是哪里的问题?谢谢啦!

IOTest.zip

219.53 KB

使用特权

评论回复
沙发
ynwa| | 2020-8-31 09:49 | 只看该作者
编译没有错误。最好把你用什么编译器,具体错误是什么讲清楚。

使用特权

评论回复
板凳
CoolSilicon| | 2020-8-31 14:57 | 只看该作者
你可以把你用的平台, 编译器版本先说明..
其次, 论坛是可以贴图的, 你可以把报的错, 贴图说明一下..
很多热心网友都可以帮你出谋划策的...

贴project是最后的措施了..

使用特权

评论回复
地板
zhangjian1|  楼主 | 2020-8-31 19:49 | 只看该作者
CoolSilicon 发表于 2020-8-31 14:57
你可以把你用的平台, 编译器版本先说明..
其次, 论坛是可以贴图的, 你可以把报的错, 贴图说明一下..
很多热 ...

我先试一下是不是我的MCC库版本跟X IDE版本不匹配造成的,IDE是4.05的,MCC是最新的

使用特权

评论回复
5
zhangjian1|  楼主 | 2020-8-31 23:06 | 只看该作者
IDE版本 V4.05    MCC版本3.45.1  
编译还是不通过  错误截图如附件    请各位大佬帮忙看看   十分感谢

1.png (22.34 KB )

1.png

2.png (42.34 KB )

2.png

3.png (14.22 KB )

3.png

4.png (45.89 KB )

4.png

5.png (13.72 KB )

5.png

使用特权

评论回复
6
zhangjian1|  楼主 | 2020-8-31 23:08 | 只看该作者
初次接触还有以下疑问,麻烦不吝赐教:
1.DSPIC33有相应的开发库吗?比如我想调用个延时函数,打印之类的该如何操作?
2.如果有该如何添加函数库?

使用特权

评论回复
7
zhangjian1|  楼主 | 2020-9-1 08:34 | 只看该作者
ynwa 发表于 2020-8-31 09:49
编译没有错误。最好把你用什么编译器,具体错误是什么讲清楚。

好的  已上传截图  麻烦指点一下

使用特权

评论回复
8
CoolSilicon| | 2020-9-1 11:26 | 只看该作者
zhangjian1 发表于 2020-8-31 23:06
IDE版本 V4.05    MCC版本3.45.1  
编译还是不通过  错误截图如附件    请各位大佬帮忙看看   十分感谢 ...

X IDE最新的是V5.4了.....
MCC默认应该最新版,
IDE却用比较旧的版本, 升级一下先??

使用特权

评论回复
9
zhangjian1|  楼主 | 2020-9-1 11:42 | 只看该作者
CoolSilicon 发表于 2020-9-1 11:26
X IDE最新的是V5.4了.....
MCC默认应该最新版,
IDE却用比较旧的版本, 升级一下先?? ...

目前均已升级到最新版本  
inline static uint32_t SYSTEM_DeviceIdRegisterAddressGet(void)
{
    return __DEVID_BASE;
}
编译显示__DEVID_BASE未定义,请问这个函数是什么作用,该如何处理?我删掉就可以编译通过了,说明现在的工具链应该没问题了

使用特权

评论回复
10
ynwa| | 2020-9-1 12:00 | 只看该作者
zhangjian1 发表于 2020-9-1 11:42
目前均已升级到最新版本  
inline static uint32_t SYSTEM_DeviceIdRegisterAddressGet(void)
{

这是获取项目所用器件的DEVID寄存器基地址的。找不到__DEVID_BASE和MCC没有关系,__DEVID_BASE是定义在编译器提供的器件头文件中的,MCC产生的代码只要包含了xc.h就没问题。你看看你的编译器版本和这个器件头文件吧

使用特权

评论回复
11
单片小菜| | 2020-9-1 12:00 | 只看该作者
使用什么仿真器?

使用特权

评论回复
12
zhangjian1|  楼主 | 2020-9-1 15:16 | 只看该作者
ynwa 发表于 2020-9-1 12:00
这是获取项目所用器件的DEVID寄存器基地址的。找不到__DEVID_BASE和MCC没有关系,__DEVID_BASE是定义在编 ...

工程是按IDE的工程向导建立的,MCC生成代码后需要自己添加头文件吗?我没有接仿真器跟板子,跟这个有关系吗?

使用特权

评论回复
13
zhangjian1|  楼主 | 2020-9-1 15:25 | 只看该作者
单片小菜 发表于 2020-9-1 12:00
使用什么仿真器?

建工程的时候选的是PICkit3

使用特权

评论回复
14
zhangjian1|  楼主 | 2020-9-1 19:43 | 只看该作者
该如何处理啊。。。

使用特权

评论回复
15
ynwa| | 2020-9-2 15:56 | 只看该作者
zhangjian1 发表于 2020-9-1 15:16
工程是按IDE的工程向导建立的,MCC生成代码后需要自己添加头文件吗?我没有接仿真器跟板子,跟这个有关系 ...

编译和有没有接硬件没关系。MCC产生的代码肯定加上了包含xc.h的语句,不需要你再添加。所以我编译你的项目是没问题的。但编译器是另外安装的,如果你用的编译器安装有问题或者编译器版本太老和MCC产生的代码不匹配,就可能出现这种编译错误。

既然报错信息是“__DEVID_BASE未定义”,那么最简单的确认方法就是在你的项目中,以及你所用编译器提供的器件头文件中搜索__DEVID_BASE!

我用的XC16是1.50,在dsPIC33EP128MC506.h里有__DEVID_BASE的宏定义。

使用特权

评论回复
16
zhangjian1|  楼主 | 2020-9-3 10:47 | 只看该作者
ynwa 发表于 2020-9-2 15:56
编译和有没有接硬件没关系。MCC产生的代码肯定加上了包含xc.h的语句,不需要你再添加。所以我编译你的项 ...

感谢指点,可能是我的XC16版本太低的原因,咨询原厂后,在MCC.H中添加_devid_base的宏定义就OK了

使用特权

评论回复
17
数据采集存储| | 2020-9-6 19:25 | 只看该作者
跟楼主学习了很多,学习了很多很多,希望我们一起进步。

使用特权

评论回复
18
其实我一直看好这个芯片的,不知道为什么现在用的人越来越少,是怎么回事?

使用特权

评论回复
19
可爱的烧饼| | 2020-9-7 14:09 | 只看该作者
求助,谁有原厂的联系方式,方便告诉我一下吗?我现在需要联系一下。

使用特权

评论回复
20
便携手到老| | 2020-9-7 16:23 | 只看该作者
感谢楼主从百忙之中的分享,谢谢,学习到了很多知识。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

11

帖子

0

粉丝