发新帖本帖赏金 50.00元(功能说明)我要提问
返回列表
打印
[开发工具]

PIC工程同时在IDE V8和X IDE上进行编译和调试

[复制链接]
1009|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2023-2-10 16:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 forgot 于 2023-2-10 16:22 编辑

#申请原创#
  
  前面说到了最近自己安装MPLAB IDE V8和MPLAB X IDE对已有的新老版本项目进行编译和开发管理,后来想了一下,同样一个在V8上开发的工程,能不能导入到 X IDE后也可以在X IDE上开发,导入之后能不能回到V8上进行编译。虽然也知道MPLAB X IDE 与 MPLAB IDE v8 具有很大的差异,毕竟MPLAB X IDE 基于开源的跨平台 NetBeans 平台,MPLAB IDE v8 是专有的,并基于 Windows 操作系统。后来验证了一下是可以的。

  现在网上关于MPLAB的资料相对于MDK来说太少了,看了一下microchip的developer help,其中有一章里面写有写Can I install MPLAB® IDE v8 and MPLAB X IDE on the same computer?回答是肯定的,补充说明使用不同的USB驱动程序与编程器/调试器进行通信。在两个IDE之间切换时,您需要运行驱动程序切换器。也没明白说的是什么。

  还是以手头上的网络转RS232 democode为例。
  首先在MPLAB IDE v8.92下面通过配置采用MCC18 V3.46进行项目编译,选择自己对应的调试工具,如pckit3等,编译成功,在工程主目录下面会生成烧写文ETORS232.hex。
  然后打开MPLAB X IDE v4.20,通过File->import->MPLAB IDE v8 project,选择对应的工程,按照引导一步一步建立一个新的ETORS232.X的工程,默认是放在同一个文件夹下。


  新的X IDE也必须要使用同一个编译器MCC18 V3.46,不要使用XC这里是重点,如果选择用XC编译器编译会遇到编译报错,再想一想,也对,如果换编译器编译,再回到MPLAB V8,可能也会受到影响。编译之后还是会有一些报错,主要还是虽然导入成功,但是include路径不知道为什么不能跟着过来,还得重新在project properties中重新检查一遍包含路径。跟V8里面设置的一样把用到的.h包含过来就可以了。然后编译之后会在ETORS232.X\dist\default\production中产生一个以.....X.production.hex结尾的烧写文件。

  为了验证对不对,通过Beyond Compare 文件比较工具,将两个IDE 生成的hex文件进行比较确定是一样的。

  再返回MPLAB IDE v8.92采用ETORS232.mcp打开工程,编译不受影响。这样可以确认以后这个工程项目既可以在V8中开发,也可以在X中开发了。
就是在X IDE中编译成功后会形成一个提醒:
Warning: The hex file has the debug bit set.  The debug bit has been cleared during load to memory.  The original hex file has not been modified.也没具体去研究了,先忽略吧。

  试了一下两个软件好像不能同时打开编译,如果同时打开,一起编译,会由于调用编译器的关系,受到影响,编译会报错。想一想也不应该有人会这样操作。
关于调试工具连接调试部分,MPLAB X IDE 仅在调试或编程会话期间将调试或编程器工具与目标连接,其他情况下是不连接的。MPLAB IDE v8 会在选择工具之后立即与调试和编程器工具连接。如果想让MPLAB X IDE 中与 MPLAB IDE v8 一样总是保持该连接,需要在Tools>Options->Embeddedeneric Settings 选项卡,并选中“Maintain active connection to hardwaretool”就可以了。

  在这里做个记录,也希望能够帮到大家。

使用特权

评论回复

打赏榜单

21ic小管家 打赏了 50.00 元 2023-03-13
理由:签约作者奖励

发新帖 本帖赏金 50.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1762

主题

13158

帖子

55

粉丝