chipKIT® Development Platform

Inspired by Arduino™

MPIDE 20121013 Test Build

Created Tue, 16 Oct 2012 21:21:59 +0000 by EmbeddedMan


EmbeddedMan

Tue, 16 Oct 2012 21:21:59 +0000

We have released a new test build of MPIDE.

There are some big things in this release:

  • Support for MX1/MX2 parts (Like Fubarino Mini) and Peripheral Pin Select (preliminary)

And then a whole lot of smaller thing (just a summary):

  • Fixed a bug in USB serial that prevented it from working correctly
  • Fixed some issues with the Linux 64 build
  • Updates to the linker script(s) and boards files
  • Fixed issue with math (-fno-short-double on custom gcc boards)

Windows: [url]https://github.com/downloads/chipKIT32/chipKIT-builds/mpide-0023-windows-20121013-test.zip[/url]

Linux: [url]https://github.com/downloads/chipKIT32/chipKIT-builds/mpide-0023-linux32-20121013-test.tgz[/url]

Mac: [url]https://github.com/downloads/chipKIT32/chipKIT-builds/mpide-0023-macosx-20121013-test.dmg[/url]

Please try it out, and let us know if you like it or find problems. Thanks-

*Brian


BloodyCactus

Thu, 18 Oct 2012 17:06:20 +0000

yay mx2 support!

thanks for all the effort.


EmbeddedMan

Sat, 27 Oct 2012 02:11:49 +0000

I'm posting this for a friend - on OpenSUSE 12.1 and a fresh Uno32 :

============================= Downloaded latest mpide-0023-linux32-20121013-test but when I try to build and upload a sketch (any sketch, including blink), the upload proceeds, lots of flashing lights, then I get from the ide:

52179 [Thread-96] DEBUG processing.app.Base - Base: getTarget() : Target Name: pic32 52179 [Thread-96] DEBUG processing.app.Base - Target: getBoards(): pic32 avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout

and the upload does not complete.

I'm not a Linux user, so I can't really help him out (this problem does not seem to happen under Windows.) Does anybody know what could be going on?

*Brian


ricklon

Sat, 27 Oct 2012 14:18:57 +0000

Sorry, about that. The Linux 64bit compatible build hasn't been uploaded yet.

64 bit compatible can be built from source. It does require the 64 bit compat libraries to be used.

--Rick


EmbeddedMan

Sat, 27 Oct 2012 17:34:06 +0000

Rick, any chance this could be done in the near future? The author of AccelStepper (Mike McCauley) was just sent an Uno32 by Microchip and is running into this problem trying to test out his AccelStepper library. I'm not certain that he can or wants to build from source.

*Brian


mikem

Sun, 28 Oct 2012 21:25:45 +0000

Thanks to Brian for relaying this for me. Ill post directly now....

Host is OpenSuSE 12.1. trying to build the example Blink sketch.

Previous versions of the mpide compile and upload fine, but mpide-0023-linux32-20121013-test the upload phase never completes. Final output from shift-upl;oad is:

...... avrdude: Recv: . [00] avrdude: Recv: . [00] avrdude: Recv: . [ae]

| 100% 0.76s

avrdude: verifying ... avrdude: 7756 bytes of flash verified avrdude: Send: . [1b] C [43] . [00] . [03] . [0e] . [11] . [01] . [01] D [44] avrdude: Recv: . [1b] avrdude: Recv: C [43] avrdude: Recv: . [00] avrdude: Recv: . [02] avrdude: Recv: . [0e] avrdude: Recv: . [11] avrdude: Recv: . [00] avrdude: ser_recv(): programmer is not responding avrdude: stk500v2_ReceiveMessage(): timeout avrdude: Send: . [1b] D [44] . [00] . [01] . [0e] . [01] Q [51] avrdude: ser_recv(): programmer is not responding avrdude: stk500v2_ReceiveMessage(): timeout avrdude: Send: . [1b] D [44] . [00] . [01] . [0e] . [01] Q [51]

I see that avrdude executable and config is the same in mpide-0023-linux32-20121013-test as in mpide-0023-linux-20120903.

Using avrdude from mpide-0023-linux-20120903 to upload the hex file fails in the same way. Something wierd about the hex file?

Cheers.

