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.

EK-TM4C123GXL: Issue with Microcontroller on Mac OS

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

Hello,

I am trying to program the Tiva C Launchpad on my MacBook Pro 2019 with macOS Catalina 10.15.5. 

The issue I am encountering is that I cannot get my Mac to recognize this MCU. I have to connect it via a USB-C dongle and it is just not being recognized.

I've installed the Energia IDE and I get the following error:

Connecting...
error: CORTEX_M4_0: Error connecting to the target: Unable to communicate with the device. Please check your connection.
Failed: Operation was aborted
the selected serial port Failed: Operation was aborted
does not exist or your board is not connected

even though the board is actually connected. I get the same error when I install the latest Code Compose Studio.

Am I missing something? A driver perhaps? Or does this MCU simply not work on macOS?

  • Hello Esteban,

    It sounds like the device got locked due to bad configurations. Typically due to a bad system clock setting.

    You would need to unlock the device as highlight in Section 5.3 here: https://www.ti.com/lit/pdf/spma075

    You can also try and use Uniflash for that as well, it also offers a Debug Port Unlock option. I think LM Flash does not run on Mac OS, so that may be preferred for you.

  • Hi Ralph,

    This is a brand new out-of-the-box MCU. I got Uniflash up and running but not only does it not recognize the connected Tiva device, I get the same error as above.

    I checked on the terminal to see if the Mac itself at least recognized the device but I do not see it in the list of connected devices:

    USB:

    USB 3.1 Bus:

    Host Controller Driver: AppleUSBXHCITR
    PCI Device ID: 0x15ec
    PCI Revision ID: 0x0006
    PCI Vendor ID: 0x8086
    Bus Number: 0x01

    USB3.0 Hub:

    Product ID: 0x1010
    Vendor ID: 0x05ac (Apple Inc.)
    Version: 45.29
    Speed: Up to 5 Gb/s
    Manufacturer: Apple Inc.
    Location ID: 0x01200000 / 1
    Current Available (mA): 900
    Current Required (mA): 144
    Extra Operating Current (mA): 0

    USB 3.1 Bus:

    Host Controller Driver: AppleUSBXHCITR
    PCI Device ID: 0x15ec
    PCI Revision ID: 0x0006
    PCI Vendor ID: 0x8086
    Bus Number: 0x00

    USB 3.1 Bus:

    Host Controller Driver: AppleIntelCNLUSBXHCI
    PCI Device ID: 0xa36d
    PCI Revision ID: 0x0010
    PCI Vendor ID: 0x8086

    USB2.0 Hub:

    Product ID: 0x1011
    Vendor ID: 0x05ac (Apple Inc.)
    Version: 45.29
    Speed: Up to 480 Mb/s
    Manufacturer: Apple Inc.
    Location ID: 0x14200000 / 1
    Current Available (mA): 500
    Current Required (mA): 100
    Extra Operating Current (mA): 0

    USB-C VGA Multiport Adapter:

    Product ID: 0x1461
    Vendor ID: 0x05ac (Apple Inc.)
    Version: 2.35
    Serial Number: DLC943202D8G2WFAD
    Speed: Up to 1.5 Mb/s
    Manufacturer: Apple Inc.
    Location ID: 0x14220000 / 2
    Current Available (mA): 500
    Current Required (mA): 0
    Extra Operating Current (mA): 0

  • Hello Esteban,

    Okay, maybe you need the ICDI drivers then: https://www.ti.com/tool/STELLARIS_ICDI_DRIVERS

    Also make sure you are connecting to the top USB connected and the switch is set for Debug.

  • Thanks Ralph. Will these drivers also work on macOS?

    Thank you,

    Esteban Duran

  • Hello Esteban,

    I know we have Mac users for the LaunchPad but I don't know if they are using a Windows VM to do so. I can investigate further tomorrow or Friday if needed, or you can try and search on E2E as well. We don't really have any Mac experience, so if those drivers don't work there wouldn't be alternatives to my knowledge.

    Not sure how Mac and Windows differ for device enumeration.

  • I use the TM4C1294 Launch Pad with macOS Catalina. It works.

    However -- on the odd occasion where I managed to lock the debugger, the only way to unlock it was to use LMFlash on a Windows box (or in a Windows VM).

    That said, I have not had the lock-up with CCS 10.0 or 10.1.

  • Ralph Jacobi said:

    You would need to unlock the device as highlight in Section 5.3 here: https://www.ti.com/lit/pdf/spma075

    You can also try and use Uniflash for that as well, it also offers a Debug Port Unlock option. I think LM Flash does not run on Mac OS, so that may be preferred for you.

    Hi, Ralph,
    I'm looking at Uniflash 6 on my Mac, connected to the TM4C1294XL LaunchPad. It does [I]not[/I] have the device unlock like one sees in LMFlash. Unless I can't find it, which might be possible!
    Reading through SPMA075, it appears as if Uniflash wants to use XDS100 or XDS200 debug interface -- even though Table 3 says it supports ICDI too.
  • Hello Andy,

    I haven't checked v6 yet but it should be under Settings and Utilities near the bottom, is that where you looked? I'll download version 6 and check as well.

  • Ralph Jacobi said:
    I haven't checked v6 yet but it should be under Settings and Utilities near the bottom, is that where you looked? I'll download version 6 and check as well.

    Not there!

  • Hello Andy,

    Very odd... I see it on Windows.

    Can you open up a thread on CCS forum to ask them why that differs for Windows vs Mac? I unfortunately dont know what to say regarding that...

  • Ralph Jacobi said:

    Can you open up a thread on CCS forum to ask them why that differs for Windows vs Mac? I unfortunately dont know what to say regarding that...

  • The CCS support guy responded almost immediately. The unlock feature is unfortunately Windows only. He guessed that it's because of a Windows-only library being used for the feature. 

    I remember that the feature had appeared in previous versions of Uniflash but did not work, which is why I booted a VM to use LMFlash to unlock my board. In the latest version of Uniflash they took out the option. The CCS support thread has a link to bug reports asking why the unlock doesn't work on Mac or Linux.

  • Hi Andy,

    Interesting, I wasn't aware of that. Kind of surprising, maybe everyone just uses Windows VM. I can't imagine the Mac/Linux users are such a small segment that this isn't has come up before (though maybe Bob or Charles saw all other queries like this!)

  • Well that’s unfortunate. I’ll setup a Windows VM tomorrow and see if that works. Is there an alternative or work around to this? Maybe by using an external debugger and not using the ICDI?

  • Hello Esteban,

    As it is a software tool issue and not a hardware issue, ICDI vs debug probes would not help in this case.

  • Copy. I setup my Windows 10 VM in VirtualBox 6.1 on my MacBook Pro (16-inch, 2019) running macOS Catalina but even Windows is unable to detect my plugged in Launchpad. 

    I have my Launchpad connected to USB via its Debug port which is itself connected to the USB-C dongle connected to my Mac. I have the ICDI drivers downloaded and extracted in Windows. In my Computer Management pane on Windows I don't see any section labeled "Other Devices". 

    I downloaded UniFlash and not even that is able to detect the Launchpad when I try "Auto-detect".

    Is there something I'm missing?

  • Hello Esteban,

    Do you have the switch set to Debug? Is the LED on the LaunchPad on?

    In Device Manager an unidentified ICDI would show up under either Universal Serial Bus controllers or Ports as an unconfigured device.

  • Yes. I have the switch on Debug and I see the LED on and changing colors.

    I looked under Universal Serial Bus and don't see any other device under there. I also do not see a "Ports" section under the Device Manager pane. 

    Thanks,

    Esteban

  • Esteban Duran said:

    I downloaded UniFlash and not even that is able to detect the Launchpad when I try "Auto-detect".

    I don't use VirtualBox. I use VMWare. Does VirtualBox have some way of controlling whether a USB device gets accessed by the Mac or in the Windows VM? You might have to tell it to connect the device to the Windows environment before it can be seen there.

  • Hi Andy,

    Thanks for helping here. We don't have a Mac in the apps team to test this with so I wasn't even aware of that possible difference.

  • I just switched to VMWare Fusion. I have Windows up and running, downloaded the drivers, and installed UniFlash. I am still experiencing the same thing. No OS, neither MacOS nor Windows, detect that the Launchpad is connected.

    Thanks,

    Esteban

  • Esteban Duran said:

    I just switched to VMWare Fusion. I have Windows up and running, downloaded the drivers, and installed UniFlash. I am still experiencing the same thing. No OS, neither MacOS nor Windows, detect that the Launchpad is connected.

    Check "About this Mac" -- System Report and look under USB. Do you see the debug interface?

  • Esteban Duran said:

    I just switched to VMWare Fusion. I have Windows up and running, downloaded the drivers, and installed UniFlash. I am still experiencing the same thing. No OS, neither MacOS nor Windows, detect that the Launchpad is connected.

    One more thing -- are you sure you are plugged into the correct USB port? There are two on the 1294 Launchpad. The micro-B port by the Ethernet jack is the device port, driven by user code in the Tiva, and the micro-B port on the other side of the board (circled here) is the debug port.

  • No, I do not see ICDI on there

    I pulled out an older 2013 MacBook Air I have to take the USB-C dongle out of the equation, connected the Launchpad directly to the Mac, and still do not see the debug interface.

    Below is the screenshot from my Mac Pro:

  • And yes. I have the Launchpad connected via the debug port and the switch on "Debug"

  • So for a final update. I looked across the forums for other reasons why the ICDI would not be detected by Mac OS. I concluded that I might have accidentally programmed the ICDI by having the MCU on “Device” mode. I ordered a new MCU and it worked out of the box.