Author Topic: Programmer and choosing MCU  (Read 3757 times)

0 Members and 1 Guest are viewing this topic.

Offline mmFooDTopic starter

  • Contributor
  • Posts: 43
  • Country: se
Programmer and choosing MCU
« on: August 17, 2017, 04:01:04 pm »
I am doing some programming of AVR's mostly atmega328 and attiny85 using the arduino bootloader and arduino-as-isp. But I think it is time to cut the training wheels and start using a dedicated programmer and program using C++ code on a AVR and avrdude. The question is, what programmer should I get? And do they all work with GNU/Linux and avrdude?


I will mostly be programming AVR's but I keep reading that ARM is where things are heading so who knows? Is it worth getting the ICE 2 or the dragon or should I just settle for the AVR-ISP MkII


If I get the MkII I thought I'd build something inspired by .


Now that Microchip has aquired Atmel, will they be using the same programmer in the future? What do you think?



 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: Programmer and choosing MCU
« Reply #1 on: August 17, 2017, 04:13:47 pm »
It's nice to have debugging, but I feel the ICE mkII is quite expensive, considering an STM programmer is just 20 bucks. Then again, if you value your time in any way, spending more for a good tool is definitely worth it.

Getting into AVR is not a waste of time, considering it is a good way to learn the basics and build some cool projects to boot.
« Last Edit: August 17, 2017, 04:15:54 pm by Mr. Scram »
 

Offline stmdude

  • Frequent Contributor
  • **
  • Posts: 479
  • Country: se
Re: Programmer and choosing MCU
« Reply #2 on: August 17, 2017, 04:49:30 pm »
I'm not an AVR guy at all, but should't something like this work for you?
https://www.electrokit.com/avrisp500-stk500-kompatibel-usbprogrammerare.45622

Or, if you're in Malmo (or can get there), you can have one of these https://www.electrokit.com/avrispmk2.49399 that I'm not using.
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: Programmer and choosing MCU
« Reply #3 on: August 18, 2017, 07:31:56 am »
Current programmer/debugger is "Atmel ICE."  Does both the ARM and AVR chips of modern vintage (but, I think not parallel programming or HV serial programming?)  Occasionally goes on sale.

The "Xplained Mini" boards have a built-in debugger/programmer, and are quite a bargain (~$10 each)
 

Offline danadak

  • Super Contributor
  • ***
  • Posts: 1875
  • Country: us
  • Reactor Operator SSN-583, Retired EE
Re: Programmer and choosing MCU
« Reply #4 on: August 18, 2017, 01:35:24 pm »
Consider the PSOC ARM families, PSOC 4 and 5LP and very soon PSOC 6.

You get (part dependent, 5LP family all of th below)

1) ARM Core, M0 or M3, in case of POSOC 6 dual core M4 & M0
2) DSP engine, filter wizard
3) UDB blocks, create custom components via schematic capture or verilog or UDB editor
4) 20 bit DelSig and / or 12 but SAR A/Ds
5) Onboard reference
6) Free tools
7) Boards ranging from $ 10, $ 25, and others, all with debug/program via USB, some with arduino footprint
8) Video training library robust, forums very active
9) See attached component library, drag and drop onto schematic, route to pins or internal. See attached.
Components are onchip resources. Complete with code to do simple C calls to manipulate.
10) Start at the very basics and learn capability as you go
11) Lots of analog, OpAmps, Mixer, VDACs, IDACs, TIA, Comparator.
12) Tons of example code right in tool, can use to learn or as basis for a new project




Regards, Dana.

« Last Edit: August 18, 2017, 03:32:37 pm by danadak »
Love Cypress PSOC, ATTiny, Bit Slice, OpAmps, Oscilloscopes, and Analog Gurus like Pease, Miller, Widlar, Dobkin, obsessed with being an engineer
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Programmer and choosing MCU
« Reply #5 on: August 18, 2017, 02:35:28 pm »
I might still have in my lab a Dragon programmer with a couple of socket to program AVR chips.
I don't happen to need it.

Paid 50 euro, I might sell for 20.
 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: Programmer and choosing MCU
« Reply #6 on: August 18, 2017, 05:56:44 pm »
Consider the PSOC ARM families, PSOC 4 and 5LP and very soon PSOC 6.

You get (part dependent, 5LP family all of th below)

1) ARM Core, M0 or M3, in case of POSOC 6 dual core M4 & M0
2) DSP engine, filter wizard
3) UDB blocks, create custom components via schematic capture or verilog or UDB editor
4) 20 bit DelSig and / or 12 but SAR A/Ds
5) Onboard reference
6) Free tools
7) Boards ranging from $ 10, $ 25, and others, all with debug/program via USB, some with arduino footprint
8) Video training library robust, forums very active
9) See attached component library, drag and drop onto schematic, route to pins or internal. See attached.
Components are onchip resources. Complete with code to do simple C calls to manipulate.
10) Start at the very basics and learn capability as you go
11) Lots of analog, OpAmps, Mixer, VDACs, IDACs, TIA, Comparator.
12) Tons of example code right in tool, can use to learn or as basis for a new project




