Linux Host Support
From Texas Instruments Embedded Processors Wiki
Contents |
Overview
CCSv5 is the first CCS release to add Linux host support to the CCS product line. This wiki page describes important information regarding supported Linux distributions (and other dependencies), emulators, simulators and devices. It also lists CCS features that are not yet supported on Linux.
Linux Distributions
As there are many versions and distributions of Linux, we are not able to test and support every flavor. To operate CCS is dependent on a number of libraries, those libraries are listed below along with the Linux distributions that CCS is tested on.
Dependencies
Check that your Linux distribution has all the dependent libraries. The easiest way to do that is to use the script provided here: Checking Linux Dependencies for CCS.
The distro’s package management system should allow you to search for these libraries and install the necessary packages (and dependent packages of those packages) to get them. Or they can be downloaded and built from source.
An additional dependency issue is that the installed version of gdk on some distros may expose different function signatures than expected. This manifests as CCS exiting early with the error message: “symbol lookup error: /opt/ti/ccsv5/ccs_base/DebugServer/linux/libxul.so: undefined symbol: gdk_screen_get_resolution”. SUSE 10.2 exhibits this issue.
The easiest way to resolve this is to install xulrunner-191 (on SUSE: sudo zypper install mozilla-xulrunner191), and then add the new gdk libraries to LD_LIBRARY_PATH (on SUSE: export LD_LIBRARY_PATH=/usr/lib/firefox/lib/:$LD_LIBRARY_PATH) before starting CCS. This issue is only needed when using the internal web browser (help and the TI Resource Explorer are web based). If those features are not needed, CCS can be used with the existing gdk as long as the workspace does not auto-load them.
Testing
CCS will work on many different Linux distributions. However as there are so many it is not possible to test CCS on all of them. These are the distributions that are in the CCS test lab and thus officially supported. In general we test CCS on the latest LTS (Long Term Support) version of Ubuntu as well as the most recent version of Ubuntu and a version of RedHat for enterprise customers.
- Ubuntu 12.04
- Redhat 6
Emulator Support
Supported
- MSP-FET430UIF emulators
- MSP430 eZ-FET based LaunchPads and Experimenter's Boards
- XDS100v1 class emulators
- XDS100v2 class emulators
- XDS100v3 class emulators
- Spectrum Digital 510USB more info
- Spectrum Digital 510USB Plus more info
- Spectrum Digital 510USB C2000 more info
- Spectrum Digital XDS560v2 (LAN/USB) more info
- Spectrum Digital DSK/EVM onboard 510USB (OMAP-L137, DA850, DA830, AM1707) more info
- Blackhawk XDS560v2 (LAN/USB)
- Blackhawk USB560v2 (USB)
- Blackhawk XDS560 USB (USB560, USB560m, and USB560bp models)
- Blackhawk XDS560 LAN (LAN560 models)
- Blackhawk XDS560-BP
- Blackhawk USB510L
- Blackhawk USB2000
- Blackhawk USB510W (Wireless/USB)
- SEED XDS560v2 more info, login needed
- Sauris SAU100-USB (v.2) more info
- Sauris SAU510-USB ISO PLUS JTAG more info
Not-Supported
- MSP430 eZ430 emulators
- Legacy MSP430 LaunchPads & Experimenter's Boards with eZ430 based on-board emulation
- MSP430 Parallel Port FET
- Stellaris ICDI onboard emulator (beta support available on forums)
- Blackhawk USB2.0
- Spectrum Digital onboard emulators on DSKs/EVMs/eZdsp kits not listed above
- Spectrum Digital XDS560R
- Spectrum Digital Parallel Port emulators
- Texas Instruments XDS560 PCI emulator
- Blackhawk XDS560 PCI emulator
- Blackhawk XDS560T Trace Cable
- Texas Instruments XDS510 ISA emulator
- In general vendors are not supporting PCI, ISA or parallel port emulators on Linux
For information on a specific JTAG emulator please contact your emulator vendor.
Supported ISAs / Device families
Emulation (h/w debug)
Supported
- MSP430
- C2000
- C6-Integra
- Sitara
- DaVinci
- Stellaris
- Hercules
- OMAP
- C64x+
- c674
- C66x
- C55x
- C641x (560/560v2 only)
Not Supported
- C/F24x (not supported on Windows either)
- Legacy C3x/C4x/C5x/C8x (not supported on Windows either)
- C54x
- C62xx
- C670x
- C671x
- C672x
- C641x (100/200/510)
Simulation
- generic C64x
- generic C64x+
- generic C674x
- C6416
- C6455
- C6474
- C6670
- C6678
- C6745
- C6747
- DA830
- DM6437
- DM6443
- Cortex M3
- Cortex R4
- other C64+ based devices
Features not available on Linux
Most features are available on Linux but there are some key features that are not present
- MSP430 eZ430 support
- Stellaris onboard emulation support (emulation present on IDKs)
Downloads
See the main CCSv5 topic.
Installation Types
It is possible to install CCS in both single user and multi user environments.
Single-user
This is an installation that will just be used by a single user account. In this case it is recommended that you install CCS into a location within your own folder. I would recommend running the CCS installation with normal user permissions and then running the driver installation script afterwards with sudo or root. This way you will be able to update CCS when running as a normal user.
Multi-user
This is an installation that is installed into a shared location and is used by multiple users. I would recommend running the CCS installation as sudo or root. You will not have to run the driver installation script afterwards as the drivers will be installed by the main installation. Individual users can then run CCS and folders will be created under the home folder to contain their settings. Updating CCS will only be possible by someone with root/sudo permissions which is desired for a shared installation.
There is more information on the directories created by CCS at install time and runtime in this topic: Multi-User_CCS_Installs
Installation Instructions
- Check that your Linux distribution has all the dependent libraries. The easiest way to do that is to use the script provided here: Checking Linux Dependencies for CCS. To run the script you will need to install the 32-bit application support libraries.
sudo apt-get install ia32-libs- Note that for some distributions the command to install the necessary dependencies is listed below. Note that dependencies can change with CCS versions so it is worth running the script just in case CCS has changed since the instructions below were generated.
- Download the install file and untar it into a temporary folder.
- For example,
tar xvfz /tmp/ccsv5_install setup_CCS_5.x.x.0xxxx.tar.gz
- For example,
- Install as user. It is necessary to run a script after installation to install the drivers for the JTAG emulators.
- Go you your installation directory. Navigate to /ccsv5/install_scripts.
- Run the install_drivers script as root.
sudo ./install_drivers.sh
- Install as root
- From a terminal, run the installer as
sudo ./ccs_setup_5.x.x.xxxxxx.bin &
- From a terminal, run the installer as
- A license file is required to run CCS
Below are sample installation instructions for some distributions including the steps to install the necessary libraries.
Ubuntu 13.04 64bit
- Resolve Dependencies
- install the 32-bit application support libraries:
sudo apt-get install ia32-libs - download and extract the CCS dependency checker from here. Note that if you don't install the 32-bit libraries you won't be able to run it.
- run the checker
./check_depends.sh - install the necessary packages to resolve the dependencies. The checker will list the missing .so files, you can use apt-file search to determine which package they are part of. Note that you will likely have to install apt-file first and run the update command to build its list of packages. i.e. run
sudo apt-get install apt-fileand thenapt-file updatethen you can run a check on a .so file with a command like thisapt-file search libjpeg.so.62. It tells me that the item is part of libjpeg62. Then to install it I would runsudo apt-get install libjpeg:i386The ":i386" at the end is important. - typical command to resolve dependencies
sudo apt-get install ia32-libs libjpeg62:i386 libgnomevfs2-0:i386 liborbit2:i386**download either the web installer or the full offline image - run the checker one more time to make sure you have all the dependencies installed correctly (repeat above steps if needed)
- install the 32-bit application support libraries:
- Install CCS
- if you chose the full image then extract it
- run the installation program
- install the drivers. Go to the /ccsv5/install_scripts and then run the script:
sudo ./install_drivers
Ubuntu 12.10 64bit
- Download the install file and extract it with Archive Manager (running from a pre-extracted archive does not work)
- Install dependent libraries (32bit application libraries + others)
sudo apt-get install ia32-libs libjpeg62:i386 libgnomevfs2-extra:i386 liborbit2:i386
- Run the installer (if installing as user run the driver installation script afterwards)
- Instructions tested with:
- CCSv5.4.0
- MSP430UIF (F2131)
- XDS100v2 (F28027 LaunchPad)
- BH XDS560v2 USB (OMAPL138 LCDK)
- BH 510L (F28335 Exp)
- SD XDS560v2 STM Traveller USB (OMAPL138 LCDK)
- SD XDS200 USB (OMAPL138) had to lower JTAG TCLK to get a reliable connection
- SD XDS200 USB (F28335 Exp)
- SD XDS510 USB Plus (OMAPL138 LCDK)
Ubuntu 12.04 64bit
IMPORTANT!!!! The newly released Ubuntu 12.04 64-bit has instabilities with aptitude (update manager) that may prevent installing the required 32-bit libraries. Check its Release Notes and bugs here and here
- Download the install file and extract it with Archive Manager (running from a pre-extracted archive does not work)
- Install 32bit application libraries
sudo apt-get install ia32-libs - Install libjpeg library
sudo apt-get install libjpeg62:i386 - Run the installer (if installing as user run the driver installation script afterward
- If the either the ia32-libs installation or the CCS installation still won't run try running
sudo apt-get updateor run the Ubuntu update manager to make sure all libraries are up to date. Then install ia32-libs again, then try the CCS installer. - Ubuntu currently has a bug that causes messages of the form "wrong ELF class: ELFCLASS64" to be printed in the console. These seem to be harmless.
Ubuntu 12.04 32bit
- Install libjpeg library
sudo apt-get install libjpeg62 - Download the install file and extract it with Archive Manager (running from a pre-extracted archive does not work)
- Run the installer (if installing as user run the driver installation script afterwards)
Ubuntu 11.10 64bit
- Download the install file and extract it with Archive Manager (running from a pre-extracted archive does not work)
- Install 32bit application libraries
sudo apt-get install ia32-libs - Run the installer (if installing as user run the driver installation script afterward
Ubuntu 11.10 32bit
- Download the install file and extract it
- Run the installer as root
sudo ./ccs_setup_5.x.x.xxxxxx.bin &- Can also be run as user but you will need to run a script to install the emulation drivers afterwards
Ubuntu 10.04 32bit
- Download the install file and extract it
- Run the installer as root
sudo ./ccs_setup_5.x.x.xxxxxx.bin &- Can also be run as user but you will need to run a script to install the emulation drivers afterwards
Fedora 18 64bit
IMPORTANT! These installation instructions are for reference only. Fedora distributions are not officially tested and/or supported.
- Run the "Software Update" tool within Fedora to make sure your packages are up to date.
- Add the following packages
sudo yum install libusbx.i686 alsa-lib.i686 atk.i686 dbus-glib.i686 gdk-pixbuf2.i686 pango.i686 libgdk-x11-2.0.so.0 libXt.so.6 libcanberra-gtk2.i686 GConf2.i686 gnome-vfs2.i686 ORBit2.i686 libpng12.i686 - Download the full CCS installation image and extract it using Archive Manager
- Run the installer (if installing as user run the driver installation script (install_drivers.sh) afterwards as sudo, it is in ccsv5/install_scripts)
- Needed to reboot after running the driver installation script. This is necessary on Fedora 18 for the drivers to be recognized after udev restarts
- Known Issues
- I haven't been able to get XDS200 or Spectrum Digital XDS510 emulators to work. XDS100 and XDS560v2 products have been fine.
- Desktop icons are not visible. Need to run from terminal or from activities
- You will see a message saying "Failed to load module "pk-gtk-module". This does not seem to impact operation of the product. Looks like GTK2 pk-gtk-module is deprecated and causes this message to appear for many applications.
- Trace Control does not open. This is the GUI used to configure the trace receiver such as ETB or XDSPROTRACE. CCSv5.4 should resolve this as there is a new UI for configuring trace that does not have the same dependencies.
- If you experience problems getting CCS to recognize the hostid of your license please check out this information
Fedora 17 64bit
IMPORTANT! These installation instructions are for reference only. Fedora distributions are not officially tested and/or supported.
- Run the "Software Update" tool within Fedora to make sure your packages are up to date.
- Add the 32bit libraries
sudo yum install alsa-lib.i686 atk.i686 cairo.i686 dbus-glib.i686 gdk-pixbuf2.i686 pango.i686 libgdk-x11-2.0.so.0 libXt.so.6 libcanberra-gtk2.i686 - Download the full CCS installation image and extract it using Archive Manager
- Run the installer (if installing as user run the driver installation script afterwards)
- The above instructions were tested with GNOME and KDE Plasma
- Known Issues
- You will see a message saying "Failed to load module "pk-gtk-module". This does not seem to impact operation of the product. Looks like GTK2 pk-gtk-module is deprecated and causes this message to appear for many applications.
- Trace Control does not open. This is the GUI used to configure the trace receiver such as ETB or XDSPROTRACE.
- If you experience problems getting CCS to recognize the hostid of your license please check out this information
Fedora 16 64bit
IMPORTANT! These installation instructions are for reference only. Fedora distributions are not officially tested and/or supported.
- Download the install file and extract it
- Run the software update tool to ensure that your packages are up to date
- Add the 32bit libraries
sudo yum install alsa-lib.i686 atk.i686 cairo.i686 dbus-glib.i686 gdk-pixbuf2.i686 pango.i686 libgdk-x11-2.0.so.0 libXt.so.6 PackageKit-gtk-module.i686 libcanberra-gtk2.i686 - Run the installer (if installing as user run the driver installation script after)
- If you experience problems getting CCS to recognize the hostid of your license please check out this information
Fedora 13 32bit
IMPORTANT! These installation instructions are for reference only. Fedora distributions are not officially tested and/or supported.
If you recieve the error: libjvm.so: cannot restore segment prot after reloc: Permission denied when you try to launch CCS, you will need to turn off SELinux using setenforce 0.
Updating
Note that you need to have the same permissions to update an installation as you do to install. In general the user that does the installation should be the one that does the update. I.e. if you install as user then you can update as user but if you installed as root then you will NOT be able to update as user. In multi user scenarios the person who did the installation should be the one doing updates.
Troubleshooting
General
Fedora Licensing
Fedora changed the names of the network interface from ethX to emX in F15 and newer. This causes problems with licensing software.
If you decide to install a commercial software which needs to check its FLEXnet license (from Flexera) on a server running F15, you will need to provide the hostid of your server to the software company by running the lmhostid executable, which gives the MAC address of your server.
With network interfaces named like em0, em1 ..., you will get a null MAC address: $ ./lmhostid lmhostid - Copyright (c) 1989-2008 Acresso Software Inc. All Rights Reserved. The FLEXnet host ID of this machine is "000000000000"
Which is the MAC address of the loopback (lo) interface.
Therefore, you need to change the network interface name back to ethX. FLEXnet license manager only understand network interfaces starting with eth.
Add the kernel option biosdevname=0 in /etc/grub.conf: $ su -
- GRUBBYLASTKERNEL=`/sbin/grubby --default-kernel`
- /sbin/grubby --update-kernel=${GRUBBYLASTKERNEL} --args='biosdevname=0' &>/dev/null
Edit file /etc/udev/rules.d/70-persistent-net.rules and add the 2 following lines: SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:10", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:11", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
Be sure to put your MAC addresses in the fields above.
Rename the ifcfg-* config files in /etc/sysconfig/network-scripts to match the eth0 and eth1 device names.
Then reboot and re-run lmhostid to get: $ ./lmhostid lmhostid - Copyright (c) 1989-2008 Acresso Software Inc. All Rights Reserved. The FLEXnet host ID of this machine is ""001122334410 001122334411""
Support for Older Kernels
- USB permissions are handled successfully in older kernel versions. The installer does not attempt to add the fstab entries required by older kernel versions.
Installing on 64bit Distributions
- CCS is a 32bit application that can run on 64bit Ubuntu distributions when the 32bit library support package (ia32-libs and ia32-libs-gtk) is installed. See the Ubuntu 32bit vs 64bit Wiki topic for more detailed information as well as other alternative ways of running 32bit applications.
- on Ubuntu run:
sudo apt-get install ia32-libs - on Fedora run:
sudo yum install alsa-lib.i686 atk.i686 cairo.i686 dbus-glib.i686 gdk-pixbuf2.i686 pango.i686 libgdk-x11-2.0.so.0 libXt.so.6 PackageKit-gtk-module.i686 libcanberra-gtk2.i686
- on Ubuntu run:
Mozilla library version conflicts (v5.2.x and earlier)
Prior to CCSv5.3, if you see CCS start, display the splash screen, and then disappear after a few seconds, you may be running into a Mozilla library version conflict.
Some background info: CCS uses a Mozilla technology called XPCOM. The same set of libraries are used in Firefox. On Linux, the default Eclipse internal browser is Firefox. When CCS starts with a new workspace (as would normally be the case with a fresh install), the welcome page is displayed. The welcome page uses the internal browser. If the internal browser opens and forces the load of a version of XPCOM that is not compatible with CCS, you may see CCS crash and exit.
To avoid the welcome screen opening by default, browse to the ccsv5/eclipse/plugins/*branding*/ folder, and edit the plugin_customization.ini file. At the end of the file, add a new line containing the text: org.eclipse.ui/showIntro = false
CCSv5.3 removed this dependency.
FAQ
Error "Please set DISPLAY. Code Composer Studio v5 cannot be installed in console mode."
A: Assuming DISPLAY is in fact set correctly then this error is caused by the 32bit library support package not being present. Install the necessary 32bit support libraries to resolve.
Installer exits immediately without doing anything
A: This error is caused by the 32bit library support package not being present. Install the necessary 32bit support libraries to resolve.
Failure installing 32bit libraries
A: Try running the OS update tool first. I have found on Fedora and later Ubuntu distributions that if my OS is not up to date then the libraries will fail to install.
- If using Ubuntu 10.10 or newer with the Unity Desktop framework (default in 11.x) the main menu in CCS to not appear. Instead unity puts the menu at the very top of the screen and you need to place your mouse there and it will appear. Note that if you don't like this Unity feature the issue can be worked around by running CCS with the following command
env UBUNTU_MENUPROXY=0 ccstudio
Getting Started
- Refer to the CCSv5 Windows Getting Started guide for help with the differences between the v5 and v4 workflows.
- Refer to the Linux Debug guide for help in getting started with run-mode and stop-mode Linux debugging
Support
- Refer to the Spectrum Digital troubleshooting guide above for help with the XDS510USB and XDS560v2 emulation connection.
- Refer to the the Linux Debug in CCSv5 page for help with run-mode and stop-mode Linux debug.
Additional resources:
- Troubleshooting CCS
- TI E2E Community
- Code Composer Studio Forum. The CCS forums are actively monitored for CCSv5 questions.
- Compiler Forum
Remember to Tag your questions with CCSv5.
Comments
Contents |
Questions on roadmap
It seems that you've made a lot of progress so far during 2010. Is support for the MSP430 architectures on the roadmap somewhere? (How far out?) Porting CCS for GNU/Linux is a good thing -- it'll allow you to tap into a well of clever hackers that now will begin to consider developing for TI chips, both at home and at work. Keep it up! :-) --Aevin 20:55, 21 September 2010 (UTC)
Aevin, thanks for your comments. MSP430 support on Linux is not something we have on the roadmap yet. You are not the only one asking for this though, so it is being looked at but there is no specific plan as to when it might be available.--AndyW
I am also looking for TI MSP430 support on linux, I have a Windows XP laptop but have been having problems connecting to the FET, I have a linux desktop that I would perfer to use once the support is available.
Gary.stephany said ...
A0322160 said ...
It would be helpful to have instructions for how to uninstall. I am not able to uninstall from ubuntu 10.04 32bit host using the provided uninstall launcher.
In lieu of uninstaller from Ubuntu application menu not working try this: cd to /opt/ti/ccsv5/ccsv5 and look for and execute uninstall_CCSv5
--A0322160 17:18, 27 March 2012 (CDT)
Galens said ...
FYI, the dependency list appears to be missing libXtst. After installing the 32 bit versions of all of the listed dependencies plus libXtst, I was able to run CCS under CentOS 6.3 64 bit. I successfully built one of the msp430 examples from the SimpliciTI code, but I have yet to try the debugger.
--Galens 13:37, 16 December 2012 (CST)
Bitbckt said ...
The installation procedure requires exec permissions on the /tmp filesystem. If exec permissions aren't available a vague "can't find procedure Tcl_Init" message is returned.
--Bitbckt 19:18, 11 April 2013 (CDT)

Just a note for those of us that are linux challenged; when running the installer, use sudo .\ccs_setup_5.1.0.xxxxx.bin instead of sudo ccs_setup_5.1.0.xxxxx.bin as stated above under Installation Instructions.
--Gary.stephany 11:13, 5 October 2011 (CDT)