Books for ARM and MSP430 Programming in C

Discussion in 'Embedded Systems and Microcontrollers' started by fire_lizard, Dec 19, 2014.

  1. fire_lizard

    Thread Starter New Member

    Apr 4, 2013
    Hi everyone,

    I have signed up for ARM and MSP430 courses at EDX and would like to ask you a question:

    Are there any good books for ARM and MSP430 Programming in C?

    I know about excellent John H. Davies and Joseph Yiu books but they are for programming in Assembler.

    Thanks in advance
  2. MrChips


    Oct 2, 2009
    Any textbook on C Programming should do the trick.
    fire_lizard likes this.
  3. fire_lizard

    Thread Starter New Member

    Apr 4, 2013
    Thanks for the suggestion, but I am working as a software engineer (C++/C#). I would like to know how to apply my C skills for MCU programming (for example to communicate with external devices). I think it is not like developing financial software in .NET.
  4. ISB123

    Senior Member

    May 21, 2014
    Reading the microcontrollers datasheet should clear up some stuff.They got 300+ pages of information.
  5. JohnInTX


    Jun 26, 2012
    That's for sure.
    A good place to start would be just buying a Discovery kit from ST for the ARM and/or a LaunchPad for the MSP430. Both come with examples and tutorials.

    Moving from something like you described to embedded systems that communicate with external devices will require not only learning something about the processor architecture (how do I output to the real world on bare-metal hardware? etc.) but also how the external devices work on a software and hardware level. That will require study of datasheets for the particular peripheral/device you are talking to. Even something simple like flashing an LED requires knowing how to drive it, whether the output of the controller can do it etc etc. More sophisticated peripherals will have more sophisticated interfaces (SPI/I2C busses etc etc) which you'll also have to master. There is also a real-time element for many things.

    Like anything else, start simple (flash the LED) and proceed from there. Its fun-most of the time. I always get a charge out of watching my program interact with the real world whether factory automation or mine-trucks. Its challenging but way more fun than processing AP/AR.

    Jump in! You'll find lots of help here on AAC from many very experienced contributors.

    Have fun.
    fire_lizard likes this.
  6. MrChips


    Oct 2, 2009
    Programming in C is the same wherever you go. What is going to be different is the library functions that are available with each platform.
    As John says, get a STM32F DISCOVERY and a MSP430 Launchpad. Both are very inexpensive. You can download the evaluation software from IAR for free.

    Check out my blog for MSP430.
    fire_lizard likes this.
  7. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    And now for something completely different…

    C is a well documented standard. C compilers comply with this standard in various ways, but at least they do attempt to document where they stray.

    Code written for one micro on one compiler will compile on another compiler very seldom, and work on a different micro with a probability of about .0001%.

    Each micro has it’s one way of doing things specific to a manufacturer, and even the same family from the same manufacturer.

    There are naming conventions that differ even when using the same micro on different compilers.

    One thing I will agree with is to get a development board with some samples or even tutorials and jump right in and make something happen. Blink that LED, read that pushbutton, make a LDC D, whatever amuses you.

    I wish I could point to a good book but even the one book I like best is now obsolete as the compiler changed.

    Just keep at it, solve the problems you encounter, and keep going. It does get easier with experience.
    Last edited: Dec 21, 2014
    fire_lizard likes this.
  8. josip


    Mar 6, 2014
    Every MSP430 device (or family) has open source assembler/C code examples that can be downloaded from TI site. Just click on tools / software tab on product page. For example, for MSP430F5510 there is

    Also, there is free MSP430 bible...

    MSP430 dedicated forum is here...