本帖最后由 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”就可以了。
在这里做个记录,也希望能够帮到大家。
|