This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS 5.2 + Linux + Stellaris Launchpad LM4F120 = throw 2 launchpads in garbage

I'm using Ubuntu 10.04 and downloaded and installed CCS 5.2 following the linux instructions.  CCS runs but upon new project build I select the proper device and get "No Build tools are currently installed for this device..." error.

As far as I can tell this is just TI's cruel joke that the Stellaris and CCS actually works with linux.

  • Sorry, but your post makes a somehow inconsistent impression.

    > I'm using Ubuntu 10.04 and downloaded and installed CCS 5.2 following the linux instructions.

    While this makes me believe you know what you are doing, the rest shows no willingness to track down the reason of the issue. Are you sure that you followed the linux install instructions correctly ?

    I did not install CCS, and I not intend to do so. I have a working Crossworks setup (under Linux), that supports the LM4F, I tried that successfully with a lauchpad board. And as second point, I don't like Eclipse. It is rather famous for irregular behavior on certain small deviances.

    You could try to fix the installation issue with TI support (on this forum), or try another toolchain.


    > As far as I can tell this is just TI's cruel joke that the Stellaris and CCS actually works with linux.

    You will need some stamina, else you don't get anything to work.

    But somehow you might have hit the spot. Even the source code examples for the Launchpad come as self-deflating Windoze EXE files - looks like TI actually despises Linux...

  • LEDpdq,

    No, this is not a cruel joke :-) CCSv5 for Linux currently does not support Stellaris devices with on-board ICDI.  We don't despise Linux -- many of us, including myself, use it as our OS of choice on our workstations.  It's just a question of time and priority.  We don't want to release something that works only for people that are willing to debug obscure error messages and compile kernel modules.

    Sean

  • Well, thanks at least for "my" part of the answer.

    I have a beagleboard running with good support from TI for the community, so I now TI has some affection to Linux. And it is also my OS of choice. Therefore I was wondering , why only self-deflating windows files.

    I'm using Crossworks under Linux, and this works for my, even with the LM4F120 launchpad. Dealing with Cortex devices of other vendors too, I can't afford just another toolchain for each of them ...

  • The purpose behind the self-extracting windows executables is that they require you to click through and accept the terms of the license agreement.  We think it important that you know and understand the terms of the EULA before you begin using our code.

    The files extract and work correctly in our experience with WINE on linux.  Once extracted you can relocate them as you see fit.

    Dexter

  • Well, I expected this, but wanted to 'hear' it explicitely.

    Just for this "legal fuzz" you want to force me to use Windoze ? Isn't it basically the same text as at the top on almost all header files ?

    That leaves the impression that TI has a rather ambivalent attitude towards Linux. At least some peoply at TI seem to despise it...

  • I don't think people at TI despise Linux.  As Sean mentioned above, many of us use Linux for our development or home machines.  Please don't equate "not willing to actively expend resources to support" with dislike of a thing.  I don't know about the beagleboard business but I am going to guess that a significant portion of their customer base are linux users and thus it makes sense for them to expend resources to actively support Linux hosted development tools for their product.  On the Stellaris business, the vast majority of our customers use Windows as their development platform.  Therefore we must support Windows as the primary development environment.  As individuals developers on our team are able to work Linux support into our flow, we are doing that.  But we always have to balance that with developing new features and supporting new chips.  I think over time you will see increasing parity of Linux tools with Windows tools for Stellaris.  Unfortunately we are just not there at this time.

    As for your comments about the "legal fuzz".  First of all, it is a requirement from TI that customers agree to the license before using the software.  This is enforced through the click-wrap.  I do not want to defend or debate the practice of click-wraps but they are just a reality in the way most large companies handle their software.  The existence of the click wrap has nothing to do with Linux and the lawyers dont care what system it runs on.  We are not forcing you to use Windows in order to install the package.  As has already been mentioned, you can use Wine to run the installer.  This is not windows, it does not force you to pay any money to Microsoft or agree to any microsoft licenses.  I realize that this is not ideal for the Linux user, but I don't think it is an unreasonable compromise.  I use it on my system all the time to install our release packages for testing or whatever.  It takes about 30 seconds to run it.

    As for the license text, the comment headers at the top of the file contains a very brief version of the license (except for the BSD-licensed files, which contain the full license).  Therefore, we present the full license text to you in the installer and you can decide whether to accept the terms before the software gets loaded onto your system.

  • @ Stellaris Joe -

    Simply great post - constructed with great inside insights, technical detail, and abundant care.  Well done and much appreciated!

  • As has already been mentioned, you can use Wine to run the installer.

    Have you ever seen or installed CodeSourcery (now belonging to Mentor Graphics) ? It comes as a Window and Linux Installer package, and yes, is able of presenting this "you-need-to-agree-to-our-licence-agreement" barrier EVEN UNDER LINUX. So it's possible technically.

    I never going to run WINE. For me, It defeats the very purpose of not running Windows. But this is just my private opinion.

    I do not want to defend or debate the practice of click-wraps but they are just a reality in the way most large companies handle their software.

    You are right here - other vendors are not different. And I don't want to attack you specifically. My opinion might be strange, but I don't expect TI to fix issues or bugs in software (source code) I did not pay for. Maybe it's an US issue, where everybody seems to sue everybody else for anything ...

    I view this sources as a gift - which means, once accepted, it is my responsibility. So, this forum is a great thing.

    It would be diferent if we had a support agreement I had paid for...

    Therefore we must support Windows as the primary development environment.

    That is the current state of affairs, as I realized long ago. And as long as my company pays me for the extra time to circumvent all those Windows-shortcomings, I'm not going to complain loudly. But the majority in commercial developments does not make Windows the technically better OS.

  • Hi

    I just got the stellaris launchpad working on linux (Ubuntu 10.04 LTS) with CCS5.2 as root.

    1. download and install CCS5.2 for linux

    2. followed this forum http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-m3_microcontroller/f/471/p/189657/680486.aspx#680486

    I will break it down to steps:

    2-1.  Install libusb-1.0.so

    2-2. cd /usr//lib 

    2-3. sudo ln -s libusb-1.0.so.0 libusb-1.0.so

    2-4. download the linux version of libftd2xx.so.1.1.12

    2-5. unzip this file and cp release/build/i386/libftd2xx.so.1.1.12 /usr/lib

    2-6. cd /usr//lib

    2-7. sudo ln -s libftd2xx.so.1.1.12 libftd2xx.so

    2-8. sudo gedit opt/ti/ccsv5/ccs_base/common/targetdb/connections/Stellaris_ICDI_Connection.xml

    2-9. copy this in to gedit and save it

    <?xml version="1.0"?>
    <connection id="Stellaris In-Circuit Debug Interface" class="31040">
        <connectionType Type="LM_ICDI"/>
        <property Type="hiddenfield" Value="No" id="dataFileRequired"/>
    </connection>

    2-10.  sudo gedit /etc/udev/rules.d/71-ti-permissions.rules and copied the below in:

    SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1cbe",ATTRS{idProduct}=="00fd",MODE:="0666"

    Hope to get it working in user permissions but is works fine in as root, not sure why TI doesn't include this as a liunx work around?

    Logan

    The University of Auckland

    cd /lib

    sudo ln -s libusb-1.0.so.0 libusb-1.0.so

  • Hope to get it working in user permissions but is works fine in as root, ...

    You might need to add your standard (non-root) user to the USB group. (Not sure how this group is actually named under Ubuntu).

    ...not sure why TI doesn't include this as a liunx work around?

    Me too.

      Frank

  • Just to make sure I understand correctly, because my current setup is Ubunutu 12.04 and I'm running CCS from VirtualBox (windows VM).
    If I follow the steps described above I will get native linux support for CCS *and* in-circuit debugging (no need for wine or virtualbox), right?

  • Yes. I get no errors and I can running, stop, step, pause etc...

  • I'm also running Ubuntu 10.04 but  didn't get anything when I followed that thread's suggestions.  Maybe one of the TI guys will take pity on us and get CCS and linux playing nice with the stellarpad soon.

  • Hello all,

    I have written a document about how to run your Stellaris Launchpad on Linux:

    http://lipas.uwasa.fi/~ccuh/useful-docs/stellaris-ccs-linux.pdf

    If there is something missing or wrong, please reply to me and I will try to correct it.

    Caner

  • Caner,

    Thank you for this write up.   It looks good and thorough.  You may want to add a section at the end where you actually debug and step through code in CCS just to confirm everything you just did worked.  

    Dexter

  • Hi Dexter,

    I have just updated it. It includes a debugging screenshot now.

    Best regards,

    Caner

  • Hello.

    I am trying to follow Caner's very helpful writeup to get my Stellaris launchpad working on Linux. using CCS5.3 and Ubuntu 12.4.  I am very new to Linux

    Caner tells me to install libusb.i686, but I don't know how to do this (synaptic does not find it).  However, I have the file libsub-1.0.so.0 in a folder

    /usr/lib/i386-linux-gnu/   .  My questions are: 1) is this .so.0 file the same as the .so file Caner refers to?  2) if so, can I continue to follow Caner's directions using the file in the /i386-linux-gnu folder, or must I copy it into /usr/lib?

    All help appreciated.

    Curt Carpenter

     

  • Hi Curt,

    Synaptic can not find it because I am using Fedora, not Ubuntu. If you skip that step I guess it will work just fine. If you have problems just create a symbolic link to that file what you have in Ubuntu.

    Probably Fedora and Ubuntu are using different file names. I hope it works for you.

    Caner

  • Thank you for the information Caner (and also for the write-up).  I'll try it and see what happens.  

  • Hello again Curt,

    On Ubuntu based distros (like Mint), libusb is located at: /lib/i386-linux-gnu. So you can type in terminal:

    sudo ln -s libusb-1.0.so.0 libusb-1.0.so

    to fix libusb problem.

    Best,

    Caner

  • I just followed your advise and my LM4F launchpad still didn`t work. I got a doubt ,the onboard debuger is Stellaris Based not FTDI compent,and the libftd2xx.so is designed for the FTDI devices ,how could it work?



    Kevin Zhang  

  • Hello Kevin.

    You are right.  See the thread here   for some helpful information.

    TI says they expect to release support for Stellaris Launchpad with CCS5.4 (they have a working setup!)  But meantime, I was able to use OpenOCD as described by Spenser Oliver in the thread above.  

  • Just for information:

    The CCS5.3 istallation worked almost out-of-the-box for me, on two different Mint 11 (Katya) systems.

    I had to add user access to the USB devices (as usual), and debugging brought up a strange error message, but worked nonetheless.