Jump to content
nesslersreagent

Sample UDEV file for Stellaris Launchpad

Recommended Posts

Hi,

I'm trying to get my Stellaris Launchpad to work with the Energia IDE.
I'm told to upload programs and to run the serial port I've got to create a udev entry.

I'm relatively new to linux (although not Ubuntu) so could anyone please provide me with a sample udev file.

My Stellaris board's on port /dev/ttyACM0, VID=1cbe and PID=00fd.

As of now I'm using this ->

# This file allows non-root access to TI stellaris launchpad
# See udev(7) for syntax.
#
SUBSYSTEM=="usb",ATTRS{idVendor}=="1cbe",ATTRS{idP roduct}=="00fd",MODE="0666"
KERNEL=="ttyACM0",ATTRS{idVendor}=="1cbe",ATTRS{id Product}=="00fd",MODE="0666"
#

Thanks in advance

Share this post


Link to post
Share on other sites

Hi,

 

I am on Unbuntu 10.04.

 

I created a file in directory :  etc/udev/rules.d  named :   61-stellapad.rules  (Ty Rick)

 

and pasted :

 

SUBSYSTEM=="usb",ATTRS{idVendor}=="1cbe",ATTRS{idP roduct}=="00fd",MODE="0666"

 

save and unplug .. replug Stellaris board.

 

Hope this can help you

 

Salutations

Bernard

Share this post


Link to post
Share on other sites

Hi Bernard,

 

Thanks for your solution. My Ubuntu(12.04 LTS) installation now allows me to program my Stellaris Launchpad via Energia.

No ICDI driver problems anymore.

 

But I still have to manually enter the command "sudo chmod 666 /dev/ttyACM0" in the terminal else my Launchpad's serial connection is not available in the Energia IDE.

 

This is not a problem but it would help if I could automate this somehow.

 

Note: I'm trying to read serial data(temperature sensor) from the Stellaris via the serial port, so I've got to enable my serial port for this.

 

Cheers,

Shaun

Share this post


Link to post
Share on other sites

Hi Shaun,

 

Nice to read you have it working.

 

May be adding your username to the dialout group could help ... unless you already did that.

 

I have ported TI internal temperature sensor example to Energia and posted it on Energia forum  ... it works ..  nothing spectacular but I am learning and trying to understand step by step.

 

Happy coding

 

Cheers

 

Bernard

Share this post


Link to post
Share on other sites

Thanks,

 

That "add user to dialout group" did the trick. Now it works perfectly.

 

And speaking of temperature sensor code, I am actually using your code :P and it's simple/brilliant!

I intend to do more research on Stellarisware and possibly port some over to Energia.

 

Thanks again.

 

Cheers,

Shaun

Share this post


Link to post
Share on other sites

Hi Shaun,

 

You are welcome .. good to read that everything is ok for you with Energia.

 

I am now playing with timers , PWM  etc

 

Have a nice time coding.

 

See you

 

Cheers

 

Bernard
 

Share this post


Link to post
Share on other sites

Hey guys, I'm having a few issues communicating with my Stellaris Launchpads from a Linux pc. Neither CCS nor a serial terminal can connect to the device. My user is already part of the "dialout" group and I've tried creating the above udev permissions file but that doesn't seem to work. The pc is running Ubuntu 10.04 with the LinuxCNC real time kernel; this pc runs my mill. I'm fluent in linux but far from being a master of it. Any pointers you guys could off would be appreciated.

 

BTW, Energia connects to the StellarisLP with no issues; both to program and monitor serial port. This is so I can use the Stellaris LP to create a wireless, remote pendant for my mill. It's using the HAL2_Arduino interface. I tested it with an Arduino and LCD and the plugin works fine, but since I have no serial access to the Stellaris LP, it won't work for me. HAL2_Arduino compiles and runs properly on the Stellaris LP and can be tested via a dummy terminal in Windows.

 

dmesg reports this:


[56417.596023] usb 2-8: new full speed USB device using ohci_hcd and address 22
[56417.811485] usb 2-8: configuration #1 chosen from 1 choice
[56417.814428] cdc_acm 2-8:1.0: This device cannot do calls on its own. It is not a modem.
[56417.814445] cdc_acm 2-8:1.0: ttyACM0: USB ACM device
 

while a udevadm info reports:


Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0/tty/ttyACM0':
    KERNEL=="ttyACM0"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:02.0/usb2/2-8/2-8:1.0':
    KERNELS=="2-8:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="cdc_acm"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="02"
    ATTRS{bInterfaceSubClass}=="02"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{modalias}=="usb:v1CBEp00FDd0100dcEFdsc02dp01ic02isc02ip01"
    ATTRS{supports_autosuspend}=="1"
    ATTRS{iad_bFirstInterface}=="00"
    ATTRS{iad_bInterfaceCount}=="02"
    ATTRS{iad_bFunctionClass}=="02"
    ATTRS{iad_bFunctionSubClass}=="02"
    ATTRS{iad_bFunctionProtocol}=="01"
    ATTRS{bmCapabilities}=="6"

  looking at parent device '/devices/pci0000:00/0000:00:02.0/usb2/2-8':
    KERNELS=="2-8"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 4"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="80"
    ATTRS{bMaxPower}=="250mA"
    ATTRS{urbnum}=="12"
    ATTRS{idVendor}=="1cbe"
    ATTRS{idProduct}=="00fd"
    ATTRS{bcdDevice}=="0100"
    ATTRS{bDeviceClass}=="ef"
    ATTRS{bDeviceSubClass}=="02"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="22"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Texas Instruments"
    ATTRS{product}=="In-Circuit Debug Interface"
    ATTRS{serial}=="0E101331"

  looking at parent device '/devices/pci0000:00/0000:00:02.0/usb2':
    KERNELS=="usb2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="568"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0001"
    ATTRS{bcdDevice}=="0206"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="1"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="10"
    ATTRS{quirks}=="0x0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 2.6.32-122-rtai ohci_hcd"
    ATTRS{product}=="OHCI Host Controller"
    ATTRS{serial}=="0000:00:02.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:02.0':
    KERNELS=="0000:00:02.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ohci_hcd"
    ATTRS{vendor}=="0x10de"
    ATTRS{device}=="0x03f1"
    ATTRS{subsystem_vendor}=="0x1458"
    ATTRS{subsystem_device}=="0x5004"
    ATTRS{class}=="0x0c0310"
    ATTRS{irq}=="21"
    ATTRS{local_cpus}=="ff"
    ATTRS{local_cpulist}=="0-7"
    ATTRS{modalias}=="pci:v000010DEd000003F1sv00001458sd00005004bc0Csc03i10"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""
 

Share this post


Link to post
Share on other sites

I posted some info I found on using the stellaris launchpad with CCS here:

 

http://forum.stellarisiti.com/topic/256-ccs-v52-linux-and-stellaris-launchpad-interesting-find/

 

Have you tried logging as root and trying different tools? If you log in as root and it doesn't work then it isn't a udev problem.

 

-rick

Share this post


Link to post
Share on other sites

CCS v5.3 seemed to already have that Stellaris XML file with the same contents you posted so I didn't change anything there.

 

Just tried it as root with the same results. Nothing. It must have something to do with the real time kernel.

 

An arduino works fine so now I'm going to test with a FTDI/StellarisLP combo.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×