Programmer / Evaluation Board / Development Board

Are all of these the same thing?

Once I take a fancy to a particular microcontroller, the first thing I'll want is a piece of hardware I can use for programming the chip. Now given that I'm just one person working away in my bedroom with my laptop, I'm not looking for some sort of industrial product the size of a washing machine that can program 72 thousand chips every minute. I'd want something small, no larger than the size of a CD dewel case, that can hook up to my laptop via USB port / COM port / LPT port. It shouldn't be too expensive either, but if it's pricey then I'll look for a second-hand one on eBay.

Nowadays, are there some microcontrollers that are purely for "use in industry"? What I mean to say is: Is there some microcontrollers out there for which you CANNOT get a small programmer board, or perhaps one's for which the programmer board is ridiculously expensive?

As I've mentioned here countless times, then only microcontroller I've any experience with is the PIC16F684 because we used it in my college course. I use the Pickit 1 to program it, which is a small programmer board about the size of a credit card that connects to my PC via USB, and the software I use for programming it is the PIC C compiler in conjunction with MPLAB. The software was free, and I got the development board for =8010 through my college (which is about 15 US dollars), so I'm pretty chuffed with that.

What do people call these "programmer boards" nowadays? I've heard terms like "evaluation kit", "development board", but I don't know what the difference is, if any.

I've also heard of something called "in-circuit programming" whereby you can leave the chip in the circuit when you're programming it, which I suppose is convenient. For my most recent project I simply plucked the chip on and off the board, putting it into the Pickit 1 to program and then putting it back in the circuit.

What I'm extremely interested in, however, are the development boards that let you actually debug the program, i.e. you can have the chip in its circuit and, while the program is running, you can pause the program and check the value of registers, and also single-step through instructions. In my most recent project, there were times when a bug in the program resulted in my circuit board doing absolutely nothing, so I hadn't a clue what was going on. Some sort of debugger which would have allowed me to single-step through the code and check registers would have been greatly beneficial! What I ended up doing was compiling the code for my PC and then single-stepping through it to find the bug.

So anyway I'd like to ask something. For someone like me, who has an interest in embedded systems as a hobby, who wants to be able to program a microcontroller using a small USB-interface programmer, who wants to be able to do in-circuit debugging, and who wants to work with a microcontroller that has: 1) Plenty of IO pins (as much as 20 or even more) 2) A-to-D converter 3) Interrupts 4) Timers

What's the best microcontroller and programmer combo to go for? I'm pretty happy with the Pickit1 but it can't program anything larger than a 14-pin chip (or then again maybe it can but I'm not clued in).

People here have me paranoid about using PIC chips; I've gotten responses such as "don't use the PIC, use a real microcontroller", but I'd like to know why people have such a poor opinion of PIC's here. Having used them myself, and having used the Pickit1, and also having seen YouTube videos of some mad stuff that people have done with PIC chips, they seem pretty cool to me. Of course I'm not a veteran that's being playing around with microcontrollers for the last 20 years, but if there's a rational reason why I should PIC's then I'll be happy to listen.

Also, if I you have a microcontroller from a reputable manufacturer, e.g. a PIC16F684 from Microchip, and if you use it correctly (i.e. not drawing too much current form the IO pins, not running it at too high a clock speed), then should it pretty much last forever? I mean if I programmed one now and put it in a circuit, should it still be doing its job perfectly in 80 years time?

I know I've written a lot in this post, but really I just want to be sure I'm using the right equipment before I go too far. Actually one other thing: What's the most used microcontroller in the world, i.e. the micrcontroller that's used in the greatest amount of products all over the world?

Reply to
Tomás Ó hÉilidhe
Loading thread data ...

No. Although the difference between a development board and an evaluation board is at best fuzzy (and probably mostly in the minds of the marketing department).

Some evaluation boards also act as programmers though.

Some micros (some arm variants notably) are programmable with a serial port requiring at most a simple inexpensive adapter.

Well there are certainly ones for which the development systems are multiple thousands of dollars.