Regards, Dana.
I guess these don't have the benefit of having an easy introduction to the platform, like AVR and STM32 have in the form of the Arduino IDE?

What are those UDB blocks exactly? I understand it is programmable logic that can be added to the MCU? How complex can that custom logic be?
 

Offline georges80

  • Frequent Contributor
  • **
  • Posts: 912
  • Country: us
Re: Programmer and choosing MCU
« Reply #7 on: August 18, 2017, 06:08:07 pm »
Unless the Dragon board has been upgraded, it has some serious flaws in the interface circuitry and is easy to ESD damage/destroyed.

The one advantage of the AVR family is the embedded EEPROM memory. For smallish projects that require some non-volatile storage for that is written 'often enough' the eeprom is much easier to deal with than using emulated eeprom firmware (using flash memory).

I've used the Atmel ICE ($100, seems to have gone up in price from when I bought it) is robust and I've never had any issues with it. I also have at Atmel ONE (bought when it was on sale for $150 or something like that) - it gets used occasionally, but the ICE works good enough. Either gives you the ability to debug (via debugwire) which can be handy versus just a 'programmer'.

For STM I have the stlink/v2 which is cheap and works well. One of the STM discovery boards is also a cheap way to get a programmer and eval board is one. Stlink/v2 gives you debug capability as well as programming of course - very cost effective.

I've never used arduino stuff since I started with the AVR family before arduino existed. Won't use it now since it doesn't provide any 'benefits' if one already knows how to configure/access ports directly.

In the end, the time it takes you to learn a new family, AVR, PSOC, STM, whatever, will be your real investment versus a $20 or $50 or $100 programmer.

I wouldn't use C++ for programming embedded products with these small uC devices. You can go 'bare bones' and use C...

cheers,
george.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Programmer and choosing MCU
« Reply #8 on: August 18, 2017, 09:03:56 pm »
Unless the Dragon board has been upgraded, it has some serious flaws in the interface circuitry and is easy to ESD damage/destroyed.

My Dragon board was the second release, known to be stronger than the last update.
But I can't say if it's true or not, I have used it rarely.



Currently I am working on a little Infineon XMC4500 board like the red one in the picture; nothing special, it comes with a lot of IO-pins, a lot of horsepower thanks to super fast ARM CPU, a built-in lan, and Cordic hw cop. The last one is the most interesting feature for me because I am playing with a GPS and the board calculates the distance between two points using a Earth curvature model, and the cop offers acceleration for lot of trigonometric functions.

Sin, Cos, tan, ....

It's a good board, a bit expensive (paid 45 euro) but supported by Keil as toolchain and debugger but libraries are poor ...

For better libraries one should go to RAD (rapid application development) tool like Dave (by Infineon).

But I am not a fan of those tools, anyway  :-//
« Last Edit: August 18, 2017, 09:08:33 pm by legacy »
 

Offline danadak

  • Super Contributor
  • ***
  • Posts: 1875
  • Country: us
  • Reactor Operator SSN-583, Retired EE
Re: Programmer and choosing MCU
« Reply #9 on: August 18, 2017, 11:07:56 pm »
Quote
I guess these don't have the benefit of having an easy introduction to the platform, like AVR and STM32 have in the form of the Arduino IDE?

What are those UDB blocks exactly? I understand it is programmable logic that can be added to the MCU? How complex can that custom logic be?

Absolutely easy. You only tackle the basic tool, which is GUI drag and drop, and work your way into advanced
capabilities as you learn. And all guided by simple projects and/or videos.

The UDBs are fairly straightforward architecture. You can use via schematic editor (dont get into weeds), UDB editor, and / or UDB tool (you are in the weeds)




UDB Editor - https://www.youtube.com/results?search_query=udb+editor

http://www.cypress.com/training/psoc-creator-video-tutorial-series-how-use-udb-editor


Creating custom components -

http://www.cypress.com/training/psoc-video-tutorial-series-how-create-custom-components


The basic tool -

http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide

Remember, UDB design is to cover custom components, in general 95%+ of you design is the predefined components
you drag and drop and route onto canvas. You do not have to do UDB edit/mods. See the list I posted prior post.



Regards, Dana.
« Last Edit: August 18, 2017, 11:26:23 pm by danadak »
Love Cypress PSOC, ATTiny, Bit Slice, OpAmps, Oscilloscopes, and Analog Gurus like Pease, Miller, Widlar, Dobkin, obsessed with being an engineer
 

Offline danadak

  • Super Contributor
  • ***
  • Posts: 1875
  • Country: us
  • Reactor Operator SSN-583, Retired EE
Re: Programmer and choosing MCU
« Reply #10 on: August 18, 2017, 11:18:44 pm »
Love Cypress PSOC, ATTiny, Bit Slice, OpAmps, Oscilloscopes, and Analog Gurus like Pease, Miller, Widlar, Dobkin, obsessed with being an engineer
 

