打印

MPLAB关于dsPIC30F3014的一个错误

[复制链接]
2755|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddb_21ic|  楼主 | 2008-2-21 15:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
C:Program FilesMicrochipMPLAB IDEDevicedsPIC30F3014.dev
cfgbits (key=FGS addr=0xF8000A unused=0x0000)
    # Combined with reserve bit, since they are tied in silicon and included in csum
    field (key=GCP mask=0x0006 desc="General Code Segment Code Protect")
        setting (req=0x0006 value=0x0006 desc="Disabled")
            checksum (type=0x0 protregion=0x00-0x00)
        setting (req=0x0006 value=0x0000 desc="Enabled")
            checksum (type=0x27 protregion=0x0000-0x3FFF)
    field (key=GWRP mask=0x0001 desc="General Code Segment Write Protect")
        setting (req=0x0001 value=0x0001 desc="Disabled")
        setting (req=0x0001 value=0x0000 desc="Enabled")
沙发
ddb_21ic|  楼主 | 2008-2-21 15:55 | 只看该作者

对比6014的文件

cfgbits (key=FGS addr=0xF8000A unused=0x0000)
    field (key=RES1 mask=0x0004 desc="Reserved bit" flags=h)
        setting (req=0x0004 value=0x0 desc="Reserved")
    field (key=GCP mask=0x0002 desc="General Code Segment Code Protect")
        setting (req=0x0002 value=0x0002 desc="Disabled")
            checksum (type=0x0 protregion=0x00-0x00)
        setting (req=0x0002 value=0x0000 desc="Enabled")
            checksum (type=0x27 protregion=0x0000-0x17FFF)
    field (key=GWRP mask=0x0001 desc="General Code Segment Write Protect")
        setting (req=0x0001 value=0x0001 desc="Disabled")
        setting (req=0x0001 value=0x0000 desc="Enabled")

使用特权

评论回复
板凳
ddb_21ic|  楼主 | 2008-2-21 15:59 | 只看该作者

问题现象

造成程序(有代码保护)编译完后,提示代码不正确,因为FGS配置字校验无法通过。实验了用MPLAB 7.41-8.0都有相同的问题,修改上述文件后问题可以得到解决。

使用特权

评论回复
地板
skygrow| | 2008-2-22 11:39 | 只看该作者

两个芯片的FGS中的位定义不一样

IDE还没跟上吧,后续版本就不会有这提示了

使用特权

评论回复
5
ddb_21ic|  楼主 | 2008-2-22 12:38 | 只看该作者

LS,两个芯片FGS定义是一样的

只是IDE中的设备信息文件错了,造成的编译结果被校验错
编译结果(二进制码)是没有问题的,MPLAB警告这是个不能运行的代码
然后提示要不要把FGS改为默认值

使用特权

评论回复
6
xieyuanbin| | 2008-2-26 21:21 | 只看该作者

已经反应给MCP相关人员,相信下一个版本会整改过来。

MPLAB升级比较及时,错误改正也比较快,这是其他单片机比不上的。

使用特权

评论回复
7
skygrow| | 2008-2-27 10:21 | 只看该作者

更正一下

C30的版本问题
芯片的program spec中FGS定义有差别,3014等中有几位是保留以备后用的,数据手册还没有更新,但IDE是根据program spec来定义的,C30是跟据数据手册来定义的,导致编译时FGS配置字不匹配。
解决办法:
1.由于C30不能手动修改,保留的那位目前还没真正定义,目前可以通过修改对应的设备文件来避免报错。修改方法楼主已给出。
2.关注官方网站新版本C30的发布

使用特权

评论回复
8
xieyuanbin| | 2008-2-28 08:39 | 只看该作者

楼上原来是开火车的

:-)多谢支持

使用特权

评论回复
9
ddb_21ic|  楼主 | 2008-6-29 16:02 | 只看该作者

翻出旧帖,MCP最新的MPLAB还没有修复这个bug

难道就只有我在用该死的3014?

使用特权

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

本版积分规则

105

主题

1106

帖子

3

粉丝