Frequently Asked Questions

Using a CCS Programmer in Linux

For more detailed and in-depth instructions on how to use CCS programmers with CCSLoad in Linux, download the readme.

Current Limitations

The current version of the CCSLoad Programmer Control Software for Linux expects the programmer to by connected as a "ttyS0" through "ttyS7" device only. If the programmer is connected as a "ttyS8" device or higher, or is connected as a "ttyUSB*" device, it will not be visible to the software. Due to this limitation, it will be necessary to create a symbolic link between the programmer and a COM Port. Depending on whether the system uses a static device directory or a dynamic device directory using udev, the instructions below will outline the connection and mapping process.

Select the type of device directory being used:


Static Devices

  1. Connect the USB programmer to the PC.
  2. Enter the following command in a terminal window:
    • dmesg
      

    If Linux recognizes the connected programmer, it will be assigned a "ttyUSB*" file and will appear in the following list generated by the above command:

      ftdi_sio 7-1:1.0: device disconnected
      usb 7-1: new full speed USB device using uhci_hcd and address 4
      usb 7-1: configuration #1 chosen from 1 choice
      ftdi_sio 7-1:1.0: FTDI USB Serial Device converter detected
      usb 7-1: Detected FT232BM
      usb 7-1: Number of endpoints 2
      usb 7-1: Endpoint 1 MaxPacketSize 64
      usb 7-1: Endpoint 2 MaxPacketSize 64
      usb 7-1: Setting MaxPacketSize 64
      usb 7-1: FTDI USB Serial Device converter now attached to ttyUSB0
      

  3. Before creating a symbolic link to map the USB Port to a COM Port, use the following commands in a terminal window to list and remove any unused "ttyS*" files:
    • ls -al /dev/ttyS*
      rm /dev/ttyS*
      

    *** NOTE ***

    • The * in the remove command should be replaced with the number of the "ttyS" file to be removed. The list command can be entered with the * to display all currently available COM Ports.

  4. In order to create a symbolic link to map the USB programmer to a COM Port, enter the following command in a terminal window:
    • ln -s /dev/ttyUSB* /dev/ttyS*
      

    *** NOTE ***

    • The * in "ttyUSB*" should be replaced with the number of the file associated with the connected programmer. The * in "ttyS*" should be replaced with the number of the first available COM Port.
    • This command will need to be done every time the PC is restarted in order to remap the USB programmer to a COM Port.

Dynamic Devices (udev)

  1. Connect the USB programmer to the PC.
  2. Enter the following command in a terminal window:
    • lsusb
      

    If Linux recognizes the connected programmer, the following line will appear in the list of connected devices:

      ID 0403:F9DX Future Technology Devices International, Ltd
      

    *** NOTE ***

    • The X in the ID field for a connected FTDI device changes depending on which programmer is connected to the PC. Here is a list of the programmers and their corresponding FTDI device IDs:
CCS Progammer FTDI IDs
FTDI ID CCS Programmer
0403:F9D0 ICD-U20
0403:F9D1 ICD-U40
0403:F9D2 Mach X
0403:F9D3 Load-n-Go
0403:F9D4 ICD-U64
0403:F9D5 Prime8

  1. In a terminal window, navigate to the installation directory and move the included rules file to the "/etc/udev/rules.d" directory:
    • mv 99-CCS-USB.rules /etc/udev/rules.d/
      

    *** NOTE ***

    • If the 99-CCS-USB.rules file is missing, it can be download here.

  2. Restart the PC in order to have Linux use the new rules for the udev system.

For more information or additional help about using CCS programmers in Linux, contact CCS Technical Support.


C-Aware IDE Demo
Embedded C Learners Kit
C Workshop Compiler