DPRG
DPRG List  



[DPRG] TI MSP430 Family of microcontrollers

Subject: [DPRG] TI MSP430 Family of microcontrollers
From: Kipton Moravec kip at kdream.com
Date: Fri Jul 7 06:25:02 CDT 2006

I have not tried the GCC compiler. I heard it was buggy, and not
efficient for the MSP430, but I do not remember from who or where, I
heard it. So it is not a reliable statement. I did not have time to mess
with it, I had a paying customer.

If you have some time on your hands, there is a $20 development system
that includes a processor, one of the free compilers, and plugs into the
USB port for in-circuit debugging. Called EZ430.
http://focus.ti.com/mcu/docs/mcuprodtoolsw.tsp?sectionId=95&tabId=1203&familyId=342&toolTypeId=1#ez430

I am currently using the free IAR compiler (4K C limit, unlimited
Assembler). I am very impressed with the IDE and in-circuit debugging.
It makes for a fast compile, test, debug cycle. I am not impressed with
the full price, $2500. I have not had to go above 4K yet. The code
generated is the most efficient of all the compilers, I am told.

There is another compiler Called CodeWarrier that is free (8K C code
limit), then $500 or $550 for the full system. I have not tried it.

Kip

On Thu, 2006-07-06 at 21:37 -0700, Larry Barello wrote:
> Are you using the GCC compiler?  How does it do?  I heard they were pretty
> good.
> 
> 
> -----------
> Larry Barello
> www.barello.net
> 
> 
> | -----Original Message-----
> | From: dprglist-bounces at dprg.org [mailto:dprglist-bounces at dprg.org] On
> | Behalf Of Kipton Moravec
> | Sent: Thursday, July 06, 2006 8:14 PM
> | To: dprglist
> | Subject: [DPRG] TI MSP430 Family of microcontrollers
> | 
> | I needed a low power micro-controller for a battery project I am doing
> | for a customer. The TI MSP430 family looked like a good fit, in
> | particular I am using the MSP430F1611.
> | 
> | First thing is this is a 16-bit RISC processor. Not 8-bit like the 8051
> | or Atmel AVR. It has only 27 unique assembler commands, but a lot of
> | addressing modes to minimize code size. For example in most
> | micro-controllers if you have  data in one memory location, and want to
> | move it to another memory location, you have to move it into a register,
> | then move it out. In this processor the addressing modes let either the
> | source or destination be a memory location for almost all commands.
> | 
> | There are 8MHz and 16MHz families of this processor. I am using a 8MHz
> | version, but the maximum clock rate I am using is around 6.25 MHz.
> | 
> | In byte data movement it is not as noticeable (I still think in bytes),
> | but start doing math and there is a difference! It also has an
> | impressive set of built-in peripherals. Two 16-bit timers, A with 3
> | Capture/compare channels, and B with 7 capture/compare channels. 7
> | external 12-bit ADC, another internal ADC to measure the chip
> | temperature, and another to measure the voltage.  This one has 2 serial
> | ports which can be configured as a UART, SPI, or I2C protocols. The
> | 16x16 hardware multiplier is a peripheral.
> | 
> | It has a 12-bit Digital to Analog converter, which you don't normally
> | see in a microcontroller.
> | 
> | The peripheral I am beginning to like the most is the 3 channel DMA
> | peripheral. (Now that I figured it out.) In most micro-controllers if
> | you need to write a block of data to the serial port, you write to the
> | special function register (SFR), then wait for a flag that says the
> | operation is finished, and write the next character.  If you get fancy
> | you can do it with interrupts. You have to get it started then the
> | interrupt takes over. When the data is sent, the processor is
> | interrupted and the ISR puts the next value in the SFR. You can do that
> | too, but the better solution is to set up a DMA channel to move the
> | data. The DMA steals cycles from the processor and moves the data from
> | memory to the SFR, and increments the memory pointer automatically. No
> | involvement from the processor. A block up to 64K can be moved. You tell
> | it to go and it sends the block of data as fast as the baud rate allows.
> | Because it looks for the flag, it always adjusts for the baud rate.
> | 
> | Very cool. And very low power for battery applications.
> | 
> | Kip
> | 
> | --
> | Kipton Moravec <kip at kdream.com>
> | 
> | _______________________________________________
> | DPRGlist mailing list
> | DPRGlist at dprg.org
> | http://list.dprg.org/mailman/listinfo/dprglist
> 
-- 
Kipton Moravec <kip at kdream.com>


More information about the DPRG mailing list