Τρίτη 3 Ιανουαρίου 2017

Code Composer Studio (CCS) v7.0 on Arch Linux

People who like to tinker with electronics (at the level of programming MSP430 in assembly, no less) usually like to tinker with computers and operating systems too. With the release of Code Composer Studio (CCS) v7.0, Texas Instruments now has a Linux version of the programming tools that is (mostly) 64bit and does not require the multitude of 32bit libraries to run on 64bit Linux distributions (as was the case with CCS 6.x).

CCSv7 Running on Arch Linux

However, TI as usual provides instructions for running this useful program on Ubuntu only (LTS releases).  As I prefer to run Arch (I like the sense of total control of what gets installed and the ability to know exactly how my system works) I decided to give it a try. Here is how to successfully install and run CCS 7.x in Arch.

Step  1: Download CCS 7.x

Download the full version of CCS 7.x for Linux from this page. Scroll down and get the offline Linux version (it's about 700Mb). As stated in the notes, you will need to install the 32bit libc on your system.

Step 2: Install / Symlink Required Libraries

 Assuming you have the Multilib repository enabled, as root (or with sudo) execute the following command:

# pacman -S lib32-glibc

According to TI, this would be all you need but really this is not the case in an Arch system. While you don't need any other 32bit library, the installation program requires a few other libraries that may already be installed but are different versions than the ones required. These are:
  • libncurses
  • libusb
Additionally, running the ccs installer on a newly installed Arch GNOME system simply quits after a while without displaying an error message on the console and without presenting a GUI to the user. The installer requires libxss which you may install manually from the repository or let it get installed as a dependency of chromium. 

The specific version of libncurses required can simply be bypassed by symlinking the version already in the system:

# cd /lib
# ln -s libncursesw.so.6.0 libncurses.so.5

Libusb is a bit more tricky. You could symlink the required version it to the libusb already present in your system, but there is a more elegant way: simply install the Energia programming environment from yaourt:

# yaourt -S energia

This will install the correct version of the library and you will be good to go!

Step 3: Extract and Install CCS

There is no need to run the CCS installation as root; I recommend installing it in your home directory as a simple user. There is only a driver installation script you will have to run as root (or with sudo) after the main install completes.

Extract the archive (assuming it is in ~/Downloads):

$ cd /Downloads
$ tar xvpzf CCS7.0.0.00042_linux-x64.tar.gz

(Exact filename may of course vary as new versions are released)

Enter the directory created and run the install script:

$ cd CCS7.0.0.00042_linux-x64
$ ./ccs_setup_linux-x64

Want to program this Launchpad on Linux? You are out of luck.

The installer should come up shortly, without complaining about missing libraries (if it does, recheck your previous steps). Run the installation as usual, selecting all components you require (e.g. MSP430, MSP432, TI Arm and so on). Note that some MSP Launchpads are not supported in the Linux version, notably the cheap and cheerful Value Line Launchpad (pity). The older Stellaris launchpads are also not supported anymore (Time to get yourself a TivaC). 

Step 4: Install The Drivers

There is one final step: Get to the directory where you installed the program and run the driver installation script as root. Assuming you installed it in ~/ti, this is what it would like:

$ cd ~/ti/ccsv7/install_scripts
$ sudo ./install_drivers.sh

Now test your installation:

$ cd ~/ti/ccsv7/eclipse
$ ./ccstudio

You are done! Enjoy your new CCS on Arch. Happy New Year!