Friday, January 4, 2013

TI MSP430 Launchpad in gentoo linux

Getting started with the MSP430 launchpad in gentoo is pretty straightforward, once you've dug through some documentation. Here's some instructions that should get you up and running.
  1. emerge crossdev

  2. NOTE: Only perform steps 2 and 3 if you do not already have an overlay setup

  3. mkdir /usr/local/portage

  4. add PORTDIR_OVERLAY="/usr/local/portage" to /etc/make.conf

  5. NOTE: Only perform steps 4-6 if /etc/portage/package.env is a file rather than a directory on your system. Also note that the string "x86_64-pc-linux-gnu" needs to match the architecture of your system, which you can find by running gcc -v and checking the string labeled "Target"

  6. mv /etc/portage/package.env /etc/portage/package.env.bak

  7. mkdir /etc/portage/package.env

  8. mv /etc/portage/package.env.bak /etc/portage/package.env/x86_64-pc-linux-gnu

  9. crossdev -s4 -t msp430

  10. -s4 means stage 4 which will build a full gcc, libc,kernel header, and binutils This command will also create /usr/msp430/etc/portage/make.conf which I believe will control how any future msp430 specific packages get emerged.

  11. crossdev --ex-only --ex-gdb -t msp430

  12. Now that you have got gcc going, this command will build just gdb without redoing all the other 4 stages(libc,gcc,etc.)

  13. emerge mspdebug

  14. msp430-gcc -mmcu=msp430g2553 blink.c

  15. Scroll down to the end of this post to find the source code for blink.c Note that my launchpad came prepopulated with a msp430g2553 in the DIP socket, you will want to check what yours came with and set the -mmcu parameter accordingly. The model number is printed on the top of the microcontroller.

  16. sudo mspdebug rf2500

  17. This command will start the debugger which will spew out a bunch of output before displaying a prompt that looks like this:
    (mspdebug)

  18. (mspdebug) prog a.out
  19. Note that you only type the text in bold in the command above, (mspdebug) is just the prompt that is displayed on screen.
  20. hit Ctrl+D to quit the debugger
  21. The microcontroller will start executing code, in this case blinking LED1, LED2 is attached to P1.6