Rather difficult with SMT. In circuit programming can be as simple as this

formatting link
Disclaimer: That's my adapter.

Take a look at ARM (particularly Atemel and NXP), AVR and MSP. All are supported by low/zero purchase cost development tools, inexpensive debug modules and low cost development boards (some inexpensive enough to be used as components).

They're ugly. There really isn't a lot more to it than that in the end. That ugliness makes them harder to use in many cases. You really should take a look at a few other micro families. When you can get a 32bit processor like an ARM for a similar price to a PIC it gets harder to justify using a PIC. Usually you do so because of a particular peripheral set or the easier predictability of instruction timing. Although relying on instruction timing to time an operation has always seemed to me to be operating rather close to the edge.

I doubt any manufacturer would be willing to give you that assurance. I don't remember seeing any flash memory with a quoted lifetime beyond 20 years.

Jack Gansle had an article a decade back or so IIRC about running into that issue with some of the original Intel EPROMs in the field.

Probably a 4 bitter you've never heard of.

The best equipment would be to work on a variety. That way you don't start to expect peripherals to act only in a certain way and starting a new architecture is not a foreboding task. And you start to learn what really can be ported.

Finally working with a few other architectures will let you discover for yourself if the antipathy many feel toward the PIC is justified.

Robert

** Posted from
formatting link
**
Reply to
Robert Adsett

*Most* microcontrollers have moved away from parallel, high-voltage programming to on-chip, in-circuit serial programming (although some will support both). Generally, the in-circuit programmers are fairly cheap. However, they also generally only work with one family of microcontrollers. There are general-purpose programmers that will do microcontrollers, EPROMs, PALs, GALs, etc. Cost a bunch; you probably won't need one.

Some dev boards come with a programmer (TI's MSP430 do (or used to)) and some dev boards can be used as programmers (the AVR STK-500, for example). Others, like the ARM7TDMI can (mostly) use an inexpensive JTAG (Wiggler and clones). Family-specific programmers are out there, too although some can do double duty: Atmel's AVR ISP programmer can do AVR chips as well as Atmel's flavour of 8051 chips (AT89S-series).

There's bound to be some but I'd guess very few, since bringing up a new uC is expedited if there's known-good hardware to bang on.

No practical difference. An eval kit may have only power and I/O connectors where a dev kit may include a small prototyping area. Or maybe the other way around ...

Even with a socketed DIP, it's nice not to have to wrestle with it. And there are programming adapters for SMT devices to use with general purpose programmers but that means two adapters (one for the board, one for the programmer) and those things are bleedin' expensive. Figure that most/all newer chips will support (and may JUST support) serial in-circuit programming, via JTAG or their own, proprietary protocol.

Certainly useful but not as much as one may imagine since, when halting and single-stepping, think about what happens to on-chip peripherals like timers and interrupts. On the other hand, a new microcontroller's documentation can be obscure and can have related "you must do this" and "you must NOT do that" sections scattered about more than one may wish, so halting to examine register values can be an aid to understanding The Fine Manual. CAN peripherals, for some reason, seem prone to obfuscation ...

There is no best.

PICs are used an awful lot by industry. When I popped the cover on the controller board for my HVAC system, I found a PIC. They're in lots of white goods.

has some opinions on some architectures. One quote from this is on my bulletin-board. ;-)

"In spite of its numerous shortcomings a PIC is a remarkably useful tool for certain tasks. But then, so is a sharp stick."

Personal preferences:

8 bits: AVR 16 bits: MSP430 32 bits: NXP's LPC2xxx ARM7s

Flash memory has a limited lifetime, usually (always?) spec'd at 85C and typically for 10 to 30'ish years It will probably last a product's lifetime at 25C but that needs to be considered for really long lived items.

Whatever the automotive manufacturers are using nowadays. The number of uC per car is going up and there are a lot of cars...

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

Yes, soem mask ones fit in this category. It is a rapidly shrinking sector, and it is now rare to find a mainstream uC, that does NOT have a low-cost development pathway.

and THAT is a key point of difference. Good on-chip-debug is rippling thru the industry, but not all devices have it.

Some good example, of 'Stick' type Pgm/Emulation are the SiLabs series, and the TI MSP430 family. USB debug + PGM, Cheap.

Freescale are following this path, with their newest offerings. eg USBSPYDER

formatting link

So too are infineon - this board has a USB power & Debug

formatting link

SiLabs have a very good range of devices with advanced Analog performance, and multiple interrupt priority levels. Their C8051F4xx series has 12 bit adc, and wide Vcc. Debug is included on-chip.

A HLL insulates you from the more quirky details of the core. Most selection choices today are more Peripheral-decided, than core decided.

You will find a memory retention spec. Commonly around 20 years, some include a temperature spec too. Some devices like the Infineon XC878 series, have Error Correcting Code in the Flash, and target the tougher industrial applications.

There are many answers to that. The most used CORE, by far, is the 80C51. The largest 8 bit uC vendor by dollars is Freescale, and by volume is Microchip. Note that Microchip have MANY different cores, that are NOT binary compatible.

-jg

Reply to
Jim Granville

In message , Tomás Ó hÉilidhe writes

Yet you lectured many very experienced people here and on C.l.c that you knew what you were doing writing portable code and were abusive to many.

I hope you learned your lesson.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
 Click to see the full signature
Reply to
Chris H

In message , Tomás Ó hÉilidhe writes

Try

formatting link

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
 Click to see the full signature
Reply to
Chris H

By "core", do you mean the processing of instructions? If two microcontrollers have the same set of assembler instructions, then are they said to have the same core?

When you say Microchip, are you talking about PIC chips, e.g. the PIC16F684? Is the PIC really the most ubiquitious uC?

So do Freescale make more advanced uC's that cost more?

Reply to
Tomás Ó hÉilidhe

What influences your choice of 8-Bit, 16-Bit or 32-Bit? Is one more expensive than the other? I understand that if you're commonly dealing with 32-Bit numbers on an 8-Bit uC, that you'll be using 4 instructions (at least) all the time instead of 1. So, before embarking on the project, do you have a think about what kind of numbers you'll be working with?

I've only ever done one full embedded project and I didn't use anything larger than an 8-Bit number. However, if I were making something like an internet router, would I be wise to get a 32-Bit microcontroller because I'd be dealing with IP addresses all the time? Or then again, what if I can find an 8-Bit CPU that runs 6 times faster and is half the price... would I be better going with that?

What other reasons are there for deciding on bitness of the core?

Reply to
Tomás Ó hÉilidhe

But aren't the old PC's like the 286's still running perfectly? Or are they on the brink of failure in the next few years?

I've got two cars at the moment, one is from 1990 and the other is from 1991, and they're both running well. That's an 18-year-old car and a 17-year-old car. Granted, one of them is a Toyota and is a much nicer driver than the other, but they're both still running well. Would it be fair to say that today's cars won't last as long because of all the electronics in them? Will the engine's electronic management unit fail before the engine does?

Reply to
Tomás Ó hÉilidhe

Possibly. If you can find any and more to the point any cards for them. They stopped making ISA cards some years ago. Also you have a problem with software. Not sure 286's had CD's and floppy drives have a finite life.

Yes. Hard drives probably are, also floppy drives. The contacts in the slots will tarnish over time and RAM has a finite life too... many years it is true but...

Also of course the weak point is the PUS and the electrolytic capacitors on the mother board

You really have no understanding of electronics or software do you?

No. The engine requires servicing and will wear out in *00,000 miles. But us serviced and as long as parts are available the engine will last a while... other moving parts will also wear.

Think about the amount of maintenance and spare required for cars (dependant on usage and environment)

The electronics will outlast the engine but the problem is getting spares.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
 Click to see the full signature
Reply to
Chris H

In message , Tomás Ó hÉilidhe writes

Sort of. As far as most programmers are concerned the 8051is a family with the same core as code that runs on one will run on another, even at a binary level... but why am I telling you this as you are the resident genius on portability...

In fact for the 8051 family there are over 40 cores currently in use. Whilst the basic instruction set and the basic core has the same API they are very different being 12, 6, 4, 2 and single cycle cores with several different memory systems. Especially the extended ones...

There is a Lot more to it than just changing header files.

However whilst, if you are careful a small program from one 8051 will run on any 8051.... but once you start using the peripherals and extended memory and registers you loose the portability even though you can use the came compiler for all variants. .

Wow! Your lack of knowledge even on the things you have worked on is astounding!!!

When some one tells you that you don't have the first idea about portable C you really only argued because you had so little grasp and understanding of the subject. I hope you realise that now.

No. But PICs in general might be. They are very low cost small parts. Though about 8 years ago the 8051 family was the most ubiquitous with about 30% of all micros (including the x86 family as most PC's up to then had a couple of 8051's in them)

Yes... The Power PC range.

formatting link
dG

BTW what is your collage course on? It does not appear to be on software or electronics.

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
 Click to see the full signature
Reply to
Chris H

Essentially, matching the requirements and constraints to the solution. Engineering, ya know. What parts are actually available? Is EOL an issue, and what's the manufacturer's EOL history? What's the cost? The lifecycle quantity? Production quantity? Should we spin our own board or use somebody else's? What peripherals are needed? How complex is it? What tools are available? Cost? How are they supported? Personal project, where free is good and the GPL isn't an issue or commercial where it may be?

An ATtiny15 that has 8 pins and no RAM at all, just the processor registers and a 3-level stack, was great for a little temperature monitor and fan controller.

OTOH, an Infineon C515C (MCS51-family) was the solution for something else because it was living on the best-fit SBC.

For a CAN gateway, is it better to use a couple of small 8-bitters with one CAN controller each and an SPI link between them, or an ARM with two integral CAN controllers? It depends ...

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

I don't think I've seen an original 286 PC still running. Usually the power supply will fail at some point, often leading to damage to everything else. Most are retired from service before having a chance to die of old age.

And I take it you've had no maintenance performed on them? You've never replaced the tires?

That has been remarked on before. Unlike early automobiles where parts can be duplicated even though they are no longer in manufacture it will less possible to duplicate the higher end electronics in more modern vehicles. Electronics in the engine compartment are obviously at higher risk.

You perform routine maintainence on an engine but when a micro processor board fails your only alternative is replacement. Heat, temperature cycles, radiation, power supply spikes all take their toll. If you want assurance of an 80 year life you will have to be prepared to do the testing to determine which parts are capable of supporting it. And expect to retest continually to make sure process changes haven't affected the undocumented margin.

Besides which how many electronics devices actually still have a purpose over that period? They have usually been replaced by something more capable or less expensive (or just dissapeared from use).

Although memory is a prime culprit for limiting life (due to charge leakage for instance), power supplies are vulnerable as well due to exposure to spikes, high operating temperature and of course the drying of electrolytes. There has also been some speculation that the upcoming generations of high end microprocessors may be subject to wearout because of the high operating temperature coupled with increasingly fine geometries.

Another thing to keep in mind is the operating environment. Check the datasheet, lifetime will be specified under certain operating conditions. Generally as a designer you cannot guarantee a benign operating environment. Remember those Abs Max conditions? They come into play again.

Robert

** Posted from
formatting link
**
Reply to
Robert Adsett

Normally, if they run the same binary opcodes, then they are said to be binary-compatible, and must be definiion, be 'the same core'. (some 8051 cores run at different speeds, but can still execute the same hex file - just like your PC.)

PIC is the highest volume brand name, but the PIC brand covers many different cores, (there is NO single PIC core), so they are not really the same product.

Yes, the Freescale ASP (average selling price) is quite a bit higher than Microchip, which still has ASP very close to $1.

-jg

Reply to
Jim Granville

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.