MSP430 Embedded Programming Tutorial TUTORIAL


This MSP430 tutorial is intended for novices and beginners in embedded programming design who want to learn embedded programming using Texas Instruments (TI) MSP430 microcontroller .


This tutorial is based upon the MSP430 FET debugger. If you are looking for the low cost launchpad tutorial, you may like to check here , though most of the material present should be useful for launchpad as well.

If you already have experience with one or more Embedded board design or tool , you may skip this page. You may also skip this page if you are impatient to learn the programming quickly. Otherwise, it may be a good idea to get a general view of the embedded system design process flow. This overall design process includes the hardware design. The hardware design is generally part of the a separate team, but, it helps to understand the things in an overall perspective. Here is the step by step process, as a prologue to the MSP430 turorial

1. Specifying the requirement

The first step in the design of any embedded system is to specify the product requirement. It is always a good idea to write down all the requirements. You may like to break the requirements into two categories - essential requirements and the optional requirements. Optional requirements are often used to try out something new in the design, that may be removed in the production version.

2. Select the right Microcontroller

Once the essential and the optional requirements have been laid out, select a microcontroller that will fulfill these requirements. The TI MSP430 series have a large number of microcontrollers with variations in the specifications, IO ports etc and these come with varying prices. It is possible to use the parametric search to find a processor that is sufficient for your task.

Notice that you are not bound by the Texas Instruments microcontrollers as your only choice. You may choose any other microcontroller, including those from freescale, Atmel and other. This particular tutorial is, however, intended for the Texas Instruments MSP430 series microcontroller.

3. Design the Hardware

Once the right microcontroller is selected, we need to design the hardware, that will fulfill our purpose. The hardware design is usually done by a separate team and requires Schematics Design and Printed Circuit Board (PCB) Design. For Schematics Capture, OrCAD tool is usually used, but there may be other tools that can be used. For Printed Circuit Board (PCB) Design, PADS Layout or Allegro (High End Tool), Eagle or OrCAD Layout may be used.

Once the Schematics and PCB is designed, the PCB is built. The gerber files are sent to PCB manufacturers who builds the PCBs. Once the PCB is built, it is assembled with the required components. The Assembly can be done by same of different PCB house. Once the assembly is done, it is then powered up tested for proper functioning.

If your immediate purpose is just to learn programming you may like to buy any of the off the shelf MSP430 microcontroller evaluation boards. With the evaluation board, you do not need to design hardware right away, and it is possible start learning the software.

Did you Know ?
You could get MSP430 Launchpad evalboard that supports MSP430 value line , just for $4.30 !!!

4. The Emulator Once you have the microcontroller hardware ( either from your own design or any evalualtion board) , the next stage is to hook up an Emulators to check if the Emulator Communicates with the board. TI provides a nice USB Emulator that you can purchase for $99 at MSP-FET430 Flash Emulation Tool (FET).

5. The Compiler

Besides Emulator, you need compiler and a debugger tool. There are two of them. One from TIs Code Composer Studio and the other from IAR Embedded Workbench Kickstart . Both of these free, but have limitation in the code size in free versions. IAR embedded workbench is a better tool but probably more expensive in case you need to use the full version.
Once you have the hardware board, the emulator and compiler in ready, you can start learning MSP430 embedded programming.

In the next section, we will understand a little bit about the MSP430 Hardware, which is fundamental to our understanding of the Embedded systems