Microchip
PIC32MM

Development Tools

While the big brother of the ‘MM, the PIC32MX, supports Segger J-Link debugging, the ‘MM does not; this leaves you with three Microchip options: the PicKit3 ($48), ICD3 ($199), and RealICE ($499) debuggers.

It’s nice to see Microchip offering low-cost tools, but you should know that

PicKit 3 ($48), and That’s what I’ve always loved about Microchip: one low-cost debugger that can target everything.

I still don’t understand the fuss about surface-mount prototyping, but hobbyists and solderphobic engineers will be happy to learn that the the PIC32MM is widely available in DIP packages. Given these package versions are offered in only the largest memory densities, Microchip fully understands that DIP packages are for prototyping, not production. And combined with the simple electrical connections needed to get the MCU running, this largely neglects the need for a dev board at all — just make a one-time purchase of a debug probe, and you’ll be set when it comes to developing with any 8-, 16-, or 32-bit PIC architecture.

If you’re afraid of electricity in general, Microchip also offers a low-cost PIC32MM board from their Curiosity series — I have not tried it, but it appears to have what I like in the Curiosity line of development tools: on-board PicKit debugger, bare MCU system, a low price tag, and an absence of extraneous peripheral crap that you have to disable to perform accurate power measurements and pin muxing.

Documentation

Microchip never split up its documentation for its 8-bit MCUs, but when they entered the 32-bit market with the PIC32, they noticed the ubiquitous practice of manufacturers splitting documentation into separate data sheets (for electrical specs and package info) and reference manuals (for actually, you know, programming the chip). I honestly don’t know why manufacturers continue to do it this way, as we live in an era where Acrobat can instantly search through an 800-page PDF (which took 15 seconds to download, and occupies 1/100,000th of our drive’s space) — so manufacturers could easily dump the reference manual in the back of the PDF datasheet.

Either way, not wanting to be outdone, Microchip decided to split the PIC32MM documentation not only into just a datasheet and reference manual, but additionally to split that reference manual into dozens of different PDF documents. To rub salt in the wounds, you’ll note the conspicuous absence of these reference manuals on the the product family‘s page — the only logical way to find them is on the individual product page for the chip.

 

Development Environment

Just like the PIC16 and PIC24, the PIC32 uses MPLAB X — I tested both the 3.x series and the brand new 4.x series of this IDE.

Debugging Experience

The PIC32MM uses a small debug executive that is appended onto your

Two words come to mind: slow and tedious. In my testing, it took 12-17 seconds to launch a debug session and land on the main() breakpoint. The PIC32MM has 4 breakpoints, but they can’t be set while the target is running; you must halt the CPU, set break points, and then continue.

 

Performance

In terms of biquad filter performance, the PIC32 delivered the worst results of any 32-bit processor in the review, managing only 829.88 ksps processing speed @ 7.65 mA, which puts it at 30.42 nJ/sample — three times more than most of the Cortex-M0 processors (only the Nuvoton M051 had worse power measurements among 32-bit MCUs).

With -O3:

0x9D0005AA: BC1F 0x9D0088F5
0x9D0005AC: LDC1 F8, -16512(AT)
0x9D0005B0: SW S1, -1981(GP)
0x9D0005B4: B 0x9D0005B1
0x9D0005B6: NOP

Blah blah

Leave a comment