-
microchip or atmel ARM's
Posted by
Simon
on 11 May, 2017 16:40
-
I'd like to start looking at ARM uC's. I don't know if microchips IDE supports ARM for free and is a decent compiler available but given the merger should I consider them or plough on with atmel. microchip do have the SAM (atmel) chips advertised on their site so I assume they are not ditching them.
-
#1 Reply
Posted by
mubes
on 11 May, 2017 17:08
-
Without wanting to ask dumb questions, but why have you selected atmel/microchip? ST have 50% of the market and cheap starter boards, which means there's a lot of community info out there.
I'm not saying there's anything wrong with your choice, just wondering if you've got a specific reason for making it....when I'm going into a fight, i like to have the odds stacked in my favour.
Dave
-
#2 Reply
Posted by
Simon
on 11 May, 2017 17:12
-
I'm after a free toolchain and some simplicity.
-
#3 Reply
Posted by
ajb
on 11 May, 2017 17:16
-
Microchip doesn't have any ARMs other than the Atmel SAM parts, which are supported by Atmel Studio (as are all of the AVRs) which is 100% free. I don't know what Microchip's long term plans are for the Microchip/Atmel toolchains, but at the moment I don't think anything has changed since the merger in that realm.
If you don't like Atmel Studio for whatever reason, there's always Eclipse or one of the other pre-packaged ARM toolchains. I don't think support for Atmel's ICE debugger is very widespread, though, so you might need to use a third-party debug probe like the J-Link with other toolchains.
-
#4 Reply
Posted by
Simon
on 11 May, 2017 17:24
-
yes I looked at ST, looked like real hard work to work out how to fire up the software and get anything done.
-
#5 Reply
Posted by
ebclr
on 11 May, 2017 17:28
-
-
#6 Reply
Posted by
Kremmen
on 11 May, 2017 17:36
-
I don't see any good reason why not Atmel. True, ST is very common and i for one do use ST ARMs and kind of like them. Eclipse can be a bittersweet experience but the SW4STM32 (also free) IDE does work OK.
That said, Atmel Studio is easier to setup and use IMO, and combined with e.g. J-Link is easily the equal of Eclipse + ST-Link + OpenOCD.
-
#7 Reply
Posted by
dgtl
on 11 May, 2017 19:02
-
ST software offerings were quite non-existant until the recent years. Due to this, the internet is full of different solutions, that different people have come up with for their needs. As of now, the System Workbench (SW4STM32) is their supported and free IDE and toolchain. The toolchain includes graphical pin planning tool, that is the best i've used so far. ST-s development boards are cheap and a lot of them have on-board stlink. Alternatively, the stand-alone st-link can be bought quite cheaply as well, it is also quite cheap and comes in a nice plastic case. For hobbyists, the aliexpress, ebay etc have very cheap STM32F103 boards and ST-link clones, it costs almost nothing to start.
NXP was one of the first to provide free development tools with Code Red's code red studio alongside with cheap development boards and on-board debuggers, that got renamed to lpcxpresso and then bought up by NXP. Lately it was renamed again to mcuxpresso and now they are adding the support for the Freescale Kinetis parts after the merger with Freescale. With the coming of mcuxpresso, the code size limit was lifted and now it is free unless you want support or some advanced features (trace). Their development boards are also quite inexpensive and some have on-board debugger. The original mbed board had nxp mcu, before ARM itself bought them.
Cypress has very good software, sadly windows-only. They have gone beyond what the others have done and a lot of the hardware related stuff can be configured with the GUI wizards. Their PSoC boards are very cheap and most come with on-board debugger.
Silabs with their former Energy Mircro microcontroller line have also a very good free IDE and nice dev boards with integrated debuggers. They are concentrating to the very-low power segment of the market, their tools have power profiling correlated to trace etc.
Atmel's studio is also a quite old piece of software (renamed from AVR studio after they added support to Cortex-M SAM controllers). Also sadly windows-only, although they run gcc under the hood. At the beginning they had re-branded segger jtag/swd probes, that were not that cheap. Now there is Atmel ICE, still quite expensive compared to others.
I'm using usually ST, NXP or Cypress parts, depending on the required functionality. I've had too many issues with Atmel (mainly with SAM9 series, but some SAM3 as well), so now we're trying to avoid their stuff if possible. Also at the last Embedded World, the Atmel was kind of un-represented at the Microchip booth and their booth was one of the most pointless booths at all.
-
#8 Reply
Posted by
JPortici
on 11 May, 2017 19:59
-
For ATSAM parts your target IDE is still ATMEL studio, which is derived from visual studio.
NXP instead promotes its ide which is derived from eclipse
both have an assortment of very useful plugins, for example one that gives you access to the peripheral registers written in their way, you can flip bits etc. very useful to understand how to set up a peripheral.
Me, i never found ST very attractive. little offerings in small packages and with very little memory. Very hard to understand the documentation (for me)
but they do tend to come with a crapton of timers/pwms/dacs.. if i have to use arm i tend to look at nxp and atsam
-
#9 Reply
Posted by
XFDDesign
on 11 May, 2017 20:35
-
If you're after spending a few thousand on a compiler, go for something else. If you're after spending lots of money on hardware tools, go for something else. If you're after spending numerous hours trying to piece meal a toolchain for your chosen arm, go with something else.
If you're after writing code and working with an ARM in the quickest way possible, go with the Atmel.
I recommend buying a dev board like this:
http://www.mouser.com/ProductDetail/Microchip/ATSAMD21-XPRO/?qs=%2fha2pyFadugeFtluLDCUNfmpIrYOIwyAFtT2psUGQi%2fyMIDajXbM7g%3d%3das it includes the programmer on-board, so you're actually up and running in about 10 minutes. I've never been able to say that for any other ARM vendor who I have tried.
Once you want to set out on your own, you will need to buy the SAM-ICE programmer at around $100. The CortexM0 arm is also a very friendly device to get started with, if you have past microcontroller experience.
-
#10 Reply
Posted by
Kjelt
on 11 May, 2017 20:45
-
Me, i never found ST very attractive. little offerings in small packages and with very little memory.
They offer up to 2MB flash and 256kRAM, if you want more buy a raspberri pi.
-
-
yes I looked at ST, looked like real hard work to work out how to fire up the software and get anything done.
Did you expect it to be easy?
-
#12 Reply
Posted by
Simon
on 12 May, 2017 06:30
-
yes I looked at ST, looked like real hard work to work out how to fire up the software and get anything done.
Did you expect it to be easy?
I expect them to talk in easy to understand language for the new comer, we all have to start somewhere. I already have new chips to learn, the software need not be made unnecessarily hard.
-
#13 Reply
Posted by
Kjelt
on 12 May, 2017 07:11
-
Arm 32 bits start is tough even for an experienced 8 bit software engineer, hardware engineers have to work even harder although they have the benefit of dealing with the peripherals more easily.
-
#14 Reply
Posted by
JPortici
on 12 May, 2017 07:40
-
Me, i never found ST very attractive. little offerings in small packages and with very little memory.
They offer up to 2MB flash and 256kRAM, if you want more buy a raspberri pi.
I admit it was a while since i last checked them out. they do have moved to smaller packages and more memory on F0 and F1 line
-
#15 Reply
Posted by
Rerouter
on 12 May, 2017 08:09
-
Arm 32 bits start is tough even for an experienced 8 bit software engineer, hardware engineers have to work even harder although they have the benefit of dealing with the peripherals more easily.
As someone about to try and jump into the world of 32 bit arms, any pointers towards why the transistion is hard?
-
#16 Reply
Posted by
Kjelt
on 12 May, 2017 08:38
-
I admit it was a while since i last checked them out. they do have moved to smaller packages and more memory on F0 and F1 line
They have this stepping marketing, they offer a lot of different ROM/RAM and packagesizes per base cortex family (M0/M1/M2/M3/M4/M7) when you run out of space on one cortex family you probably have to step up to the next one.
It all has to do with prices. Competitors offer only a few packages with lots of ROM/RAM costing more, that is a choice.
The way I would suggest to work is make an accurate estimation of the total ROM/RAM you need for the final product (code optimized) and add at least 25% for future development/features.
Then and this is a mistake that a lot people make an can cost you, also check out there is an exact same footprint package in the same family preferably the exact same package with around twice the ROM available for development debug purposes. If you don't do that, you can forget in the end of your development that you can still on target debug or you have to mix debug and release modules
I have been burnt before due to lousy estimations from the architects that already designed in a package that was at the end of the line (no larger ROM available) and took many manweeks of extra effort in the end to release the product, been there, experienced it and never again
-
#17 Reply
Posted by
julian1
on 12 May, 2017 09:02
-
I'm after a free toolchain and some simplicity.
On linux, I got started with a stm32f4 board using just vim, gcc-arm-none-eabi, and openocd + gdb with a $10 stlink programmer.
-
#18 Reply
Posted by
JPortici
on 12 May, 2017 10:14
-
I admit it was a while since i last checked them out. they do have moved to smaller packages and more memory on F0 and F1 line
They have this stepping marketing, they offer a lot of different ROM/RAM and packagesizes per base cortex family (M0/M1/M2/M3/M4/M7) when you run out of space on one cortex family you probably have to step up to the next one.
It all has to do with prices. Competitors offer only a few packages with lots of ROM/RAM costing more, that is a choice.
The way I would suggest to work is make an accurate estimation of the total ROM/RAM you need for the final product (code optimized) and add at least 25% for future development/features.
Then and this is a mistake that a lot people make an can cost you, also check out there is an exact same footprint package in the same family preferably the exact same package with around twice the ROM available for development debug purposes. If you don't do that, you can forget in the end of your development that you can still on target debug or you have to mix debug and release modules
I have been burnt before due to lousy estimations from the architects that already designed in a package that was at the end of the line (no larger ROM available) and took many manweeks of extra effort in the end to release the product, been there, experienced it and never again
developing always happens with the biggest chip available in the family. eventually you scale back, that's my usual approach. I say eventually because the price difference is usually peanuts and doesn't really make a difference with my numbers
but it always comes down to what you need. i needed to make a -very- small gadget that interfaced to two separated can bus-es. the stm32 offering started at 64 pin tqfp. atsamc21 with 2 can bus for 32 pin tqfp (or even qfn, i don't remember. still in alpha stage, design not finalized). atsam was the choice
then i again tend to use nxp LPC.. they have cool shit, like the dual core m4-m0 combo, now with usb that i think it's slightly less broken and as simon says things doesn't have to be unnecessary hard. looking at you, impossible-to-understand stm manuals, with lots of unsaid stuff and differences between registers names from documentation and include files (register access, not hal or whatever. i don't want to think about it ever again.)
and setting up the toolchain. god i want to download an installer. install and start coding.
again, these things might have changed for the better, i hope, but i like those cortex m0+ from atmel and nxp better
-
#19 Reply
Posted by
ptricks
on 12 May, 2017 11:48
-
ST has some powerful and widely used ARM chips but they as a company have never been good at writing easy to understand documentation.
I really like NXP both in the chip and documentation.
My second choice would be cypress .
If just starting out look for the chips that have a serial bootloader burned in ROM that can't be corrupted,these are really easy to get going and don't require any programmer other than a serial port or special software.
-
#20 Reply
Posted by
nctnico
on 12 May, 2017 12:24
-
ST has some powerful and widely used ARM chips but they as a company have never been good at writing easy to understand documentation.
I really like NXP both in the chip and documentation.
Same here. NXP's ARM are way more consistent too and had a good serial bootloader from the start.
-
#21 Reply
Posted by
janoc
on 12 May, 2017 16:15
-
I admit it was a while since i last checked them out. they do have moved to smaller packages and more memory on F0 and F1 line
If you need anything higher end, why would you use the F0/F1 lines? F0 is meant to replace the smallest 8bitters and be as cheap as possible (some cost <$1/piece). F1 is an old entry level line as well.
For more complex stuff take F3/4 or even F7, then you have tons of memory, peripherals, etc. And the prices are still reasonable.
-
-
I'm after a free toolchain and some simplicity.
How about a free toolchain that works with all ARM Cortex parts? Just take Eclipse, add GCC, and CDT and you're off and running. Takes about thirty minutes to download and install.
-
#23 Reply
Posted by
mubes
on 12 May, 2017 20:00
-
The problem with a roll-it-yourself is all the detail problems you bump into when something changes (a software version here, an install directory there....) and you don't want that complexity when you're just setting out. Personally, even now, I prefer a 'clean' gcc/makefile environment to pretty much all the alternatives, but that's not the easy way into this stuff.
I can't speak for the Atmel/Microchip stuff 'cos I've not used their development environments, and maybe it's great, but the pain of ARM falls into two distinct sectors; learning the chip architecture and learning the peripherals. The chip architecture you can (obviously) use anything from that family for...there's little difference between manufacturers; A missing SYSTICK register here, an MTB there....it's not a big deal and it won't get in the way. A *much* bigger problem is the peripherals; A modern CORTEX-Mx lives or dies on it's peripherals since it's just the same as the next CORTEX-Mx along in most other respects...and those peripherals can be complex. That means you really want to invest in one family and stick with it as much as possible (based on the assumption that their IP remains consistent across their range...not _always_ the case). From that perspective I would highly recommend the NXP stuff; Very nice, reasonably consistent, peripherals and a decent Eclipse-based/gcc development environment. A good, flexible, starter chip would be the LPC1549, or the LPC1347 if you want something rather simpler...the LPC5411x is the next step up, and the LPC43's thereafter (LPC4367 features a CORTEX-M4 and two CORTEX-M0s and a shed load of peripherals). They've bundled the chips onto boards which they call LPCXpresso and which also have a debugger (Proprietary, CMSIS-DAP or SEGGER compatible) and quite reasonable library support...although it's not perfect. The merger with Freescale has created an even richer ecosystem, but I do prefer that old Philips lineage.
ST certainly has the most extensive range, and their M7/H7 chips are very cool, but if you're needing that level of firepower then quite frankly in my opinion you should be looking for something with a real MMU on it (i.e. A-series or MIPS) because with that amount of functionality on board you really should have as much help on your side as possible.
In answer to the OPs original question; No manufacturer is going to dump a line of embedded ARMs, it would be commercial suicide. What they might do is orphan one, but that's no real problem. There _is_ an investment in learning ARM (and spending your apprenticeship fighting your way out of the Hardfault_Handler) but there's an equal investment in the peripherals to be made .... learning what you can do with the timers on a STM32F4 or the SCT on a LPC4330 is a chunk of effort .... and that's the bit where you want the continuity.
Regards
DAVE
-
#24 Reply
Posted by
Simon
on 12 May, 2017 20:27
-
What interface does a SAM D20 use for programming ? As usual a basic peice of information that I have to dig for and have not found yet. I have an Atmel ICE and it has a same port on it as well as an AVR one and it's 10 pin