[开发工具]记录MPLAB新老双IDE与C18编译器配置
我的大部分PIC项目开发主要是用的PIC18,都是些七八年前开发的项目为了那个内置以太网,芯片比较老的,现在又贵又难拿货,偶尔做一点点小改动和升级,原来一直用的是MPLAB IDE v8.92+MCC18 v3.46进行开发的,但是前几年由于新出的 X IDE,为了图个新鲜,有两三个项目用的是 X IDE开发的,当时也不知道是怎么就给编译器配置好了,并且把一两个老的项目导入到这个新的 X IDE,
由于电脑win7升级到win10和C盘容量变小,加上很久没用PIC单片机开发项目了,将之前安装的MPLAB IDE v8.92与MPLAB X IDE v4.20全部都卸载掉了,并且之前安装的MCC18编译器也卸载了,才为今天的折腾埋下伏笔。
我的大部分PIC项目开发主要是用的PIC18,都是些七八年前开发的项目为了那个内置以太网,芯片比较老的,现在又贵又难拿货,偶尔做一点点小改动和升级,原来一直用的是MPLAB IDE v8.92+MCC18 v3.46进行开发的,但是前几年由于新出的 X IDE,为了图个新鲜,有两三个项目用的是 X IDE开发的,当时也不知道是怎么就给编译器配置好了,并且把一两个老的项目导入到这个新的 X IDE,后来也编译通过后采用 X IDE进行维护。
为了能够重新编译所有项目,这两天重新安装了一下软件:
MPLAB IDE v8.92
MPLABX-v4.20-windows-installer
正版MCC18_V3.00
mplabc18-v3.46-windows-upgrade-installer
xc8-v2.40-full-install-windows-x64-installer
一个一个来说,首先是为了老项目,因为之前项目那个官方以太网模块.C中写了Complier: Microchip C18 v3.10 or higher HI-TECH PICC-18 v9.50PL3 or higher,所以安装MCC18_V3.00之后需要用mplabc18-v3.46-windows-upgrade-installer升级到V3.46。这两个都安装在了C盘,MCC18直接在C盘下的MCC18目录中,V3.46升级后在C:\Program Files (x86)\Microchip下面。到此编译器算好了,然后安装好MPLAB IDE v8.92,打开工程项目,不用说,编译肯定不行,一大堆乱七八糟的报错,折腾了很久。
总结了3个地方:
1、项目不能放在有中文的路径下(很多人都知道,但是时间久了我自己忘记了)
2、Project->Set language Tool Location->Microchip C18 Toolsuite->Executables中的都选择
C:\Program Files (x86)\Microchip下面的V3.46的版本,不要选择MCC18中的版本。但是Default Search Paths & Directories中我还是选的MCC18下面的。可能跟我下面一步设置有关。
3、Project->build options->Directories,include search patch除了添加自己写的.h路径,还要添加C:\MCC18\h和C:\Program Files (x86)\Microchip\mplabc18\v3.46\h,lib也一样,添加两个。
到此,老工程可以编译了。(IDE V8.92+MCC18 V3.46)
失败:
成功:
新工程咋办,安装了MPLAB X IDE v4.20之后,看了一下说是匹配XC8,所以安装了上面的xc8-v2.40,最新的版本,后面折腾了很久编译就是不行,乱七八糟的错。然后就想办法回想之前是用的什么编译器,通过了解知道在原来工程下面的nbproject\private中的configurations.xml是有写之前的编译器版本的,一看傻眼了,也是V3.46。里面是这样写的:
<languageToolchainDir>C:\Program Files (x86)\Microchip\mplabc18\v3.46\bin</languageToolchainDir>
然后就卸载XC8,也总结了3个地方:
1、在project properties中选择c18(V3.46),Tool->Options中Build Tools中也选择这个。
2、project properties->C18(global options)->mcc18->include directories中添加.h目录,包括编译器的和自己的一些.h目录。
3、project properties->Building中勾选execute this line before build和execute this line after build,包括Normalize hex file。不然好像不生成hex。
到此,新工程可以编译了。(XIDE V4.20+MCC18 V3.46)
成功:
其他记录:新工程编译的时候期间遇到过什么兼容模式非兼容模式的问题,可能跟project properties->C18(global options)中我勾选过enable extened instruction set有关,也懒得去验证了,留个个错误显示说明:
MPLINK 4.48, Linker
Device Database Version 1.13
Copyright (c) 1998-2011 Microchip Technology Inc.
Error - mixing extended and non-extended mode modules not allowed.
Errors : 1
配置图我多截取几个防止下次还遇到类似的问题。也希望能帮助到其他朋友。
配置
配置
配置
配置
也希望能帮助到其他朋友。
---------------------
作者:forgot
链接:https://bbs.21ic.com/icview-3283048-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)