Linux Host Support

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Contents

Tux.jpg
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.

Emulator Support

Supported

Not-Supported

For information on a specific JTAG emulator please contact your emulator vendor.

Supported ISAs / Device families

Emulation (h/w debug)

Supported

Not Supported

Simulation

Features not available on Linux

Most features are available on Linux but there are some key features that are not present

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

Below are sample installation instructions for some distributions including the steps to install the necessary libraries. 

Ubuntu 13.04 64bit

Ubuntu 12.10 64bit

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

Ubuntu 12.04 32bit

Ubuntu 11.10 64bit

Ubuntu 11.10 32bit

Ubuntu 10.04 32bit

Fedora 18 64bit

IMPORTANT! These installation instructions are for reference only. Fedora distributions are not officially tested and/or supported.

Fedora 17 64bit

IMPORTANT! These installation instructions are for reference only. Fedora distributions are not officially tested and/or supported.

Fedora 16 64bit

IMPORTANT! These installation instructions are for reference only. Fedora distributions are not officially tested and/or supported.

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 -

  1. GRUBBYLASTKERNEL=`/sbin/grubby --default-kernel`
  2. /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

Installing on 64bit Distributions

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.

Missing menu

env UBUNTU_MENUPROXY=0 ccstudio

Getting Started

Support


Additional resources:

Remember to Tag your questions with CCSv5.


Leave a Comment

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 ...

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)

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)

Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox