Author Topic: Switching to 32-bit MCU from 8-bit "by default"  (Read 14283 times)

0 Members and 1 Guest are viewing this topic.

Offline TheDirty

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: ca
Re: Switching to 32-bit MCU from 8-bit "by default"
« Reply #25 on: June 13, 2011, 08:43:38 pm »
Don't most of the small Cortex parts use a different protocol like SWD? Is this protocol open and are there cheap programmers available? Last time I checked, SWD in OpenOCD was still work in progress. Not sure about the STM32 equivalent.

I don't know much about SWD, but I believe it is a standard from ARM also. I think STM32 also uses SWD, but I've never seen an ARM chip too small to have JTAG.

SWD is a standard and will work with any Cortex chip that supports it.  I use a Rowley SWD adapter attached to my Olimex FT2232 based JTAG programmer for SWD.

LPC13xx and LPC11xx devices require SWD and JTAG is not an option.  The cheapest hobby level programmer that supports both JTAG and SWD is the J-Link EDU version.  ~$60.00  Otherwise there are those cheap programmers like the Xpresso that are locked to a development environment.

AVR open source toolchain is quite good. That's the main reason for my preference of AVR over PIC. I don't know how hard the ARM toolchain is to set up yet. I just ordered my JTAG adapter, and designing my first STM32 board right now.

The GCC/Eclipse ARM toolchain is a pain in the ass.  At least it was to me, and I just gave up on it.  I'm using a personal license version of Rowley Crossworks.  $150.00

Cortex-M3 and Cortex-M0 is nice to use, but they are just not suitable for smaller projects.  I mean the simple stuff that takes one or two timers and a few pins.  I've just been using MSP430's for smaller gadgets.  No need to route a crystal and I can put a tiny little 16 pin QFN on the board.
Mark Higgins
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: Switching to 32-bit MCU from 8-bit "by default"
« Reply #26 on: June 13, 2011, 11:31:52 pm »
Quote
I don't know how hard the ARM toolchain is to set up yet. I just ordered my JTAG adapter,
Ah.  So your enthusiasm is based mostly on the marketing literature, rather than actual experience ?
Yeah.  On paper, 32bit CPUs are wonderful.

Quote
Almost if not all Cortex-M3s are single voltage (3.3V).
No, most of them have an internal regulator for the core voltage, which is not quite the same thing.
Quote
STM32 has 20mA drive capability I believe.
+/-8mA, actually.  20mA under "relaxed voltage conditions."

Quote
I've never seen an ARM chip too small to have JTAG.
That's because you seem to think a 48pin LQFP is "small", while I think it is "large." :-)  (You may be right.  Given high density packaging and fine pitch PCBs, pin count is no longer a very good measure of "size.")
I happily designed a prototype board for the 28-pin Stellaris ARM when it first came out, and I was a bit shocked to discover that you wind up with only 13 usable IO pins (none in anything as big as an 8bit clump.) (7 power pins!  5 for JTAG (yes, you can turn off JTAG, but then you can't program the device any more!))  This compares to 20 IOs for a similar conservative configuration of a 28pin AVR, or 13 IOs on an 18pin PIC...

 

Offline cyberfishTopic starter

  • Regular Contributor
  • *
  • Posts: 240
  • Country: gb
Re: Switching to 32-bit MCU from 8-bit "by default"
« Reply #27 on: June 14, 2011, 12:22:37 am »
Quote
Ah.  So your enthusiasm is based mostly on the marketing literature, rather than actual experience ?
Yeah.  On paper, 32bit CPUs are wonderful.
If you actually read my first post... this thread started with me thinking about switching to 32-bit microcontrollers, which usually implies that I haven't switched yet.

Quote
No, most of them have an internal regulator for the core voltage, which is not quite the same thing.
So does the PIC?

The problem with multi-voltages is it either requires more layers on the PCB, or more complex routing, plus additional regulator. If the chip has an internal regulator, then for all intents and purposes, it's a single-voltage chip.

You are right, I think QFP-48 is small. I have never really used anything less than 32-pin AVR or 48-pin PIC (besides playing with Arduino for a bit).

On, for example, STM32, I see most pins are available as IO pins. Sure, there are a few more power pins, but that's kinda necessary for a chip that runs at 120MHz. Still not nearly as bad as FPGAs, though.
 

Offline TheDirty

  • Frequent Contributor
  • **
  • Posts: 440
  • Country: ca
Re: Switching to 32-bit MCU from 8-bit "by default"
« Reply #28 on: June 14, 2011, 12:55:43 am »
I happily designed a prototype board for the 28-pin Stellaris ARM when it first came out, and I was a bit shocked to discover that you wind up with only 13 usable IO pins (none in anything as big as an 8bit clump.) (7 power pins!  5 for JTAG (yes, you can turn off JTAG, but then you can't program the device any more!))  This compares to 20 IOs for a similar conservative configuration of a 28pin AVR, or 13 IOs on an 18pin PIC...
In this case you would put a timer to allow the JTAG to function for a limited time, say 4 seconds or so, so you can always break into the chip if you need to.  Not optimal, but still available if needed.  I think that LM 28pin chip was just a stunt anyway, since they wanted to show they could put out a chip for less than $1 in bulk.  I used the Stellaris at that time and it was fun at the time, but they dropped back a bit until TI bought them.  Everything supports SWD as well as JTAG now, even the large 512k 100+ lead chips.

So, on the 32lead QFN's I get 32 pins, minus VDD, VDD(io), XTAL1, XTAL2, SWCLK, and SWDIO.  So I have 26 pins to work with.  VSS is handled by the thermal pad on the bottom, so I guess technically it's a 33 lead part.  SWDIO and SWCLK are remappable as well, if you want to put in a delay, though I've never had the need, so they rate it as 28 i/o.

Mark Higgins
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf