Freescale M/P Components and CodeWarrior


    For my last 3 microcontroller projects I've used Motorola / Freescale products.  

    The first project was the initial version of the synthesizer controller that used the now legacy MC68HC705C8AP 40 pin One Time Programmable (OTP).  I used the quartz lid version of this processor for the initial debugging as the chip could be erased by an ultra violet light source and reused almost indefinitely.  

    The code itself was written, assembled and debugged on a system developed by P&E Microsystems and then made available to users as freeware by Motorola. Once the code was finalized, the OTP processors were used. Once thoroughly debugged, the OTP processors worked flawlessly.

    With these chips, the development cycle was lengthy. It was necessary to:
    The second project was an automatic magnetic loop controller using a newer and smaller chip, the 18 pin MC68HC098QY2 flash based processor.  Development work was done on the Freescale / Metrowerks CodeWarrior Integrated Development Environment (IDE).  Using a Freescale flash based processor was an order of magnitude easier as it was no longer necessary to remove, erase and then reinstall the chips as in the previous case.

    The newer Freescale chips are flash based.  This means that they no longer need to be erased by a UV light source.  Furthermore, they can be programmed almost directly from the personal computer that is used to develop and debug the application itself.  All one has to do is to build a very simple interface circuit using a handful or parts and then connect the P/C to the board to the computer with a serial cable.  The Freescale Applications notes provide all the required information needed.

    To program one of Freescale's flash based chips, several preassigned  I/O pins must be taken to either VDD or VCC with 10K resistors, and an approximate 9 volt source applied to another pin.  Once done, this places the chip in the 'monitor mode' so that programming can take place.  To make these preassigned pins work in both the programming and in-circuit modes, all one has to do is to install (3) switches on the development board.  In one position, programming is enabled, in the other, they are cut through to the actual circuit.  This way, the processor can remain in place and undisturbed on the development board until the code is perfected.  This alone is an order of magnitude improvement over the 'legacy' processors.

    As an example, attached is a picture of the homebrew development station used for the latest version of the synthesizer controller.  It was assembled on a Radio Shack perfboard and allows connection to the P/C (for software development and programming) and to the target radio (to verify operation).  You'll note that both a keypad and LCD display are connected to it.  It's a very simple matter to make changes to the code, assemble it, simulate it (if at all necessary), program the chip and then verify its operation on an actual radio.

    To find those really insidious programming errors, the CodeWarrior IDE can be used to single step the instructions in the actual working environment.  Breakpoints can be set, registers / memory contents examined and the overall operation assessed.  It's a very powerful tool.

    In addition, the flash based memory of these chips can be used to store non volatile, semi-permanent information.  This is easily done with some instructions, and this feature is the basis for the 100 scannable channel capability of the latest synthesizer controller chip.

    Finally, Freescale offers an on-line repository of applications notes chock full of helpful suggestions, illustrative software and the like.  To complement this, Freescale sponsors User Groups whose members will answer questions, review problematic code, offer suggestions, and so forth.  These folks are remarkably patient and extremely helpful.

    In closing, I've thoroughly enjoyed working with the Freescale products and their people.

    As a retired 'telephone company' manager, I'm but a 'duffer' when it comes to micro controller programming.  I like it mainly because it reminds me of the times that I spent in the 1970's working on Electronic Switching Systems (ESS).

    However, there are many others out there who do this for their livelihood and are striving for proficiency in today's competitive world.  

    They would to well to become familiar with the Freescale website, their products and most especially CodeWarrior Integrated Development Environment.