1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

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

Discussion in 'Embedded' started by mc, Dec 23, 2004.

  1. mc

    mc Guest


    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.

    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?

    - 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?)

    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.

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

    Any advice and suggestions?

    Many thanks!
    mc, Dec 23, 2004
    1. Advertisements

  2. EventHelix.com, Dec 24, 2004
    1. Advertisements

  3. mc

    Rich Webb Guest

    You should at least take a look at Atmel's AVR family. Very comfortable
    to program in assembly (32 general purpose registers versus one working
    register in the PICs) and a good fit for comiler writers so you have a
    choice of several C compilers.
    There is an active user community operating out of the AVR Freaks site:
    http://www.avrfreaks.net. (might be down for maintenance)

    For general embedded info, http://www.embedded.com
    Rich Webb, Dec 24, 2004
  4. mc

    Leon Heller Guest

    Things have moved on considerably. Apart from the AVR mentioned by someone
    else, 32 bit systems based on the LPC2000 Philips ARM chips are available,
    and worth investigating: http://groups.yahoo.com/group/lpc2000/. Similar
    devices are becoming available from Atmel.

    Leon Heller, Dec 24, 2004
  5. mc

    mc Guest

    Thanks. I was thinking about going over to AVR five years ago. As long as
    I'm hacking assembly language it might as well be an easier assembly
    language than PIC. I see also that there is a free BASCOM for AVR.
    mc, Dec 24, 2004
  6. mc

    Fred* Guest

    You could also look at the Z8 Encore! family from Zilog.. really nice mcu
    with many peripheral functions that the others didn't offer or they can't
    run concurrently (SPI, I2C, SCI -with IrdA possibilities-..) and the dev kit
    with all needed software for only 39$..
    but you can even develop for free, because the prog/debug interface need
    only an RS232 adaptor and you can find a free assembler here :
    the web page wasn't really updated since a moment, but there is always the
    last release available for download..
    (I contacted the author and he will add the last two instructions -that
    Zilog added in the documentation- in the next release)

    and there are free programmer & debugger software available here :
    Fred*, Dec 24, 2004
  7. mc

    mc Guest

    Thanks. Speaking of which...

    How cheap are embedded PCs (DOS 8088-compatible systems) these days? That
    would be my choice of system for developing anything complicated, because we
    have such very good development tools (and I mastered them in the 1980s when
    programming a real 8088 PC).
    mc, Dec 24, 2004
  8. Not much written, so I'll add some comments....

    Assembly coding remains a viable and excellent way to do your projects.
    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 bastard 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.)
    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.
    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.
    Just do a search with google. You'll find them all that way, I think.

    Jonathan Kirwan, Dec 26, 2004
  9. That all depends on your definition of 'precise', one man's 'precise' is
    another man's missed mars by 3 light years!
    LOTS and lots of microcontrollers have all sorts of built in timers to
    greatly assist with this sort of timing issue for MOST cases, depending
    on how precise you need to be.
    There are many manufacturers PIC and 8051 variants abound as do ARM chips
    as well as other manufacturers TI, Atmel, Renesas, Zilog, Rabbit and many
    others. What you need depends on your application requirements and
    future enhancements.
    One of the easiest ways to find tools for higher levels I find is start
    at the GNU compilers see what architectures they support as an alternative
    that assists at least evaluation of microcontroller WITHOUT huge expense.
    I have not found many web-accessible forums that have been much use to ME
    other may have but then again I prefer to use the internet for when I
    need to find things not be permanently glued to it, which web encourages.
    Search for microcontrollers on places like google and the like, search
    for semiconductor manufacturers and what they produce, also look at
    SBC and add on module manufacturers and see what controllers they use.
    Paul Carpenter, Dec 27, 2004
  10. One thing that separates uC is on-chip debug.
    Everyone these days has Flash, and simulators, but not
    all have on chip debug.

    If you already know the 80C51, then look at Silicon Labs,for the
    C8051F family., These all have >=25Mips cores, high performance
    Analog, and on Chip Debug. The C8051F330P is in a DIP20 package
    Systems start from $25

    Philips also have an expanding family of LPC900 80C51 variants,
    with lower cost / lower performance point than SiLabs.

    STm have the uCPSD34xx series, with USB and debug in early release.

    Winbond have a HW-Debug 80C51 variant comming.

    Jim Granville, Dec 28, 2004
  11. One thing that separates uC is on-chip debug.
    MPLAB supports MPLAB ICD 2 as an on chip debugger for PICmicros with flash
    memory and dsPIC devices.
    Darrel Johansen, Dec 28, 2004
  12. mc

    Oliver Betz Guest


    [Silicon LabsC8051F family, LPC900 80C51 variants, uCPSD34xx]

    but ist this "on-chip debug" like Motorola BDM, where you can access
    memory (variables...) during program execution without affecting the
    target (using CPU time)?

    For example, the LPC2000 supports "realtime access" AFAIS with an
    interrupt routine which makes it unusable for me because I have
    several extremly time critical applications.

    That's the reason why I love Motorola (Freescale) BDM - I can look at
    the state of my target without affecting it. Invaluable!

    Oliver Betz, Dec 29, 2004
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.