Texas Instruments - EK-LM4F120XL

ARM Cortex-M4 core

  • Stellaris LM4F120H5QR microcontroller
  • 32-bit ARM Cortex M4F core @ 80 MHz
  • 32-kb SRAM
  • 256kb flash

  • RGB user LED

Links

Energia, Energia - Guide to the Stellaris LaunchPad (EK-LM4F120XL), Texas Instruments EK-LM4F120XL, Getting Started with the Stellaris EK-LM4F120XL LaunchPad Workshop, JTAG Connectors, JTAG and the Stellaris Launchpad, Wikipedia - ARM Cortex-M, List of ARM Cortex-M development tools,

back to microcontrollers page.

History / work log

2023-06-03: c2 - connectint the devkit to a FreeBSD workstatiosn gives, from /var/log/messages

Jun  3 18:59:45 kg-core2 kernel: ugen1.6: <Texas Instruments In-Circuit Debug Interface> at usbus1
Jun  3 18:59:45 kg-core2 kernel: umodem0 on uhub3
Jun  3 18:59:45 kg-core2 kernel: umodem0: <Texas Instruments In-Circuit Debug Interface, class 239/2, rev 1.10/1.00, addr 5> on usbus1
Jun  3 18:59:45 kg-core2 kernel: umodem0: data interface 1, has no CM over data, has break

usbconfig

root@kg-core2:~ # usbconfig -d ugen1.6
ugen1.6: <Texas Instruments In-Circuit Debug Interface> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (250mA)

find tty

root@kg-core2:~ # sysctl dev.umodem.0.ttyname
dev.umodem.0.ttyname: U0

check serial devices

root@kg-core2:~ # ls -l /dev/cuaU0 /dev/ttyU0
crw-rw----  1 uucp  dialer  0x1ff Jun  3 18:59 /dev/cuaU0
crw-------  1 root  wheel   0x1fc Jun  3 18:59 /dev/ttyU0

nice.

2021-11-07: I re-created this page on my self-hosted web server.

2014-05-06: trying OpenOCD:

tingo@kg-v7$ openocd -f /usr/local/share/openocd/scripts/board/ek-lm4f120xl.cfg
Open On-Chip Debugger 0.7.0 (2014-05-04-20:48)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : This adapter doesn't support configurable speed
Error: open failed
in procedure 'transport'
in procedure 'init'

Hmm, probably needs to be root for usb access. Try again:

root@kg-v7# openocd -f /usr/local/share/openocd/scripts/board/ek-lm4f120xl.cfg
Open On-Chip Debugger 0.7.0 (2014-05-04-20:48)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : This adapter doesn't support configurable speed
Info : ICDI Firmware version: 9270
Info : lm4f120h5qr.cpu: hardware has 6 breakpoints, 4 watchpoints

(nice! Is the server up and running? In a different shell:)

root@kg-v7# sockstat -4
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS     
root     openocd    85188 3  tcp4   *:6666                *:*
root     openocd    85188 4  tcp4   *:4444                *:*
root     openocd    85188 9  tcp4   *:3333                *:*
[...snip...]

OK, it is. Which port is which now? Let's try: (in a different shell)

tingo@kg-v7$ telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
>

Nice! (the following is printed in OpenOCD's server output)

Info : accepting 'telnet' connection from 4444

cool. And I can type commands into the telnet shell. This might work.

2014-05-06: I follow the board setup in the quickstart guide (README First) for the LM4F120 LaunchPad, set the debug switch to "debug" and connect a usb cable to the debug connector. Then I connect the LM4F120 to a FreeBSD machine:

tingo@kg-v7$ uname -a
FreeBSD kg-v7.kg4.no 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014
     root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

and the LaunchPad shows up like this in /var/log/messages:

May  6 23:52:53 kg-v7 kernel: ugen0.3: <Texas Instruments> at usbus0
May  6 23:52:53 kg-v7 devd: Executing 'kldload -n umodem'
May  6 23:52:53 kg-v7 devd: Executing 'logger Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3'
May  6 23:52:53 kg-v7 kernel: umodem0: <Texas Instruments In-Circuit Debug Interface, class 239/2, rev 1.10/1.00, addr 3> on usbus0
May  6 23:52:53 kg-v7 kernel: umodem0: data interface 1, has no CM over data, has break
May  6 23:52:53 kg-v7 root: Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3
May  6 23:52:53 kg-v7 devd: Executing 'logger Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3'
May  6 23:52:53 kg-v7 root: Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3
May  6 23:52:53 kg-v7 devd: Executing 'logger Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3'
May  6 23:52:53 kg-v7 root: Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3
May  6 23:52:53 kg-v7 devd: Executing 'logger Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3'
May  6 23:52:53 kg-v7 root: Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3
May  6 23:52:53 kg-v7 devd: Executing 'logger Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3'
May  6 23:52:53 kg-v7 root: Unknown USB device: vendor 0x1cbe product 0x00fd bus uhub3

which is interesting.

2013-08-26: FedEx calls me at 08:00 local time, I agree to have the package delivered at my workplace. At 12:40 I have the package in my hands.

2013-08-23: delivery attempt by FedEx, from their log it was attempted at 14:55 local time, but I got the text message about the failed attempt at 16:57. Doesn't look like FedEx is totally online.

2013-08-20: I got a shipped notification from TI for the EK-LM4F120XL package.

2013-08-16: TI offered the EK-LM4F120XL for USD 7.99 (shipping included) so I ordered another one.

2012-11-08: I got the EK-LM4F120XL package.

2012-11-07: I call FedEx and ask them to deliver the package at my workplace (the only sensible solution they could offer).

2012-11-06: delivery attempt by FedEx - I wasn't home, and got a text message after the failed delivery attempt.

2012-11-02: I got a shipped notification from TI for the EK-LM4F120XL package.

2012-09-02: I ordered one EK-LM4F120XL Stellaris LM4F120 LaunchPad Evaluation Kit from TI for USD 4.99 including shipping.