I'm posting this for a friend - on OpenSUSE 12.1 and a fresh Uno32 : ============================= Downloaded latest mpide-0023-linux32-20121013-test but when I try to build and upload a sketch (any sketch, including blink), the upload proceeds, lots of flashing lights, then I get from the ide: 52179 [Thread-96] DEBUG processing.app.Base - Base: getTarget() : Target Name: pic32 52179 [Thread-96] DEBUG processing.app.Base - Target: getBoards(): pic32 avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout and the upload does not complete. ================= I'm not a Linux user, so I can't really help him out (this problem does not seem to happen under Windows.) Does anybody know what could be going on? *Brian


mikem

Sun, 28 Oct 2012 22:12:29 +0000

Thanks to Brian for relaying this for me. Ill post directly now....

Host is OpenSuSE 12.1. trying to build the example Blink sketch.

Previous versions of the mpide compile and upload fine, but mpide-0023-linux32-20121013-test the upload phase never completes. Final output from shift-upl;oad is:

...... avrdude: Recv: . [00] avrdude: Recv: . [00] avrdude: Recv: . [ae]

| 100% 0.76s

avrdude: verifying ... avrdude: 7756 bytes of flash verified avrdude: Send: . [1b] C [43] . [00] . [03] . [0e] . [11] . [01] . [01] D [44] avrdude: Recv: . [1b] avrdude: Recv: C [43] avrdude: Recv: . [00] avrdude: Recv: . [02] avrdude: Recv: . [0e] avrdude: Recv: . [11] avrdude: Recv: . [00] avrdude: ser_recv(): programmer is not responding avrdude: stk500v2_ReceiveMessage(): timeout avrdude: Send: . [1b] D [44] . [00] . [01] . [0e] . [01] Q [51] avrdude: ser_recv(): programmer is not responding avrdude: stk500v2_ReceiveMessage(): timeout avrdude: Send: . [1b] D [44] . [00] . [01] . [0e] . [01] Q [51]

I see that avrdude executable and config is the same in mpide-0023-linux32-20121013-test as in mpide-0023-linux-20120903.

Using avrdude from mpide-0023-linux-20120903 to upload the hex file fails in the same way. Something wierd about the hex file?

Cheers.

I'm posting this for a friend - on OpenSUSE 12.1 and a fresh Uno32 : ============================= Downloaded latest mpide-0023-linux32-20121013-test but when I try to build and upload a sketch (any sketch, including blink), the upload proceeds, lots of flashing lights, then I get from the ide: 52179 [Thread-96] DEBUG processing.app.Base - Base: getTarget() : Target Name: pic32 52179 [Thread-96] DEBUG processing.app.Base - Target: getBoards(): pic32 avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout and the upload does not complete. ================= I'm not a Linux user, so I can't really help him out (this problem does not seem to happen under Windows.) Does anybody know what could be going on? *Brian


mikem

Mon, 29 Oct 2012 09:15:54 +0000

More info:

Same behavior observed with mpide-0023-linux32-20121013-test on Ubuntu 12.04


Gavinmc

Tue, 13 Nov 2012 04:33:20 +0000

DIP version PIC32MX250F128B working.

Recompiled Keith Vogel's bootloader. MPLABX/MPIDE running on Windows 7

Compiled using MPLABX 1.51 and XC32 1.11. Edited BoardConfig.h - Fubarino Mini defines. BootLED to RB15 and Program pin to RA1 ie my PCB layout Hex file programmed on Microstick2 and MPLABX Hex file attached as .txt

MPIDE 20121013 compiles using Fubarino Mini settings. 28Pin part loses I/O compared to 44 pin Fubarino Mini PIC32MX250F128D

You only have these pins to play with. Pin 0/Analog 0 - RB13, 3/A1- RB14, 4/A2 - RB15 5/A3- RA0, 6/A4 - RA1, 7/A5 - RB0, 8/A6 - RB1, 9/A7 -RB2 10/A8 - RB3, 23 -RB5, 24 -RB7, 25 -RB8/SCL, 26 - RB9/SDA

My board has 8MHz xtal and USB connector XTAL PINS 8MHz ,14 - RA2, 15 - RA3 Optional 32.768KHz, 17 - RB4, 18 - RA4 USB, 31 - RB10/USB D+, 32 - RB11/USB D-

Software/Libraries tested - I2C(wire), LiquidCrystal, analogRead. Serial.print, lcd.print etc works ok I read a TMP112 I2C temperature sensor, a trimpot and display them on the 2x16LCD.

Still some work to be done to have a REAL MX250F128B board option but thanks to Keith and some hacking we can get code running on the DIP28 parts.

Remember you do still need to have some way to program the bootloader into blank PIC32MX250F128Bs, similar to MPLABX and Microstick2. Pickit3 did work as well.

I have not tested Linux OS methods yet. Hopefully one day I will get it all working on my Raspberry Pi's


EmbeddedMan

Tue, 13 Nov 2012 05:27:45 +0000

That's sweet! How did you get MPLAB X 1.51? I don't see it available yet!

*Brian


Gavinmc

Wed, 14 Nov 2012 05:32:27 +0000

Brian,

New versions here http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads

If you want to recompile Keith's bootloader for different LED/Program pins then install the 60 day trial XC32 compiler, that's what I did. Not sure if the free one will compile it small enough, not game to try it now that my setup works ;)

Gavin


adilinden

Sun, 03 Feb 2013 04:18:30 +0000

DIP version PIC32MX250F128B working. My board has 8MHz xtal and USB connector XTAL PINS 8MHz ,14 - RA2, 15 - RA3 Optional 32.768KHz, 17 - RB4, 18 - RA4 USB, 31 - RB10/USB D+, 32 - RB11/USB D-

I would like to use the PIC32MX250F128B in a project where a DIP part is a requirement. Can you please elaborate on what's connected to RB4 and RA4?

Thanks, Adi


Gavinmc

Mon, 04 Feb 2013 04:56:29 +0000

I am using the Fubarino mini Board option for code generation. This is the 44pin PICMX250F128D part https://github.com/fubarino/fubarino.github.com/tree/master/mini/v14

The bootloader I recompiled for the DIP28 PIC32MX250F128B may have the 32KHz option enabled, these are for the RTC xtal on RB4,RA4, not populated on Fubar mini I have not connected a 32Khz xtal to the pins to test the RTC feature, but I have tested RB4 and RA4 as I/O.

Bootloader needs to be recompiled as the Fubarino Mini uses RA8 as the program pin and RA10 as the LED, I use RA1 and RB15 on the DIP part.


adilinden

Mon, 04 Feb 2013 05:13:07 +0000

This is good. Is the boot loader built to utilize the USB port?


EmbeddedMan

Mon, 04 Feb 2013 14:15:15 +0000

Yes, the FubarinoMini bootloader uses the USB port. As does the FubarinoSD bootloader.

*Brian


adilinden

Wed, 06 Feb 2013 19:52:32 +0000

If I wanted to use the PIC32MX150F128B instead of the PIC32MX250F128B would that require a new boot loader? I think the only difference is Flash size between these two devices.


EmbeddedMan

Wed, 06 Feb 2013 20:05:10 +0000

I don't think it would require a new bootloader. You'd want to go into the bootloader project and created a new one (copy of the MX1 (serial) version that's there) set up just for your chip, but I think the only thing you'd be changing is the FLASH size (and maybe RAM size) and CPU part number. Should be a piece of cake.

*Brian


BerndK

Tue, 19 Feb 2013 21:24:22 +0000

Thanks a lot for supporting PIC32MX1xx/2xx MCUs. Great job!

I have build my own board with a PIC32MX1502 8Pin DIP version. At present I tested digital I/O, Serial, WIRE and SPI and got it working.

Details on: http://www.chipkit.org/forum/viewtopic.php?f=6&t=2227

To run SPI or DSPI library I had to configure the PPS Pins SDI2 and SDO2 in setup() of the sketch.

Do You plan to implemet PPS configuration acording to the settings in Board_Defs.h and Board_Data.c ?

Bernd


caroper

Sat, 22 Jun 2013 09:42:48 +0000

Do You plan to implemet PPS configuration acording to the settings in Board_Defs.h and Board_Data.c ? Bernd

Brian created an entry on PPS in the Fubarino mini wiki and I have expanded on it here [url]http://caroper.blogspot.com/2013/06/peripheral-pin-select-pps.html[/url].

I will tidy it up and get it into the ChipKIT Wiki once I have finished testing it on the both MX250 and MX150.

Cheers Chris