相信大家对STM32该当管窥蠡测,本日就带大家从STM32的角度,大略过一下如何重新上手PIC32,从以下方面进行比拟,并考试测验总结一下PIC32为什么盛行不起来
快速制作自己的PIC32开拓板如何搞定Hex文件的烧写如何利用Microchip MPIDE进行代码编译,运行,调试Harmony的利用为什么不是PIC8/PIC16/PIC24?由于没必要,便是这么大略,32位的本钱已经相称相称低了。这里利用的是PIC32MX795F512H, 拥有512K Flash, 128K RAM,运行频率在80MHz,支持USB 2.0 Full Speed, 以太网MAC,淘宝价格在35旁边。

黑人问号脸?!
!
什么这个价格要35?相类似的STM32F407ZGT6也才24旁边,嘤嘤嘤。
最小系统板,我们就直接参考开源项目Fubarino SD,这里对其的SD卡和USB部分进行了DIY,让手工制作更加随意马虎,希望拿到eagle文件的同学,留下你的邮箱。
实际的焊接出来的效果图如下
2)如何搞定Hex文件的烧写PIC32代码的开拓,即可以利用Linux下MIPS gcc进行编译,也可以利用XC32在Windows/Linux/MacOS里编译。编译的问题相对大略,但是烧录略有不同,这个涉及到PIC32的内存分布,较ARM上手更为繁芜。
PIC32常日须要烧写一个bootloader,就算是仅App的工程,他也须要一个bootloader来进行代码的跳转。
这里我们利用的是PICKit3.5,淘宝88块。
PICKit3.5功能强大,亮点在于支持脱机固件烧写,支持目标板电源检测与供电,但正好是其功能过于强大,导致其利用也相对繁芜,稳定性也更差。
首先下载安装mpalb-x-ide及xc32 compiler,当前最新mplab-x-ide是v5.40版本
https://www.microchip.com/mplab/mplab-x-ide
https://www.microchip.com/mplab/compilers
建议先安装好XC32 compiler并添加到系统PATH当中。
这里须要把稳的是XC32有Free版本,Free版本不支持代码的优化,一样平常情形下也是够用了,如果须要Pro License,可以申请60天的试用。安装完成,会涌现2个程序,一个是MPLAB X IDE,一个是MPLAB X IPE, 个中IPE便是单独的烧写工具,而IDE是开拓环境后面会单独聊到。
你可能把稳到,安装一个IDE须要占用可能近10个G的空间,真的是很夸年夜。
这里我们须要烧录Fubaino的SD 512K版本固件,
https://github.com/chipKIT32/PIC32-avrdude-bootloader
不带512字眼的是基于32MX440F256H的V1.4版本
打MPLAB X IDE明显能觉得到这个软件加载的速率非常的慢,这都是2020年了,i7 8代+SSD+16G内存加速的速率也能明显觉得迟滞。
这个界面还是挺正常的吧,没有什么奇怪的,当点击Connect之后选择好Hex并进行Program时,你有可能会创造在真正Program之前须要先下载PICKit3的固件?
什么神仙操作,而且这个过程相称缓慢,有时乃至会失落败!
为什么要这么做?前面有提到过为了让PICKit3支持更多功能,PICKit3可以加载不同的固件大大提高灵巧性,而随之而来的便是繁芜性,不稳定性,烧写个代码真的不轻松,不干脆。
3)如何利用Microchip MPIDE进行代码编译,运行,调试
打开MPLAB X IDE,不过在这之前,如果你的电脑配置弗成还是建议不要打开了,这觉得能让你回忆到之前在老古董上用Eclipse上开拓Android运用的痛楚经历。
这里以Bootloader的source code为例,从File->Open Project导入工程,进行编译Production->Build Project进行编译,如果须要进行代码的下载调试,直接点击Debug->Debug Project,操作的办法倒是大同小异,
不过你可能又会创造,启动慢可能是由于太吃内存的缘故原由?和Chrome真的有得一拼!
等到下载下程序时,有可能你又会创造,MPLAB X IDE在做和IPE一毛一样的事情,重新给PICKIT3下下载固件,真是。
事实上既然有了toolchain也可以不该用IDE,直接用Makefile进行软件的开拓,不是更喷鼻香?
其余,还有一个叫PicKit3的精简的软件是用来专门烧写固件的
好了,又要切换固件,切实其实了,然而,切换完之后,你还会创造,他不支持PIC32!
4)Harmony的利用
Harmony是一套可以利用GUI配置芯片的工具,非常类似STM32CubeMX, 但这在Microchip里是一段痛楚的过程,首先要从MPIDE X 的Plugin里启用Harmony
这里选择gitee的URL,在海内速率会快很多
猖獗地吃掉CPU和硬盘,虽然我这个是1T的机器
终于看到熟习的界面,但是真的再没有兴趣再连续,这是一段痛楚的旅程。
5)总结从PIC32的大略试用来看,PIC32失落败真的不冤枉它,总结以下几点,欢迎补充
PIC32的价格不便宜,MX的价格己经较高,后续出来的MZ系列,乃至内置了最高2M的ROM和512K的RAM,但价格完备没有上风,一旦量起不来便是一个恶性循环,越没人用,价格越高推广力度较ST等其它厂商严重不敷,可能是和其定位的客户有关,在汽车领域追求稳定性的行业可能有一些运用,其它领域比较少见。上手难度大,MIPS的架构在单片机上的运用,不自然,比如内存布局,PIC32上来便是内核和用户态,在写第一行代码时就要花不少韶光研究,比较ARM Cortex M3/M4大略的内存布局,真是良心透了。开拓环境差,生态更差,更不用说得上技能支持。开拓环境差,软件臃肿,想一想2020年电脑的配置,要跑一个IDE都如此困难,更不用说以前只有几个G的开拓环境,越少人用,生态越差,又一个恶性循环。比较MDK Keil,IAR,虽然安装包大但运行起来完备不卡,哦,不MDK,你的armcc编译还是很卡的。奇葩的下载器设计,让软件开拓过程非常不顺利,不流畅Microchip的不重视,就像是被收购的ATmel, 32位的MCU也基本是半残,没有竞争力,现在它收购了FPGA厂商Microsemi,不然会不会又被他玩残。