Author Topic: help. leaving pic for arm... but which arm????  (Read 23938 times)

0 Members and 1 Guest are viewing this topic.

Offline BloodyCactusTopic starter

  • Frequent Contributor
  • **
  • Posts: 482
  • Country: us
    • Kråketær
help. leaving pic for arm... but which arm????
« on: July 04, 2015, 11:27:58 pm »
So, if one were to say, flee at speed from using pic32mx's and switch to an arm core... exactly which arm core? I know they all pretty much contain the same pehiperals (i2c, spi, can, uarts, multiple timers etc).. who has the least bug free libraries with documentation? (under linux).

I dont want any crappy online only compilers etc. online ide or that.

mchip provide a netbeans ide which does debugging nicely. anyone in the arm ecosystem provide a nice eclipse/netbeans based ide under linux that does debugging?

One thing I loved about the pic32mx in dip + soic was I could get a 50mhz chip with 64kb sram and 256kb program flash. most arm cores I see have like 4 or 8kb :( Looking on mouser, I see two arm DIP parts, and both NXP chips, one has 4kb program/1kb data, and one has 32kb program/4kb data.

ugh.

Im not seeing anything good on mouser that would meet 256/64 at 50mhz+ in soic or dip.

choosing 64kb sram, mouser is listing LQFP-100 and BGA chips ugh, and all at over $5 in singles...

this switching to arm looks harder than I expected when I cant find a comparable chip.

anyone have any reccomendations?
-- Aussie living in the USA --
 

Offline Tandy

  • Frequent Contributor
  • **
  • Posts: 372
  • Country: gb
  • Darren Grant from Tandy, UK.
    • Tandy
Re: help. leaving pic for arm... but which arm????
« Reply #1 on: July 04, 2015, 11:33:11 pm »
For ARM micros you have a full open toolchain available...

GCC ARM
Eclipse IDE
OpenOCD

Works well with STM32 and probably others.
For more info on Tandy try these links Tandy History EEVBlog Thread & Official Tandy Website
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: help. leaving pic for arm... but which arm????
« Reply #2 on: July 05, 2015, 12:08:29 am »
Add to that the GNU ARM Eclipse plugin that ties all those pieces together.

Any Cortex-M core will do, but performance and memory tends to go hand in hand with increased footprint.

EDIT: Closest I could find is Infineon's XMC1100/1200/1300 - 32MHz Cortex-M0, with up to 200K flash and 16K RAM, available in TSSOP. Realistically you will have to go to at least QFP, but then you can get eg. the Atmel ATSAM4N8AA-AU - 100MHz Cortex-M4, with 512K flash and 64K RAM, available in LQFP-48.
« Last Edit: July 05, 2015, 01:29:04 am by andersm »
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: help. leaving pic for arm... but which arm????
« Reply #3 on: July 05, 2015, 01:08:20 am »
NXP offers a very wide range of ARM controllers and re-uses their peripherals a lot so it is easy to switch from one controller to another without needing to learn new peripherals. If you really need lots of flash in a small footprint then the LPC11U68 in a QFP48 case might be an option. I wouldn't want to use a DIP package for a high speed microcontroller anyway. Proper power supply decoupling gets difficult.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline BloodyCactusTopic starter

  • Frequent Contributor
  • **
  • Posts: 482
  • Country: us
    • Kråketær
Re: help. leaving pic for arm... but which arm????
« Reply #4 on: July 05, 2015, 01:46:38 am »
hmm it appears I already have an STLink v2 programmer here. maybe I should concentrate on the STM32 stuff?
-- Aussie living in the USA --
 

Offline funkathustra

  • Regular Contributor
  • *
  • Posts: 150
  • Country: us
Re: help. leaving pic for arm... but which arm????
« Reply #5 on: July 05, 2015, 04:51:17 am »
Check out the Freescale Kinetis stuff. Highly underrated among hobbyists. Given your interest in a low-cost, large-flash part that's easy to solder, I'd look at the $3 MKL16Z256. If you need something more powerful than that, check out the KV31 stuff, which can run at 120 MHz, and still clocks in at just north of $4/each in low volume.

You're not going to find anything in TSSOP with that sort of memory density -- and I think only LPC makes DIP versions of ARM processors.

I've never understood the crazy-high amounts of flash and RAM that Microchip shoves into their PICs -- I guess it's because the free version of their compilers doesn't have any code optimization support :). In all seriousness, though, the only times I reach for an MCU with that kind of flash / RAM is when I'm doing something with a network stack and/or an LCD. At that point, I'll need a 100-LQFP just to get all the signals out of the MCU. Not sure of any applications where you want low pin-count and high flash / RAM.

Anyway, why Freescale Kinetis? Here are some reasons:
  • Wide portfolio covering $0.85 5-volt compliant Cortex-M0+ MCUs (designed as 8-bit killers), to 180 MHz Cortex-M4F beasts with tons of flash, RAM, and peripherals. Their low-cost Cortex-M0+ stuff is some of the lowest-power MCUs I've ever used, and they're super easy to work with. They obviously have their infamous i.MX6 (up to 1.2 GHz quad-core) Cortex-A processors, but that's an entirely different beast altogether.
  • Their low-cost FRDM development boards typically run for less than the price of an Arduino, and have a Segger J-Link-compatible OpenSDA debugger on-board (which can run several hundred dollars if purchased stand-alone).
  • Kinetis Design Studio, their open-source Eclipse-based IDE is super easy to install and use
  • Processor Expert, which is Freescale's GUI configuration / code generation tool for hardware peripherals is really underrated. ARM microcontrollers have a lot of advanced features that aren't typically found in 8-bit MCUs (complex clock system, peripheral-level power management, NVIC, etc, so it's overwhelming for a lot of hobbyists to get started. Processor Expert lets you specify human-readable peripheral parameters, and PE will automatically generate initialization code and HAL functions.
  • Kinetis SDK, which is their new peripheral library / software interface library, is a nice balance between CMSIS (20 lines of code just to configure a single GPIO pin) and Arduino (limited peripheral configurability without doing raw register writes). Processor Expert can also write Kinetis SDK code for you.
  • MQX, which is Freescale's open-source in-house RTOS, is extremely mature and functional. It's a little more verbose than other RTOSes, but it's also very powerful as a result.
  • USB and Ethernet stack that's almost as user-friendly as Microchip's. You're not going to find that from other vendors.

I've used a *lot* of MCUs over the years -- Everything Microchip has ever put out, ST's STM32 line, TI's Stellaris and MSP430 stuff, NXP's LPC stuff, Infineon's ARM portfolio, even all that Atmel crap (yuck! I have no idea how that company is still around). I keep going back to Kinetis, because I feel more productive on it than any other MCU out there.
« Last Edit: July 05, 2015, 05:16:26 am by funkathustra »
 

Offline Tandy

  • Frequent Contributor
  • **
  • Posts: 372
  • Country: gb
  • Darren Grant from Tandy, UK.
    • Tandy
Re: help. leaving pic for arm... but which arm????
« Reply #6 on: July 05, 2015, 09:29:23 am »
hmm it appears I already have an STLink v2 programmer here. maybe I should concentrate on the STM32 stuff?
The good thing about using ARM with GCC ARM,Eclipse IDE & OpenOCD is that if you use the CMSIS components it offers a somewhat standard method for accessing the peripherals making it easier to switch between different vendors.
For more info on Tandy try these links Tandy History EEVBlog Thread & Official Tandy Website
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: help. leaving pic for arm... but which arm????
« Reply #7 on: July 05, 2015, 09:52:53 am »
Switching between vendors through CMSIS is a myth. IMHO it is important to look for a vendor which uses the same peripherals in their devices. This vendor will most likely stick to these peripherals for newers versions of their chips so you can port your existing code quickly to newer devices. I was using NXP's ARM7TDMI controllers a lot and due to the peripherals staying the same the move to Cortex Mx was very easy for me. For simple peripherals like UARTs, timers, I2C, etc I roll my own hardware libraries (or have done so) and use third party libraries (like LUFA) to handle complicated peripherals like ethernet and USB. Vendor provided libraries are usually written by interns AND need to be a one-size fits all solution so don't expect anything production ready or optimal for your project.

BTW it will be interesting to see where Freescale's Kinetis line will end up in NXP's microcontroller portfolio since Freescale is now part of NXP.
« Last Edit: July 05, 2015, 09:54:35 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1093
  • Country: gb
  • Embedded stuff
Re: help. leaving pic for arm... but which arm????
« Reply #8 on: July 05, 2015, 10:51:06 am »
hmm it appears I already have an STLink v2 programmer here. maybe I should concentrate on the STM32 stuff?
The good thing about using ARM with GCC ARM,Eclipse IDE & OpenOCD is that if you use the CMSIS components it offers a somewhat standard method for accessing the peripherals making it easier to switch between different vendors.

In practice, apart from some minor stuff like SysTick, NVIC, CMSIS does not provide any useful level of portability. For example, CMSIS does not include a standard API for GPIO or timers.

Even if something is defined in CMSIS spec, there is no incentive for vendors tol provide CMSIS compliant code - they are not interested in making it easy to switch to other vendors!
Bob
"All you said is just a bunch of opinions."
 

Offline BravoV

  • Super Contributor
  • ***
  • Posts: 7547
  • Country: 00
  • +++ ATH1
Re: help. leaving pic for arm... but which arm????
« Reply #9 on: July 05, 2015, 10:58:40 am »
..... they are not interested in making it easy to switch to other vendors!

 :-+ This ....

Although I'm just an enthusiast level, my believe is with current ARM's mcus landscape, you must choose which devil to put your bet on.  >:D

... yeah, sigh, I had choose which side already ...  :'(

Offline donotdespisethesnake

  • Super Contributor
  • ***
  • Posts: 1093
  • Country: gb
  • Embedded stuff
Re: help. leaving pic for arm... but which arm????
« Reply #10 on: July 05, 2015, 11:11:46 am »
Im not seeing anything good on mouser that would meet 256/64 at 50mhz+ in soic or dip.

choosing 64kb sram, mouser is listing LQFP-100 and BGA chips ugh, and all at over $5 in singles...

this switching to arm looks harder than I expected when I cant find a comparable chip.

anyone have any reccomendations?

Firstly you'll have to forget about DIP or SOIC, and at least get to grips with LQFP. My impression is that Microchip still offer good value for money at the low end, so you would have to compromise somewhere to get the same price point.

I think a good place to dip a toe into the water is STM32F103. STM32 are quite cheap, widely available, with plenty of online info. Their Nucleo boards are some of cheapest dev boards around.

If you find speed, Flash or price unsuitable you can move up or down the spectrum, STM have a range from Cortex-M0 to M7.

If you don't like STM, other entry points to consider would be NXP LPC1347, or Freescale Kinetis K22.

There is probably more info about LPC online, but Kinetis have good value for money, as they skipped Cortex M3 and use Cortex M4 instead. Atmel SAM series are quite user friendly, but their chips are overpriced and have some technical limitations IMO.
Bob
"All you said is just a bunch of opinions."
 

Offline nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: help. leaving pic for arm... but which arm????
« Reply #11 on: July 05, 2015, 11:55:23 am »
IMHO going for the cheapest development board or device is the wrong way. Better look at how much time you'll need to get up to speed with a device and where the problems are.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Howardlong

  • Super Contributor
  • ***
  • Posts: 5319
  • Country: gb
Re: help. leaving pic for arm... but which arm????
« Reply #12 on: July 05, 2015, 12:15:27 pm »
I use NXP's LPCxpresso and TI's Code Composer Studio, both Eclipse based.

TI's CCS is a cleaner, faster and more bug free than LPCxpresso. LPCxpresso seems more dependent on loosely coupled bolt ons, CCS feels much more tightly integrated.

Either way, you'll have quite a learning curve ahead of you coming from PIC32, not because the fundamentals are different, they're not, but learning these complex development environments is not trivial. Getting a blinky running is of course reasonably easy, but it won't take long before you find yourself lost in a plethora of options and settings once you want to do something real.
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: help. leaving pic for arm... but which arm????
« Reply #13 on: July 05, 2015, 12:34:37 pm »
Infineon's XMC1100/1200/1300 - 32MHz Cortex-M0

do they sell to anyone other than auto/robot/machinery people? they seem to be targeting heavy industry

Check out the Freescale Kinetis stuff.

easiest to start with Teensy
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline andersm

  • Super Contributor
  • ***
  • Posts: 1198
  • Country: fi
Re: help. leaving pic for arm... but which arm????
« Reply #14 on: July 05, 2015, 12:37:43 pm »
Infineon's XMC1100/1200/1300 - 32MHz Cortex-M0
do they sell to anyone other than auto/robot/machinery people? they seem to be targeting heavy industry
They're available on eg. DigiKey.

Offline BloodyCactusTopic starter

  • Frequent Contributor
  • **
  • Posts: 482
  • Country: us
    • Kråketær
Re: help. leaving pic for arm... but which arm????
« Reply #15 on: July 05, 2015, 04:03:09 pm »
Ive looked at kinetis stuff before and was interested but i do wonder about the nxp shadow and what may happen.

teensy, its not open source, I dont need to have to buy the mini54 chip or whatever each time I want to use a teensy or something.

I guess I'm going to have to brush up on my hand soldering of lqfp or tqfp parts lol  |O
-- Aussie living in the USA --
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: help. leaving pic for arm... but which arm????
« Reply #16 on: July 05, 2015, 04:07:20 pm »
easiest to start with Teensy

Agreed, that Teensy 3.1 for just $19.80 looks very capable. Even the 3.0 for $19, and since it's a Cortex M4 it might have DSP if you need that.
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: help. leaving pic for arm... but which arm????
« Reply #17 on: July 05, 2015, 04:52:16 pm »
easiest to start with Teensy

Agreed, that Teensy 3.1 for just $19.80 looks very capable. Even the 3.0 for $19, and since it's a Cortex M4 it might have DSP if you need that.


The Teensy 3.1 is not open source design. If you will later want to have your own custom PCBs based on that design you will have to purchase the Teensy licensing chip.

The Neutrino is a better choice in this regard.  Open and minimal design.
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: help. leaving pic for arm... but which arm????
« Reply #18 on: July 05, 2015, 06:05:08 pm »
I guess if you want to stick with the Teensy Loader, but it's just an MK20DX256VLH7

https://www.pjrc.com/teensy/schematic.html

I would think you can use any toolchain once you outgrow the Teensy bootloader.
 

Offline funkathustra

  • Regular Contributor
  • *
  • Posts: 150
  • Country: us
Re: help. leaving pic for arm... but which arm????
« Reply #19 on: July 05, 2015, 11:35:47 pm »
Agreed with the overall sentiment on this thread with respect to CMSIS. Most vendors provide proprietary peripheral interfaces that are easier to use and perform faster than CMSIS.

Keep in mind that while everyone and their dog makes ARM Cortex-M MCUs, most of the peripherals are manufacturer-supplied, not ARM supplied. For example, the Freescale Kinetis peripherals are basically all just ColdFire peripherals that have been dumped onto the die with the ARM core. That's why it's difficult to port code from one ARM MCU to another.

I guess I'm going to have to brush up on my hand soldering of lqfp or tqfp parts lol

I've never understood people's fear of fine-pitch SMD soldering. I ran a soldering table at a maker event in my city, and I had 12-year-old kids (and their moms) soldering 0.5mm QFPs after about 2 minutes of instruction. Flux, tack, drag, and wick. Easy.

As long as you're soldering components on "real" PCBs (solder resist and finished pads that aren't corroded), and as long as you have reasonably good eyesight to be able to see that pins are aligned, it only takes basic technique to be able to solder those parts. It's time-consuming for beginners because they tend to put way too much solder on joints, so they spend a lot of time fluxing and wicking away, which, while not difficult, is time-consuming and tedious.

What about BGAs and QFNs? I solder QFNs and BGAs all the time with a cheapo hot air gun or my reflow oven. I'd prefer to solder a 0.8mm pitch BGA over a 0.4mm pitch LQFP / QFN any day. I almost never have them come out of the oven with bad solder joints.
« Last Edit: July 05, 2015, 11:40:02 pm by funkathustra »
 

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: help. leaving pic for arm... but which arm????
« Reply #20 on: July 05, 2015, 11:45:43 pm »
I prefer STM32.. (for maybe obvious reasons..)

Use professional tools like Keil, IAR,...  GCC is good, but not good enough, compared to for example IAR compiler.

CMSIS? Only as a register definition header file. Never ever use that other crap. Different vendors with different MCUs are different to be different, never meant to be equalized by any means. Use arduino otherwise...  :)

 

