Re: The big picture - Cheap chips, cheap/free compilers?

From: Jonathan Kirwan (jkirwan_at_easystreet.com)
Date: 12/26/04


Date: Sun, 26 Dec 2004 21:47:13 GMT

Not much written, so I'll add some comments....

On Thu, 23 Dec 2004 13:09:11 -0500, "mc" <mc_no_spam@uga.edu> wrote:

>I've done a good bit of microcontroller programming in the past but have
>been mostly away from it for a few years. When last active, I was mostly
>using PICs with MPLAB and assembly language, and some 8051-architecture
>chips with ASM51. I have a PICstart-Plus and, at work, a universal
>programmer. Mostly, I do small, simple things that involve precise timing.
>That is, my microcontroller projects are more electronics than computers.

Assembly coding remains a viable and excellent way to do your projects.

>What is the current situation regarding cheap, easy-to-use chips and
>development tools? Is the best choice still PIC and MPLAB? What about free
>compilers? In particular, are the following well regarded?

You don't say how long you've been away and it's not clear whether your projects
are hobbyist or professional, issues such as price sensitivity (which can
eliminate choices such as Cygnal, for example) and power consumption (battery?),
but there are some excellent options out there. I haven't done a survey, but:

(0) I like Microchip a lot because of their support for me in the past. I work
in a small company and we don't purchase 10^5+ CPUs -- more in the 10^3 and
maybe 10^4, on occasion, per year. We are NOT big potatoes to them. But we've
received quite excellent and direct support when and where we've needed it.
I've been able to call up their support and talk with VERY SMART people who know
intimate details and are very logical and careful. Their chips include very
good brown out detection and often the kind of mix of features we need. Also,
they are broadly carried by Digikey. The ICE2000 system is excellent, but very
expensive -- but it's available if you need it. The cheaper programmers are
easily available through a variety of sources. Voltage ranges of operation are
from about 2.5V to 5.5V or so.

(1) The TI MSP430 chips are pretty easy to use and, from a hardware designer's
view, have some darned excellent features. Digikey carries many of them, in qty
1s, so they are easily accessible to those in the US and Canada. The
programmer/debugger pod is very cheap and appears to work pretty well using a
parallel port. I believe USB is in the market, or coming out soon. GNU C is
available, but so are some excellent compilers from folks who seem to support
their products well. I have some strong opinions about the instruction set
(which looks encouragingly similar to a PDP-11 instruction and yet is a
disappointing *** of almost heart-breaking and wrong-minded compromise, to
me) but the hardware features are wonderful and the instruction set is 16-bit
and a whole lot nicer than the PIC. These don't operate above 3.6V (well, some
do -- but only the older ones.)

(2) The Atmel AVR chips are also pretty easy to use and I've enjoyed them a lot.
Their is a pretty nice programming board (no debugger, per se) that is the
STK500 (or some later incarnation) and includes a lot of sockets and buttons and
LEDs and is very handy and reasonably priced. There are (to me) newer
incarnations called the ATmega and ATtiny and I do not know if these have built
in debugger features -- they might. The instruction set is reasonably nice,
too. However, all of my support from Atmel has been terrible, without
exception. It has taken as long as 10 months to get two samples of an announced
chip -- and that was more than six months after they first started shipping
samples to "bigger customers." I have to go though a local FAE who then
forwards my questions back -- it can take several days to get my first return,
though it often happens in about one day. But this 1-2 day loop can lead to
extended discussions that simply take too long. I use Atmel only with the idea
that I cannot count on timely support -- because I'm far too small. It is my
impression that they don't even bother pretending that I'm worth caring about.

...

(I keep a supply of bubble-gum Atmel AT90s, PICs, and TI MSP430's laying around
for use.)

>- HiTech PICC Lite (how well does it mesh with MPLAB?)
>- BASCOM LT (for 8051; and for what else?)
>- MikroBASIC for PIC (usable within MPLAB?)
>- MikroPascal for PIC (usable within MPLAB?)

The 8051 still has that BASIC52 floating about. Not sure where it's been
ported, though. Might look around. I still have the free manual that Intel
used to give away for it. Nice.

>I am not particularly attached to the PIC architecture except that I have
>quite a few chips on hand.
>
>I know all the major high-level programming languages (C, Basic, Pascal,
>etc.) and have no qualms about using them; that is, there are none that I
>intensely dislike.

Since you are talking more about small and precise timing things, I'd stick with
assembly. No matter what you choose, that's usually available, free, updated
regularly, works like clockwork, doesn't do unexpected things, etc. And you
have full control.

>Also, where are the good, moderated, web-accessible forums for discussing
>embedded design these days? The Usenet newsgroups seem to be dying.

Just do a search with google. You'll find them all that way, I think.

Jon


Quantcast