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.

Linux/EK-TM4C123GXL: Can't connect to the TM4C123GXL from Linux

Part Number: EK-TM4C123GXL
Other Parts Discussed in Thread: ENERGIA, TM4C123GH6PM, , SEGGER

Tool/software: Linux

So, I am very much a beginner to all this - so I suspect this is just a silly error.

I cannot connect to the above mentioned board from my laptop.  Thinkpad X220, Ubuntu 17.10, Linux 4.13.0-39-generic

When I plug the board into USB, the leds on the board flash as per the demo program, but nothing on the laptop happens. (I also have an STM32 board. When I plug this in the laptop registers a storage device has been plugged in and Dolphin opens so I can browse to the device. Building stuff on this board works just fine.)

libusb-1.0-0 is installed.

I have copied the udev rules to /etc/udev/rules.d/ and rebooted the laptop.

If I run energia, and try to install a demo program to the board I get the following error :

Configuring Debugger (may take a few minutes on first launch)...                        
        Initializing Register Database...                              
        Initializing: CORTEX_M4_0                             
        Executing Startup Scripts: CORTEX_M4_0            
GEL: CORTEX_M4_0: GEL Output:                                                                                        
Memory Map Initialization Complete                                                                                   
Connecting...                                                      
error: CORTEX_M4_0: Error connecting to the target: Frequency is out of range.
Failed: Operation was aborted                                                                                        
the selected serial port Failed: Operation was aborted                   
 does not exist or your board is not connected                 

---

I try with all the available serial ports.


In Code Composer Studio, when I create a new project, the TM4C123GXL is not available in the target list, but the 'Tiva TM4C123GH6PM' is. I noted that in the overview that came with the board it says the TM4C123GH6PMI chip is used for programming and debugging. This is the closest I can get, so I choose that.

I'm not 100% sure what connection to choose. I have tried several. I have tried the "Stellaris In-Circuit Debug Interface" and apt-installed the lm4flash package. Regardless, when I try to debug the project I get the error :

Error connecting to the target:
Unable to communicate with the device. Please check your connection.

---

Finally Visual Studio Code with PlatformIO installed :

[Fri Apr 27 21:41:29 2018] Processing lptm4c1230c3pm (platform: titiva; board: lptm4c1230c3pm; framework: energia)
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
PLATFORM: TI TIVA > TI LaunchPad (Tiva C) w/ tm4c123 (80MHz)
SYSTEM: LPTM4C1230C3PM 80MHz 32KB RAM (256KB Flash)
DEBUG: CURRENT(ti-icdi) ON-BOARD(ti-icdi)
Library Dependency Finder -> bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(light)
Collected 22 compatible libraries
Scanning dependencies...
No dependencies
Configuring upload protocol...
Uploading .pioenvs/lptm4c1230c3pm/firmware.bin
Unable to find any ICDI devices





I am out of ideas. I suspect I just haven't installed or configured a driver for the board correctly... It seems with Windows there are explicit drivers to install, but not so for Linux.. Any ideas?

  • I should add the board doesn't show up in the list when I run 'lsusb'.
  • I don't see Linux support of the Stellaris ICDI used on the EK-TM4C123GXL. I will move this thread to the tools group. They should know for sure.

    http://www.ti.com/lit/ml/spmu287c/spmu287c.pdf

  • Ah, that could explain it.

    If there is no Linux support, do you know if it is possible to plug in a separate programmer that does have support? I'm not quite sure how all this stuff fits together yet... I'm trying to follow along with the EdX course on Embedded Systems that uses this board for the course.

    Thanks.

  • Feel your pain - while ours is (not) a Linux shop - we HAVE read of (mutlple others)  who claimed success.

    High up this forum page appears a, "Forum Search box" - and your entry of "Linux and your board's ID" - should produce a number of "hits."     Just maybe - if the planets align - you may be able to "tease out" some tidbit - from those (few) who succeeded.

    As our firm prides itself upon being (especially) resourceful (those unkind may choose "strange") - we OFTEN find that by reviewing the (similar) efforts of (other ARM Vendor forums/tech outlets) - some useful, "added detail" may be gleaned.    Not always are the "differences" sufficient - to force (every) Solution  to apply to, "One and only one" vendor's device...  (Or - as we sailors' note - "ANY Port ... during a Storm!")

    As you "DO Note" - success via another's MCU & Board - perhaps some "digging" - to discover what "yielded" that success - is in order...

    You may also benefit from checking to see if,  "Segger's J-Link" is compatible under Linux.    (As it is Vendor Agnostic - unlike the devices here - that seems a "more reasonable" chance - for expanded capability...)

  • The linux install should come with a bash script to install the drivers. You have to run this in addition to the IDE install.

    http://processors.wiki.ti.com/index.php/Linux_Host_Support_CCSv7

    To cb1's point on digging, if you search "ubuntu launchpad", my struggles are the top hit.

  • May it be asked - are you offering this, "Bash script install" as "Counter to Vendor Rep's earlier noting:"
    "I don't see Linux support of the Stellaris ICDI used on the EK-TM4C123GXL. "

    Have you "succeeded" in such an installation?

  • I have succeeded, and I faintly recall some issue with the MSP430 launchpad, but the TM4C dev kits work

  • Good that!    And - for our poster - should his Linux version/type - fully/properly (& fortunately) match your own - such registers as, GREAT THAT!

    As time allows - if you can recall any "special Care/Handling" required to, "Achieve success under Linux" - such should prove of "GREAT VALUE" to (both) this poster and those "follow-on" readers.

    One note of caution - you have employed the 1294 device - poster notes his as '123. (Devil "often" hides/resides - in such details...)

    And - as I noted/posted earlier - Vendor Agent  "Cast high doubt" - on such "Shot-Gun Marriage" ...  Linux & '123 LPad...     (those "attending" the ceremony - may consider "body armor" - if seated "front rows.")

  • Sorry, I wasn't able to look into this yesterday.

    I have run those Linux scripts. From what I can tell they just install udev rules which allow you to access the board as as non-super user. I still can't access, sudo or not..

    I'll have a closer look tonight.

    Thanks.

  • Hi,

    I confirm what Peter has shown above - I can connect to my EK-TM4C123GXL board without issues on CCSv8.0.0 on Ubuntu 18.04 with all udev rules properly set - you should have the file /etc/udev/rules.d/71-ti-permissions-rules with read permissions for all users (sometimes updates to udev rules only are effective after a reboot). Also, lsusb should show a device 1cbe:00fd

    One additional detail: make sure the switches, jumpers and cable are connected as below (apologize for the bad photograph):

    Hope this helps,

    Rafael