Offline Palmitoxico

  • Regular Contributor
  • *
  • Posts: 55
  • Country: br
  • no
Re: help. leaving pic for arm... but which arm????
« Reply #21 on: July 05, 2015, 11:50:01 pm »
Check out the Freescale Kinetis stuff. Highly underrated among hobbyists. Given your interest in a low-cost, large-flash part that's easy to solder, I'd look at the $3 MKL16Z256. If you need something more powerful than that, check out the KV31 stuff, which can run at 120 MHz, and still clocks in at just north of $4/each in low volume.

You're not going to find anything in TSSOP with that sort of memory density -- and I think only LPC makes DIP versions of ARM processors.

I've never understood the crazy-high amounts of flash and RAM that Microchip shoves into their PICs -- I guess it's because the free version of their compilers doesn't have any code optimization support :). In all seriousness, though, the only times I reach for an MCU with that kind of flash / RAM is when I'm doing something with a network stack and/or an LCD. At that point, I'll need a 100-LQFP just to get all the signals out of the MCU. Not sure of any applications where you want low pin-count and high flash / RAM.

Anyway, why Freescale Kinetis? Here are some reasons:
  • Wide portfolio covering $0.85 5-volt compliant Cortex-M0+ MCUs (designed as 8-bit killers), to 180 MHz Cortex-M4F beasts with tons of flash, RAM, and peripherals. Their low-cost Cortex-M0+ stuff is some of the lowest-power MCUs I've ever used, and they're super easy to work with. They obviously have their infamous i.MX6 (up to 1.2 GHz quad-core) Cortex-A processors, but that's an entirely different beast altogether.
  • Their low-cost FRDM development boards typically run for less than the price of an Arduino, and have a Segger J-Link-compatible OpenSDA debugger on-board (which can run several hundred dollars if purchased stand-alone).
  • Kinetis Design Studio, their open-source Eclipse-based IDE is super easy to install and use
  • Processor Expert, which is Freescale's GUI configuration / code generation tool for hardware peripherals is really underrated. ARM microcontrollers have a lot of advanced features that aren't typically found in 8-bit MCUs (complex clock system, peripheral-level power management, NVIC, etc, so it's overwhelming for a lot of hobbyists to get started. Processor Expert lets you specify human-readable peripheral parameters, and PE will automatically generate initialization code and HAL functions.
  • Kinetis SDK, which is their new peripheral library / software interface library, is a nice balance between CMSIS (20 lines of code just to configure a single GPIO pin) and Arduino (limited peripheral configurability without doing raw register writes). Processor Expert can also write Kinetis SDK code for you.
  • MQX, which is Freescale's open-source in-house RTOS, is extremely mature and functional. It's a little more verbose than other RTOSes, but it's also very powerful as a result.
  • USB and Ethernet stack that's almost as user-friendly as Microchip's. You're not going to find that from other vendors.

I've used a *lot* of MCUs over the years -- Everything Microchip has ever put out, ST's STM32 line, TI's Stellaris and MSP430 stuff, NXP's LPC stuff, Infineon's ARM portfolio, even all that Atmel crap (yuck! I have no idea how that company is still around). I keep going back to Kinetis, because I feel more productive on it than any other MCU out there.

Well, it was a pain in the ass to program and debug these Kinetis FRDM boards on Linux through OpenSDA (which is not open at all!!).

I'm using now STM32 chips with STLink V2 debugger and I liked it! The learning curve was a little hard, but eventually I've learned enough to write an TFT LCD library.
My IDE is basically emacs + git + arm-none-eabi toolchain + OpenOCD. I've tried Eclipse, but it was too unstable and cumbersome to me. I know, GDB isn't the easiest debugger to use with microcontrollers, but it does the job. I'm writing an GUI front end for GDB specially target to Cortex M microcontrollers (it will provide an friendly to watch peripherals and memory).
 

Offline zapta

  • Super Contributor
  • ***
  • Posts: 6190
  • Country: us
Re: help. leaving pic for arm... but which arm????
« Reply #22 on: July 06, 2015, 05:16:29 am »
I prefer STM32.. (for maybe obvious reasons..)

Can you explain the 'obvious reasons'?

 

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: help. leaving pic for arm... but which arm????
« Reply #23 on: July 06, 2015, 05:51:29 am »
ST put effort in designing the chips in such a way that swapping ST-parts is easy. Chips of the same family are often binary compatible, and the datasheet contains a diagram of what to change what switching to/from lower/higher chip.

I like NXP because of the relative simplistic peripherals. With their limits, obviously.
Get you running quickly if you don't need anything fancy. You'll be vendor locked anyway if you need fancy peripherals. It just requires less rework to switch brands, if you've made a good layer layer cake.

Choosing the chip/family of a cheap development kits can benefit in having popular open-source software plug&play available.

Always read the errata sheet before purchase.
« Last Edit: July 06, 2015, 05:53:22 am by Jeroen3 »
 

Offline Muxr

  • Super Contributor
  • ***
  • Posts: 1369
  • Country: us
Re: help. leaving pic for arm... but which arm????
« Reply #24 on: July 06, 2015, 05:59:27 am »
I guess I'm going to have to brush up on my hand soldering of lqfp or tqfp parts lol  |O
It's not bad. I do recommend a hot air rework station though (love that thing). They can be gotten for cheap. i just put together a board with a few TQFP 100 pin chips, and I didn't even have a stencil. Toothpick applied the paste and then hot air reflow-ed it. I put little too much paste and had a few shorts but it was easy to wick it up with the solder wick. Id imagine it would be super easy with a stencil (mine is on a slow boat from China and I couldn't wait).
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf