Pages: [1]   Go Down
Author Topic: Uno 32  (Read 1032 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
today I decided I wanted to buy a uno 32 thanks to its performance but I have some questions about it:
Are the libraries the only sort of incompatibility with the arduino?
Can I program it using the lasted arduino IDE by just copying the hardware folder into it?
If you guys have one, what is your opinion about it?

Thanks in advance.
Logged

Massachusetts, USA
Offline Offline
Tesla Member
***
Karma: 178
Posts: 8064
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

> Are the libraries the only sort of incompatibility with the arduino?

I would imagine that any code that uses the ATmega hardware registers would not work on the UNO32.

> Can I program it using the lasted arduino IDE by just copying the hardware folder into it?

No.  You have to install a separate IDE from https://github.com/chipKIT32.  They say the IDE is based on Arduino 0.22 (not the latest).
Logged

Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

the land of sun+snow
Offline Offline
Faraday Member
**
Karma: 149
Posts: 2790
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

John, on the page you link, it shows the standard Arduino libraries modified for
the PIC32, plus they've been working on the code as recently as 1 day ago,
https://github.com/chipKIT32/chipKIT32-MAX/tree/master/hardware/pic32/libraries

https://github.com/chipKIT32/chipKIT32-MAX/blob/master/hardware/pic32/libraries/SPI/SPI.cpp
Code:
#define __LANGUAGE_C__

#define OPT_BOARD_INTERNAL

#include "SPI.h"

extern p32_spi * SPIClass::spi;
extern p32_regset * SPIClass::iec;
extern p32_regset * SPIClass::ifs;
extern int SPIClass::irq;
extern int SPIClass::vec;

SPIClass SPI((p32_spi *) _SPI_BASE, _SPI_ERR_IRQ, _SPI_VECTOR);

//************************************************************************
SPIClass::SPIClass(p32_spi * spiP, int irqP, int vecP)
{
/* Save the pointer to the SPI port and the base IRQ number.
*/
spi = spiP;
irq = irqP;
vec = vecP;
}
.........
« Last Edit: June 19, 2013, 08:09:26 pm by oric_dan » Logged

Dallas, TX USA
Offline Offline
Edison Member
*
Karma: 47
Posts: 2328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Can you use the Arduino IDE to program the chipkit UNO32.
YES, you can. I've done it.
Is it easy to get set up to do No.
See this thread over on the chipkit forum:
http://www.chipkit.org/forum/viewtopic.php?f=6&t=1877
Summary is you will have to jump to IDE 1.5 to get the needed capabilities
to alter the compiler and linker settings.
And you will have to do some low level avrdude scripting to get autoreset to work.
Personally, I'd just use mpide.
mpide will compile and build for AVR parts as well; however I don't think the
AVR core and libraries have been updated to 1.x support.
(Although it has been 6+ months since I've played with it)

One area that is a mess is the libraries since neither mpide or the 1.5x Arduino IDE
deal very will with architecture specific libraries vs common libraries and 3rd party cores.
i.e. you don't have areas where you can place libraries that work on any architecture
vs a place where to put architecture specific libraries or a place to put 3rd party cores.
What that means is that you have to duplicate libraries in two places if you install them
in the IDE area, or you can end up with errors that prevent building anything
if you put them in your local sketchbook area since the Arduino team IDE freaks out
when it encounters certain libraries or if it sees a 3rd party hardware directory.
It's a real mess.

Honestly, as much as I'd like to have a single IDE, right now it is just plain easier
to just keep them separate.
 

As far as hardware goes, I think the chipkit board is a much better solution for
many projects than the DUE because not only is it substantially cheaper but it is 5v compatible.
The 5v issue is where the DUE falls flat on its face.

--- bill
« Last Edit: June 19, 2013, 11:54:57 pm by bperrybap » Logged

the land of sun+snow
Offline Offline
Faraday Member
**
Karma: 149
Posts: 2790
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bill, sounds like a good reason to keep 2 separate versions of the IDE, one for
each different chip type, with the specific libraries in the usual directories.

Also, I believe the Uno32/PIC32 chips are 3.3V, but the pins are 5V "tolerant".
Correct? That's what you meant by 5V compatible.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 44
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for replying, I will be getting one after all and then I will tell you guys my experience with it.
Logged

Dallas, TX USA
Offline Offline
Edison Member
*
Karma: 47
Posts: 2328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also, I believe the Uno32/PIC32 chips are 3.3V, but the pins are 5V "tolerant".
Correct? That's what you meant by 5V compatible.
Yep. I think this is a big deal for hobbyists, particularly the less technical
ones which is what Arduino is aimed at.
This means it will 'just work' with many 5v components
and you won't instantly blow up your board when you plug in a 5v shield
or hook it up to a 5v part that drives a high at 5v.

Just my personal opinion but I think creating a fairly expensive 3.3v board that is not 5v tolerant
like DUE for the Arduino crowd wasn't the best of ideas.

Given the lack of 5v tolerance, I think it was just plain dumb to handle the the voltages and IOREF the way
they did. I would have swapped IOREF and 5V. i.e. put the MCU voltage where the current 5V pin is
and move 5V over to where IOREF ended up.
That way existing 5v shields would never
blow up the users DUE because they would be handed IOREF vs 5V.
Those that could work on the lower voltage would
"just work". Those that needed 5v would not work but wouldn't blow up the DUE
and then new shields that really need 5v could get it from the 5V pin.

Overall, I think Microchip has much better solutions as to opposed to an ARM based chip
for hobbyists.
Solutions that offer much  more speed and RAM and resources than Atmel AVR,
and some of the new MIPs based processors are even in DIP packages.

Think of having a PIC based "UNO" type board with a 28 pin dip
that is 32 bit, runs at 40Mhz has 128k flash, 32k of RAM, more internal functions and
no goofy Harvard architecture (progmem) to worry about.
With a processor that that can easily be used for standalone hobbyist designs
all for about the same prices as an Atmel M328.
To me that would have been much more of a winner than the DUE since
it allows the creation of what would be a better "arduino" for essentially the same price.


--- bill
Logged

the land of sun+snow
Offline Offline
Faraday Member
**
Karma: 149
Posts: 2790
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

..............
Think of having a PIC based "UNO" type board with a 28 pin dip
that is 32 bit, runs at 40Mhz has 128k flash, 32k of RAM, more internal functions and
no goofy Harvard architecture (progmem) to worry about.
...........
LOL and AAMOF, I've been working in this direction for some time, in betweenst
all the other projects. Have you by any chance tried burning one of the PIC32
bootloaders shown on the github site into the DIP28 PIC32?
Logged

Dallas, TX USA
Offline Offline
Edison Member
*
Karma: 47
Posts: 2328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

..............
Think of having a PIC based "UNO" type board with a 28 pin dip
that is 32 bit, runs at 40Mhz has 128k flash, 32k of RAM, more internal functions and
no goofy Harvard architecture (progmem) to worry about.
...........
LOL and AAMOF, I've been working in this direction for some time, in betweenst
all the other projects. Have you by any chance tried burning one of the PIC32
bootloaders shown on the github site into the DIP28 PIC32?
No. I've actually not touched my UNO32 since last october.
I do have a few 28 pin dip parts now though that I'm probabaly going
to get back to playing with.
I'll probably build a little adapter that will allow it to be plugged into
an actual Arduino PCB.

For my own experimentation, I'm not sure I go down the bootloader path.
In my view bootloaders really aren't needed much anymore, particularly
since the hardware to burn images directly into the chips is so cheap now.
With PIC parts why bother? You will need a PICkit anyway to get the bootloader
in anyway, so why not just use it, all the time? Plus with the PICkit you can
get full source level debugging using the PICkit.

I do the same on the AVR parts with the AVR dragon.
While it is a total pain to get setup because of the Arduino team's build
methodology, Once set up, source level debugging is really nice.

--- bill
Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 106
Posts: 6367
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Think of having a PIC based "UNO" type board with a 28 pin dip
that is 32 bit, runs at 40Mhz has 128k flash, 32k of RAM

This appeared recently:  http://caroper.blogspot.com/2013/06/this-will-be-home-for-my-pic32mx.html
Logged

the land of sun+snow
Offline Offline
Faraday Member
**
Karma: 149
Posts: 2790
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bill (westie), thanks for the link, looks useful. It also links to chipkit.net
which has a lot of interesting info. Going to see if I can make any sense
out of the boot loaders this weekend.
Logged

Pages: [1]   Go Up
Jump to: