cdk4msp
CDK4MSP -- MSP430 Cross Development Kit

CDK4MSP stands for Cross Development Kit for the Texas Instruments MSP430 MCUs and should you support with a comprehensive Assembler and C development environment for even this processor familie under Linux or similar host systems. It will present only free of fee tools, so you can use it without any risks. Further you will find some useful OS projects and related sample code all arround MSP430 inside of the example packages.

CDK4MSP collects all programms and development tools in one directory (/opt/cdk4msp) and will try to present an easy to admin installation. My intention for CDK4MSP is / was to provide a full featurd tool chain distribution of all the free accessible resources, because often the most stuff is hidden or scattered to the wide of the whole Internet and only compilable and translatable by wizards or professions.

Basically CDK4MSP is based on the GCC toolchain for the Texas Intruments MSP430 MCUs maintained by Dimitry Diky and Chris Lichti at Sourceforge (http://mspgcc.sourceforge.net/). Til now MSPGCC supports Win32 developer systems as best as possible. There is no really good Linux support. So, CDK4MSP tries out to close this gap.




OTHER CDKs





NOTES & WARNINGS


The most packages are untested. Some few packages will be unstable or developer snapshot code. So I'm looking for (beta) test users. Please tell me your experience with CDK4MSP. Further I try to be up to date with all the package versions, but CDK4MSP is a leisure-time project and so I think my update cycle will be 5 or 7 months, sorry :-(

The base package cdk-msp-base will work only at Red Hat based distributions (Red Hat, Mandrake, and I believe SuSe). For other distributions you have to ensure the linked scripts cdk4msp.sh and cdk4msp.csh in /etc/profile.d are involved in your user environment build process at login time.




PROJECT LINKS





INSTALL


Each package will be provided as RPM only. It is not necessary to install all packages, but you have to install the base package cdk-msp-base every time you want to use another package. Here is an example for a typical GNU development environment:

        [user@host]$ rpm -hiv cdk-msp-base-0.2-20031111.i386.rpm

        [user@host]$ rpm -hiv cdk-msp-binutils-2.14-20031106.i386.rpm
        [user@host]$ rpm -hiv cdk-msp-gcc-3.3.2-20031106.i386.rpm
        [user@host]$ rpm -hiv cdk-msp-gcc-colorgcc-3.3.2-20031106.i386.rpm
        [user@host]$ rpm -hiv cdk-msp-libc-3.1-20031023.noarch.rpm
        [user@host]$ rpm -hiv cdk-msp-insight-5.1.1-20031023.i386.rpm

        [user@host]$ rpm -hiv cdk-msp-jtag-lib-20031101cvs-20031102.i386.rpm
        [user@host]$ rpm -hiv cdk-msp-insight-proxy-5.1.1-20031102.i386.rpm

Currently you will found all released files at SourceForge.Net

SourceForge.Net Logo




PACKAGES


0. Base System (you need it):
  0.1 cdk-msp-base Base package -- is needed every time you will use any CDK4MSP package.

1. Assembler, Disassembler, Object File Operator:
  1.1 cdk-msp-binutils Binutils is a collection of binary utilities, including:
  • msp430-ar: creating modifying and extracting from archives
  • msp430-as: a family of GNU assemblers
  • msp430-ld: the GNU linker
  • msp430-nm: for listing symbols from object files
  • msp430-objcopy: for copying and translating object files
  • msp430-objdump: for displaying information from object files
  • msp430-ranlib: for generating an index for the contents of an archive
  • msp430-size: for listing the section sizes of an object or archive file
  • msp430-strings: for listing printable strings from files
  • msp430-strip: for discarding symbols
  • msp430-addr2line: for converting addresses to file and line
  • msp430-readelf: for displaying information about ELF files
Supported processors:
  • msp430x110 msp430x112
  • msp430x1101 msp430x1111
  • msp430x1121 msp430x1122 msp430x1132
  • msp430x122 msp430x123
  • msp430x133 msp430x135
  • msp430x1331 msp430x1351
  • msp430x147 msp430x148 msp430x149
  • msp430x155 msp430x156 msp430x157
  • msp430x167 msp430x168 msp430x169
  • msp430x311 msp430x312 msp430x313 msp430x314 msp430x315
  • msp430x323 msp430x325
  • msp430x336 msp430x337
  • msp430x412 msp430x413
  • msp430x435 msp430x436 msp430x437
  • msp430x447 msp430x448 msp430x449
Install binutils if you need to perform any of these types of actions on MSP430 assembler source files or binary files. Most programmers will want to install binutils.
Development is part of MSPGCC project. For more informartion see: http://mspgcc.sourceforge.net

2. Compiler, Interpreter:
  2.1 cdk-msp-gcc A compiler aimed at integrating all the optimizations and features necessary for a high-performance and stable MSP430 development environment. You'll need this package in order to compile C code. It includes:
  • msp430-gcc: GNU project C compiler
  • msp430-cpp: GNU C compatible compiler preprocessor
Supported processor variants:
  • see package cdk-msp-binutils
  • msp430x1222 msp430x1232
  • msp430x1471 msp430x1481 msp430x1491
  • msp430x167 msp430x168 msp430x169 msp430x1610 msp430x1611
  • msp430xE423 msp430xE425 msp430xE427
  • msp430xW423 msp430xW425 msp430xW427
Install gcc if you need to perform any of these types of actions on MSP430 C source files. Most programmers will want to install gcc.
Development is part of MSPGCC project. For more informartion see: http://mspgcc.sourceforge.net

3. Debugger, Simulator, Emulator:
  3.1 cdk-msp-gdb GDB, the GNU debugger, allows you to debug programs written in C, C++, and other languages, by executing them in a controlled fashion and printing their data. In the case of MSP430 processores you can use a integrated simulator to run programs. This collection includes:
  • msp430-gdb: GNU debugger for MSP430 microcontrollers
  • msp430-run: simulator for MSP430 microcontrollers
  • msp430-gdbproxy: remote proxy program for the GNU debugger (you will need it for JTAG access)
Supported targets:
  • simulator
  • remote gdb server
Install gdb if you need to perform any of these types of actions on MSP430 binary files. Most programmers will want to install gdb.
Development is part of MSPGCC project. For more informartion see: http://mspgcc.sourceforge.net

  3.2 cdk-msp-insight Insight is a graphical user interface to GDB, the GNU Debugger written in Tcl/Tk by people working at Red Hat, Inc. and Cygnus Solutions. This package includes the GDB binary too. So it is not a GDB extension. You have to decide between simple GDB (cdk-msp-gdb) and Insight, the graphical GDB.

4. Libraries, Operating Systems:
  4.1 cdk-msp-libc The MSP430 Libc package provides a subset of the standard C library for TIs MSP430 microcontrollers. In addition, the library provides the basic startup code needed by most applications. It includes:
  • standard C library
  • SFR read and write access
  • I/O definitions and access macros
  • bit-field access to ports
  • MSP430 interrupt and signal handling
  • Functions for long jumps
  • String manipulation functions
  • Error handling
  • size/speed optimized FP library (ieee-754 32-bit complaint)
Install MSP430 Libc if you need to perform any of these types of actions on MSP430 C source files. Most programmers will want to install Libc.
Development is part of MSPGCC project. For more informartion see: http://mspgcc.sourceforge.net

5. In System Programming (ISP):
  5.1 cdk-msp-isp This is the base package. It includes some important python modules needed by some other isp tools.

  5.2 cdk-msp-isp-bsl BootStrapLoader software for the flash devices MSP430F1xx (maybe F4xx too, but its not tested). Based on the example provided by TI but with more features. It includes:
  • msp430-bsl
Install bsl (alias pybsl) if you need to perform any of these types of actions at your MSP430 (eva)board. Most programmers will want to install bsl.
Development is part of MSPGCC project. For more informartion see: http://mspgcc.sourceforge.net

  5.3 cdk-msp-isp-parjtag Software to talk to the parallel port JTAG PCB. This software uses the JTAG hardware that comes with the FET kits. It is connected to the parallel port. It includes:
  • msp430-parjtag
Install parjtag (alias pyjtag) if you need to perform any of these types of actions at your MSP430 (eva)board. Most programmers will want to install parjtag.
Development is part of MSPGCC project. For more informartion see: http://mspgcc.sourceforge.net

  5.4 cdk-msp-isp-serjtag Software to talk to the Serial-JTAG box. The MSP430 Serial<->JTAG hardware is needed. The schmatics are available on http://mspgcc.sourceforge.net or see into doc/isp/serjtag. This programm can be used to communicate between the PC and that box. It includes:
  • msp430-serjtag
Install serjtag (alias pyserjtag) if you need to perform any of these types of actions at your MSP430 (eva)board. Only some programmers will want to install serjtag.
Development is part of MSPGCC project. For more informartion see: http://mspgcc.sourceforge.net

  5.5 cdk-msp-jtag P L A N N E D

JTAG Tools is a software package which enables working with JTAG-aware (IEEE 1149.1) hardware devices (parts) and boards through JTAG adapter. This package has open and modular architecture with ability to writing miscellanous extensions (like board testers, flash memory programmers, and so on). Warning: This software may damage your hardware!

Supported JTAG adapters/cables:
  • ARCOM Arcom JTAG Cable
  • ByteBlaster Altera ByteBlaster, ByteBlaster II, ByteBlasterMV Parallel Port Cable
  • DLC5 Xilinx DLC5 JTAG Parallel Cable III
  • EA253 ETC EA253 JTAG Cable
  • EI012 ETC EI012 JTAG Cable
  • KeithKoep Keith & Koep JTAG cable
  • MPCBDM Mpcbdm JTAG cable
  • WIGGLER Macraigor Wiggler JTAG Cable

For more informartion see: http://openwince.sourceforge.net/jtag/

6. Misc:
  6.1 cdk-msp-jtag-lib Parallel Port JTAG Interface -- the MSP430mspgcc library. The Python extension using it and the hardware access library HIL. It includes:
  • funclets: Helper programs that are downloaded to the target.
  • hardware access: The hardware layer is encapsulated in the HIL library.
  • msp430: The MSP430mspgcc library communicates trough the JTAG with an attached MSP430 processor. It has support to read and write memory, erase and write Flash.
  • python: Python extension for use with parjtag (alias pyjtag).
This package will not needed to build any MSP430 target binaries, but you may need it to make JTAG accesses through msp430-gdbproxy or msp430-parjtag.
Development is part of MSPGCC project. For more informartion see: http://mspgcc.sourceforge.net

7. Examples, Tutorials:
  7.1 cdk-msp-examples-libc This is a collection of MSP430 Libc examples:
  • free TCP/IP stack by Andreas Dannenberg with web-server integration named "easyWEB"
  • flash access and random generator
  • Reed-Solomon code for IR control devices
Install this examples if you need to study these informations.

  7.2 cdk-msp-examples-mspgcc This is a collection of MSP430 examples from MSPGCC web-site:
  • bufferedUSART -- MSP430 USART features receive and transmit buffers
  • char_lcd -- how to use a character LCD
  • gfx_lcd --how to use a graphical LCD with T6963
  • leds -- accesses the ports of the MSP
  • pc_keyboard -- capturing keys from a standard at keyboard
  • tasker -- implementation of a cooperative mutlitasker
  • timerA_uart --Timer_A uart, full duplex
  • uart_test -- simple hardware UART test program
  • video -- TVPong and TVTetris
Install this examples if you need to study these informations.

 
Meaning of colors:
  green
  • projects with most significant development work
  • in about all cases there are more than one core developer
  yellow
  • projects with sporadical release flow
  • about each project will be maintained by only one programmer
  red
  • obsoleted and/or non continued projects
  • initiators, authors, and core developer undiscoverable or without furthermore development work


contact