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.

Issues building TivaWare on Linux with CCSv6

Other Parts Discussed in Thread: MSP430G2553, MSP430WARE, MSPMATHLIB, ENERGIA, CCSTUDIO, EK-TM4C1294XL

 Hi John, I got the warning also after installing all 3 requested library...

 I see you got aTM4129 example compiled, please can you try for me compile QS_weather? If not a simple ccs import existing can you post instruction on how to compile this i suppose  also apply to  LWIP examples. I am dancing in circle without success... 

 Somewhere I found instruction on library rebuilding.. Launched mklib I finally located where is , after a very long long long time (near 1 hour or more, I left computer running) when I returned there where an error too :( It is not the case to check before build?

 I used a lot of compiler in my life, this is the first one driving me so crazy.... At early time the worst condition was swapping some punched card discovering on next day batch aborted... or having trouble with punched tape jammed on reader...

rmcl xlocinfo.cpp -O --embed_icode --keep_asm --diag_warning=225 --quiet  -mv7A8 --abi=eabi --fp_mode=strict --no_visible_enums -mt -c --ti_lib --building_runtime -D_BOOL --keep_unneeded_types=false --embedded_constants=off -fg --rtti -I/tmp/TI_MKLIBITgch3/SRC -fr /tmp/TI_MKLIBITgch3/OBJ -fs /tmp/TI_MKLIBITgch3/OBJ -ft /tmp/TI_MKLIBITgch3/OBJ
cd /tmp/TI_MKLIBITgch3/OBJ; armar -qa /tmp/TI_MKLIBITgch3/rtsv7A8_T_be_xo_eabi.lib *.obj
>> ERROR: mklib: destination library /opt/ti/ccsv6/tools/compiler/arm_5.1.5/lib/./rtsv7M4_T_le_v4SPD16_eabi.lib already exists
root@robertomint-SVS1511C5E:/opt/ti/ccsv6/tools/compiler/arm_5.1.5/lib#

  • Roberto,

    I get errors when I try to build qs_weather but they are different from what you see.

    Here are the steps that I have followed:

    1. I copied my tivaware folder from my windows PC to my Ubuntu 14.04 netbook
    2. In Resource Explorer I added the location where I copied TivaWare so that I can browse the examples.
    3. I imported qs_weather
    4. Attempted to build the project

    I am getting unsolved symbols for (FlashPBGet, FlashPBInit, FlashBPSave and FrameDraw).  I will try to get past that this morning.

    Your error is different though.  Mklib dynamically generates the C runtime library based on your build options.  It does this as there are a lot of combinations of options and shipping pre-built libraries for all of them is huge.  Mklib should run automatically as part of the CCS build.  However I see you have installed CCS in /opt so that means it would have been installed as sudo/root.  I am wondering if that may cause problems with the library generate.  It shouldn't as I thought something was put in place to deal with that.  If you run CCS as root do you get the same error?

    Regards,

    John

  • Ok I can get this to build.  One of my colleagues noticed something was going on with the "linked" files when importing the project.  Basically projects have files that are inside the project folder and then files that are outside the project folder (these are referenced or linked files).  These linked files where not getting pulled in correctly.

    Inside the project folder there should be 2 more folders with source files in them.

    \drivers  (these files are located in tivaware in /examples/boards/dk-tm4c129x/drivers)

    frame.c

    kentec320x240x16_ssd2119.c

    pinout.c

    touch.c

    \utils  (these files are located in your tivaware install under /utils)

    flash_pb.c

    locator.c

    lwiplib.c

    uartstdio.c

    ustdlib.c

    If I put these files back in the project then it builds and loads file.

    We will get a defect filed for this.

    Regards,

    John

  • JohnS said:

    If I put these files back in the project then it builds and loads file.

    We will get a defect filed for this.

     Hi John, thank for parallel test, I got more in deep, so I posted a lot of data in two other thread here, I got SD card example error free adding file on project directory to see if compiler and linker where able to produce code and that went ok...

     After that I checked .project file and I see inside there where no reference to source of missing obj, so adding original reference of include source to new .project file all compile. Still I am not able to connect TIVA ICDI on board nor compile MSP430 nor load code to C2000, something is still broken and MY acrtual mood is not matched ... tiva and ccs risk a flight over the windows and roof too ;)

  • On Ubuntu 14.04 64bit, installed and run as user (just ran the driver install script as sudo) I have had real good results on connecting to boards.  Previous Ubuntu releases have worked well for me as well.  Fedora has given me some trouble.

    In reading one of your other threads I see that you are on Linux Mint.  I don't believe anyone has ever tested on it so there may be other issues there.  I have downloaded the latest 64bit image (16 Petra) and will see if I can get it going.

    Is there any reason you are installing as root?  Is the installation going to be shared by multiple users?

    What error do you get when trying to launch the debugger for Tiva?  If you launch CCS from a terminal it may show more information on what is failing.  

    John

  • Roberto Romano said:
    Still I am not able to connect TIVA ICDI

    I also initially failed to get the TIVA ICDI interface to work with CCS 6 beta 4 on CentOS 6.5. See the thread ccs6 beta 4 unable to access Tiva Launchpad on CentOS 6.5 for a suggestion on how to use load_ti to investigate.

  • Roberto,

    I am able to get my Tiva 129 LaunchPad working on Linux Mint 16 fine.  One big difference between our installations is that I am installing and running as user.  The only thing I run as sudo/root is the driver install script.  Initially I tried to get everything running directly off a bootable usb stick but I had issues during installation.

    Also make sure to select the debug connection as "Stellaris In-Circuit Debug Interface".

    Chester,

    I will ask someone to look at the CentOS thread.  I know we have CentOS in the system test lab.

    Regards,

    John

  •  Wrong button was hit [yes] , I don't clear due to avoid you lose more point than gain...

    JohnS said:

    Is there any reason you are installing as root?  Is the installation going to be shared by multiple users?

     Yes and no, this primarily come from my hold habit of installing as syssadmin and run as user, anyway I wish have just data files on home.

    JohnS said:
    What error do you get when trying to launch the debugger for Tiva?

     Usual frequency out of range as from Chester post.

    JohnS said:
    If you launch CCS from a terminal it may show more information on what is failing.  

    flxInitLoad: client has not been protected.

     libusb can be the trouble..

    root@robertomint-SVS1511C5E:~# ls /usr/lib/libus*
    /usr/lib/libusbmuxd.so.1.0.8  /usr/lib/libusbmuxd.so.2
    root@robertomint-SVS1511C5E:~# apt version libusb-1.0-0
    2:1.0.12-2ubuntu1
    root@robertomint-SVS1511C5E:~# apt search libusb-1
    i   libusb-1.0-0                    - userspace USB programming library        
    i A libusb-1.0-0:i386               - userspace USB programming library        
    i   libusb-1.0-0-dev                - userspace USB programming library developm
    p   libusb-1.0-0-dev:i386           - userspace USB programming library developm
    root@robertomint-SVS1511C5E:~# ls /usr/lib
    lib/   lib32/
    root@robertomint-SVS1511C5E:~# ls /usr/lib32/
    gnome-vfs-2.0  i386-linux-gnu  libgnomevfs-2.so.0  libgnomevfs-2.so.0.2400.4
    root@robertomint-SVS1511C5E:~#

    also after apt reinstall still is not in place... I do some more test tomorrow.

  • The only libusb I installed was libusb-1.0-0-dev:i386

    After setting up Linux Mint 16 64bit (Cinnamon) I ran these 2 commands:

    • sudo apt-get update
    • sudo apt-get install libc6-i386 libx11-6:i386 libasound2:i386 libatk1.0-0:i386 libcairo2:i386 libcups2:i386 libdbus-glib-1-2:i386 libgconf-2-4:i386 libgdk-pixbuf2.0-0:i386 libgtk-3-0:i386 libice6:i386 libncurses5:i386 libsm6:i386 liborbit2:i386 libudev1:i386 libusb-0.1-4:i386 libstdc++6:i386 libxt6:i386 libxtst6:i386 libgnomeui-0:i386 libusb-1.0-0-dev:i386 libcanberra-gtk-module:i386

  • JohnS said:
    apt-get install libc6-i386 libx11-6:i386 libasound2:i386 libatk1.0-0:i386 libcairo2:i386 libcups2:i386 libdbus-glib-1-2:i386 libgconf-2-4:i386 libgdk-pixbuf2.0-0:i386 libgtk-3-0:i386 libice6:i386 libncurses5:i386 libsm6:i386 liborbit2:i386 libudev1:i386 libusb-0.1-4:i386 libstdc++6:i386 libxt6:i386 libxtst6:i386 libgnomeui-0:i386 libusb-1.0-0-dev:i386 libcanberra-gtk-module:i386

     This solved ICDI issue, both 123 and 129 can be loaded, I can debug code, QS wheather is working, sd card get catched in fault_ISR but this was stellaris code so:

     I imported qs-rgb, patched missing .project link from original file rebuild and all loaded fine on launchpad. TM4c123.

    Remain to solve:

      shell don't like () parenthesis.

     MSP430 parameter

     error: option --include_path is missing its parameter 'dir'
    Invoking: MSP430 Compiler
    "/opt/ti/ccsv6/tools/compiler/msp430_4.3.1/bin/cl430" -vmsp --abi=eabi --include_path="/opt/ti/ccsv6/ccs_base/msp430/include" --include_path="/opt/ti/ccsv6/tools/compiler/msp430_4.3.1/include" --include_path= --advice:power=all -g --define=__MSP430G2553__ --diag_warning=225 --display_error_number --diag_wrap=off --printf_support=minimal --preproc_with_compile --preproc_dependency="main.pp" --cmd_file="./configPkg/compiler.opt"  "../main.c"

    Can be of help project? I just loaded GRACE set some peripheral and launched compile.

     Thank a lot for cooperation and assistance.

     

  • JohnS said:
    After setting up Linux Mint 16 64bit (Cinnamon)

     I forgot:

    kernel was a release 1 year old, VBox too so

    before to try your setup I was trying to update library and also I noticed USB support was lost in VirtualBox.

    Freshening kernel and vbox cured USB on vbox and MSP-SA430 got again to life ICDI appeared on windows device export list but not to code composer. Got to life with your proposed as you probably read from previous post.

     On this distro I found libraries where on /lib/x86_64-linux-gnu, after upgrading to latest nothing was working. May be on future I change again if this updating issue doesn't solve from.

     An issue I hate from Linux is this worst library dependence I hated from windows and spreading also on community.

     Can be on a free time I try install an old loved BSD to see if thing go less worse.

    THX again and Chester too.

  • Lets see if we can get through the build issue.

    It is the include paths causing the problem.  I see 3 --include_path= statements on the command line but the last one is blank which is causing the error.

    include_path="/opt/ti/ccsv6/ccs_base/msp430/include" --include_path="/opt/ti/ccsv6/tools/compiler/msp430_4.3.1/include" --include_path= 

    I used to see that a lot when there was a macro in the include path but that macro was undefined resulting in a blank string being inserted for the path.  However you mentioned parenthesis (). Can you send me a screen shot of your include options settings?  I suspect that this may be related to Grace as the Grace for v6 is not yet available.  Was supposed to be out this week.

  • JohnS said:
    Can you send me a screen shot of your include options settings?

     Hi Johns, proud to do so, I also include full project files too.

    4667.gracetest.zip

     

    JohnS said:
    However you mentioned parenthesis ()

     This plague every arm project on final code stripe, it is related to final striping tiobj2bin, I suppose also MSP can suffer too but before this a complete buoid is necessary. All test got built and run fine, error come from function declaration on shell script, somewhere i posted but if you open a shell you can generate the error.

    ------------------------------- From build log ------------------------------------

    "/opt/ti/ccsv6/utils/tiobj2bin/tiobj2bin" "qs-rgb.out" "qs-rgb.bin" "/opt/ti/ccsv6/tools/compiler/arm_5.1.5/bin/armofd" "/opt/ti/ccsv6/tools/compiler/arm_5.1.5/bin/armhex" "/opt/ti/ccsv6/utils/tiobj2bin/mkhex4bin"
    /opt/ti/ccsv6/utils/tiobj2bin/tiobj2bin: 52: /opt/ti/ccsv6/utils/tiobj2bin/tiobj2bin: Syntax error: "(" unexpected
    gmake[1]: [post-build] Error 2 (ignored)
     ----------------------------- end log ----------------------------------------------

    shell test

    roberto-mint@robertomint-SVS1511C5E:~$ sh
    $ function xyz()
    sh: 1: Syntax error: "(" unexpected
    $

     I don't know why this happens, on my knowledge shell function declaration follow this syntax.0

     If you need I do something other just tell me.

  •  I forgot comment on your snapshot of include dialog, I posted MSP430 include, on your image is QS-weather mine is identical to your and work fine.

  • the problem is that ${COM_TI_MCU_MSP430WARE_INSTALL_DIR}

    I bet that is not defined.  Can you go into your options again and look at the system variables and see if it is defined.

  •  You won the game, where I can meet you to pay for ;)

     After adding that var project build and link, can't load to due I don't own a working FETUSB adaptor so launchpad, Olimex and Elprotronics still are all Linux unsupported.

    root@robertomint-SVS1511C5E:/opt/ti/ccsv6/insall_scripts# lsusb
    Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
    Bus 003 Device 043: ID 0403:a6d0 Future Technology Devices International, Ltd Texas Instruments XDS100v2 JTAG / BeagleBone A3
    Bus 003 Device 041: ID 1cbe:00fd Luminary Micro Inc.
    Bus 003 Device 045: ID 0451:f432 Texas Instruments, Inc. eZ430 Development Tool
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 003: ID 08ff:168f AuthenTec, Inc. AES1660 Fingerprint Sensor
    Bus 001 Device 004: ID 0489:d601 Foxconn / Hon Hai

     Yellow marked text has to be reported, MSP430G2 series has no Hardware multiplier on chip and if not on some new device 32bit hw is on 5 and 6 series only.

    C2000 still has trouble on load... C2000 is ok on the other PC and I can compile code of MSP and c2000 on another pc, both are not so tight coupled with linux code to reside together. Again I can do more test if ask for.

    Building target: gracetest.out
    Invoking: MSP430 Linker
    "/opt/ti/ccsv6/tools/compiler/msp430_4.3.1/bin/cl430" -vmsp --abi=eabi --advice:power=all -g --define=__MSP430G2553__ --diag_warning=225 --display_error_number --diag_wrap=off --printf_support=minimal -z -m"gracetest.map" --heap_size=80 --stack_size=80 -i"/opt/ti/ccsv6/ccs_base/msp430/include" -i"/opt/ti/ccsv6/tools/compiler/msp430_4.3.1/lib" -i"/opt/ti/ccsv6/tools/compiler/msp430_4.3.1/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="gracetest_linkInfo.xml" --rom_model -o "gracetest.out" -l"./configPkg/linker.cmd"  "./main.obj" "../lnk_msp430g2553.cmd" -l"libc.a"
    <Linking>
    remark #10422-D: (ULP 6.2) Detected use of a device with available 32-bit hardware multiplier and not also using MSPMATHLIB library (libmath.a).  Recommend using MSPMATHLIB library (libmath.a) for improved performance.
    Finished building target: gracetest.out
     

    **** Build Finished ****

  • Yes it is unfortunately that the G2 MSP430 LaunchPad isn't supported on Linux.  However the newer ones (F5529 and FR5969) are.  The newer ones have an updated version of the eZFET interface on them which has Linux drivers.

    Thanks for taking the time to work through all of this.  I am sure others could run into the same problem so it is good to have this thread available for them to find.

    I will take a look at the hardware multiplier issue.

    John

  • JohnS said:
    Thanks for taking the time to work through all of this.

     Also to you help me get compiler running.

     On last fix IDE Code::Blocks got uninstalled, after reinstalling internal MSP430 support disappeared, no problem I can add again in a while.

     After fixing all thing mspdebug work fine too (mspdebug rf2500) and I can simply compile debug and load from linux, I downloaded Energia, is impressive to see C2000 interface is now ready. Very good work, I try get some tip to troubleshoot C2000.

     To have full support on CCStudio I can buy another UIF then try repair the one got bricked by windows update.

     See you.

  • Roberto,

    Can you send me the G2553 project that is giving the advice on using MSPMATHLIB to take advantage of the hw multiplier.  I spoke with the guy that wrote that tool and it really should not be recommending that.  It looks for some values defined in the header files to determine if the device had the hw multiplier and for G2553 that should not be happening.  Maybe by looking at the project he can see what is going on.

    Thanks,

    John

  •   Hi John, project file was after snapshot of variable, I send again here.

    2570.gracetest.zip

  •  Hi John, another different issue on debug, I loaded LWIP Enet io example to EK-TM4c1294XL, ccopied all references from .project then I started debug session and I obtained this error:

    Can't find a source file at "C:/DriverLib/build/DriverLib.test/driverlib/sysctl.c"
    Locate the file or edit the source lookup path to include its location.

     Absolute path are definitively dangerous and not only again from long time ago when I discovered in early 5.0 beta version it but still is plaguing both version. Again also windows version I bet is still unable to move away from C:\.

     See you

  • When a library or executable is built the absolute path of the source files are embedded in the file.  So in this case execution has stopped inside DriverLib and CCS is attempting to find the source file so that you can see the line of code that it is stopped on.  CCS will look in the absolute path location, it will try to resolve the location relative to your project location and it will also look in an search path locations that you have setup.  In this case it is not going to be able to resolve the path and it will prompt you to locate the file.  It shows the absolute path as that is what is built into the file and often helps people find the file.  Once you locate the file it will then use that location in the future when searching for source files.

    Regards,

    John

  • JohnS said:
    It shows the absolute path as that is what is built into the file and often helps people find the file.

     John, thank for all great help take IDE running, I assure you this path cannot exist there ;)

    This and much other is just reporting, I got source pointed by just a while after the error and before posting. Now I am getting aquainted to compiler and I can produce code to TIVA. This is a good starting point for me and community too but still there where trouble with TIVA ills as it suffer every new technology.

     I faced another problem with compiler, importing a TIRTOS example it lose task setting parameters. All other I discovered are hardware related so I can read again this forum and maybe I return here to try solve C2000 debugger not connecting not before all minimal code is ported to TIVA at almost running reliable machine infrastructure communication.

  • JohnS said:
    When a library or executable is built the absolute path of the source files are embedded in the file.

     Hi John, I located from where this problem came:

     Linux version makefile script has default directory set to c:/TI is enough to set to /opt/ti, after seeking for ENET bug I read makefile to point why don't build and I patched. After rebuilding all files are pointed to correct location.

    CCS_BUILD ?= true
    #DEFAULT_INSTALLATION_DIR ?= c:/ti
    DEFAULT_INSTALLATION_DIR ?= /opt/ti
    ti.targets.arm.elf.M4F   ?= $(DEFAULT_INSTALLATION_DIR)/ccsv6/tools/compiler/arm_5.1.5

  • Roberto,

    Which makefile was that?  Is it one that comes with TI-RTOS?

    John

  • JohnS said:
    Which makefile was that?  Is it one that comes with TI-RTOS?

     Hi John, sorry for missing that information, yes is tirtos.mak, after patch all is fine.

     I ported all of my project to TIRTOS and I am learning how to use it from manuals, thank again for all kind support.