Offline bingo600

  • Super Contributor
  • ***
  • Posts: 1988
  • Country: dk
Re: Programmer and choosing MCU
« Reply #11 on: August 19, 2017, 06:43:45 am »
The question is, what programmer should I get? And do they all work with GNU/Linux and avrdude?

There is no programmer that supports al MCU's , but for the AVR series the ISP MKII is a good choice.

If you are using mostly M328 or other types that does support ISP programming , this one is worth trying
http://www.ebay.com/itm/USBASP-USBISP-AVR-Programmer-Adapter-10-Pin-Cable-USB-ATMEGA8-ATMEGA128-Arduino-/310506909410

I have used it succesfull on linux w. avrdude. , and it's not going to "blow" the budget.

It won't do some of the smaller ATtiny's though, but at that price you could give it a try.

I'd get a 10-pin to 6-pin adapter too , this one contains both programmer & converter
http://www.ebay.com/itm/10-Pin-Convert-to-Standard-6-Pin-Adapter-Board-USBASP-USBISP-AVR-Programmer-USB-/311565595115

Here are the converters
http://www.ebay.com/itm/2pcs-10-Pin-Convert-Standard-6-Pin-Adapter-Board-F-ATMEL-AVRISP-USBASP-STK500-/310635615426

/Bingo

/Bingo
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Programmer and choosing MCU
« Reply #12 on: August 19, 2017, 08:50:49 am »
(when I see all of that arduino-like ... I wish I was a ice cream
seller   

kidding: I am already learning how to do delicious ice creams  :D )

 

Offline Mr. Scram

  • Super Contributor
  • ***
  • Posts: 9810
  • Country: 00
  • Display aficionado
Re: Programmer and choosing MCU
« Reply #13 on: August 20, 2017, 10:58:09 pm »
Quote
I guess these don't have the benefit of having an easy introduction to the platform, like AVR and STM32 have in the form of the Arduino IDE?

What are those UDB blocks exactly? I understand it is programmable logic that can be added to the MCU? How complex can that custom logic be?

Absolutely easy. You only tackle the basic tool, which is GUI drag and drop, and work your way into advanced
capabilities as you learn. And all guided by simple projects and/or videos.

The UDBs are fairly straightforward architecture. You can use via schematic editor (dont get into weeds), UDB editor, and / or UDB tool (you are in the weeds)




UDB Editor - https://www.youtube.com/results?search_query=udb+editor

http://www.cypress.com/training/psoc-creator-video-tutorial-series-how-use-udb-editor


Creating custom components -

http://www.cypress.com/training/psoc-video-tutorial-series-how-create-custom-components


The basic tool -

http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide

Remember, UDB design is to cover custom components, in general 95%+ of you design is the predefined components
you drag and drop and route onto canvas. You do not have to do UDB edit/mods. See the list I posted prior post.



Regards, Dana.
I've been looking into these and they seem to be a very interesting. As far as I understand, it's a microcontroller with a CPLD or FPGA part stuck onto it. There appears to be a nice and free toolchain, with an IDE that's derived from, or heavily inspired on, Visual Studio. One downside I see is that custom UDB blocks can only be programmed using Verilog. No VHDL support.

What is not quite clear to be is how well supported Cypress microcontrollers are over the years. One of the benefits of dealing with AVR or PIC chips is that designs are still viable years later. I'm also not quite sure whether 'normal' microcontrollers are also available, to prevent having to learn a whole different tool chain when the flexibility is not required and BOM costs is relevant. There does seem to be an FM range, but it looks like Cypress is heavily invested in the PSoC thing and not really looking to sell normal microcontrollers. I do understand that PSoC flexibility is meant to replace the wide range of options in other microprocessor families, but PSoC chips aren't the cheapest option out there.
 

Offline danadak

  • Super Contributor
  • ***
  • Posts: 1875
  • Country: us
  • Reactor Operator SSN-583, Retired EE
Re: Programmer and choosing MCU
« Reply #14 on: August 21, 2017, 12:32:26 am »
UDBs can be programmed with just schematic capture or editor (which generates
the verilog). There is no VHDL support.

Unless you tried out one of the VHDL to Verilog converters.

As far as long term support, PSOC 1 was introed in 2002, still being manufactured, but every variant,
I doubt it. That you confirm with Cypress RSM. Support is a biz decision, if you are the only customer
using 10,000 parts a year, games over. Fab and test costs just do not produce profitability. Thats why
selecting a part should never be done just from a selector guide. Always talk to sales channel of vendor
to get a handle on high runners and breadth of customer base for them in their product line.


Regards, Dana.

« Last Edit: August 21, 2017, 12:35:46 am by danadak »
Love Cypress PSOC, ATTiny, Bit Slice, OpAmps, Oscilloscopes, and Analog Gurus like Pease, Miller, Widlar, Dobkin, obsessed with being an engineer
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf