7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
1/14
Christian's BlogLinux, programming, hacking, electronics, Python These are the things I love.
December 11, 2012
Getting Started with the TI Stellaris LaunchPad onLinux
TI Stellaris LM4F120 LaunchPad Evaluation Board
Overview
First get a GCC cross compiler for ARM
Install the lm4flash tool
Build OpenOCD with ICDI support
Compile and flash the demo project
Debug the example with Nemiver, OpenOCD and GDB
Running GDB manually
Launchpads serial connection
The bad stuff
References/Further Reading:
http://www.jann.cc/_images_big/launchpad/stellaris_launchpad.jpeghttp://www.jann.cc/index.htmlhttps://estore.ti.com/Stellaris-LaunchPad.aspxhttp://www.jann.cc/_images_big/launchpad/stellaris_launchpad.jpeghttp://www.jann.cc/index.html7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
2/14
STM32 microcontrollers are very nice and the STM32F0/ STM32VL/ STM32F3/ STM32F4/
STM32L- Discovery boards with the integrated debugger are well supported under Linux, in
contrast to the LPCXpresso boards from NXP, so in principle there is no need to look further
for other microcontrollers but I like trying new stuff and bought two cheep EK-LM4F120XL
Stellaris LM4F120 LaunchPad Evaluation Boards for the promotional price of $4.99 each
with free shipping from TI.
Implaningto use them with some cheap nRF24L01 wireless modules from eBay, but this is
the subject of another blog post.
First get a GCC cross compiler for ARM
Download the latest arm-none-eabi-gcc compiler from Launchpad:
https://launchpad.net/gcc-arm-embedded/+download
https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q1-update/+download/gcc-arm-
none-eabi-4_7-2013q1-20130313-linux.tar.bz2
Extract the tarball somewhere and add the compiler to the $PATH , e.g. edit your ~/.bashrc
file and add a line like this:
export PATH=$PATH:$HOME/tools/gcc-arm-none-eabi-4_7-2013q1/bin
Install the lm4flash tool
[chris@thinkpad TI]$git clone https://github.com/utzig/lm4tools.git[chris@thinkpad TI]$cd lm4tools/lm4flash/[chris@thinkpad lm4flash]$makegcc -Wall -g -O2 -I/usr/include/libusb-1.0 lm4flash.c -L/lib64 -lusb-1.0 -o lm4flash[chris@thinkpad lm4flash]$sudo cp lm4flash /usr/bin/[chris@thinkpad lm4flash]$
Build OpenOCD with ICDI support
Now we will build OpenOCD (the Open On-Chip Debugger) with ICDI (in-circuit debug
interface) support to flash and debug the LaunchPad.
Since ICDI support has been merged into OpenOCD master branch we only need to enable
it (--enable-ti-icdi) when configuring OpenOCD.
http://forum.stellarisiti.com/topic/309-icdi-support-in-openocd/page-3#entry1890https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q1-update/+download/gcc-arm-none-eabi-4_7-2013q1-20130313-linux.tar.bz2https://launchpad.net/gcc-arm-embedded/+downloadhttp://www.jann.cc/pages/projects.html#build-a-wireless-networkhttps://estore.ti.com/Stellaris-LaunchPad.aspxhttp://www.lpcware.com/LPCXpressohttp://www.st.com/internet/evalboard/subclass/959.jsphttp://www.st.com/internet/evalboard/product/250990.jsphttp://www.st.com/internet/evalboard/product/252419.jsphttp://www.st.com/internet/evalboard/product/254044.jsphttp://www.st.com/internet/evalboard/product/250863.jsphttp://www.st.com/internet/evalboard/product/253215.jsp7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
3/14
[chris@thinkpad ARM]$git clone git://git.code.sf.net/p/openocd/codeopenocd.git[chris@thinkpad ARM]$cd openocd.git[chris@thinkpad openocd.git]$./bootstrap[chris@thinkpad openocd.git]$./configure --prefix=/usr --enable-maintainer-mode --enable-stlink --enable-ti-icdi[chris@thinkpad openocd.git]$make[chris@thinkpad openocd.git]$sudo make install
Compile and flash the demo project
Download StellarisWare for the Stellaris LM4F120 LaunchPad Evaluation Board (SW-EK-
LM4F120XL) from TI:
http://www.ti.com/tool/sw-ek-lm4f120xl
After the login you should be able to download a file named SW-EK-LM4F120XL-9453.exe.
Note
As Leo Tindle has pointed out in the comments, the StellarisWare is also available on
GitHub: https://github.com/yuvadm/stellaris.
[chris@thinkpad TI]$git clone https://github.com/yuvadm/stellaris.git[chris@thinkpad stellaris.git]$cd stellaris.git/driverlib/[chris@thinkpad driverlib]$make clean[chris@thinkpad driverlib]$make
[chris@thinkpad TI]$cd ../boards/ek-lm4f120xl/project0/[chris@thinkpad project0]$make CC project0.c CC startup_gcc.c LD gcc/project0.axf[chris@thinkpad project0]$
Now extract the files (including the demo project):
[chris@thinkpad ~]$mkdir stuff/ARM/TI/StellarisWare[chris@thinkpad ~]$cd stuff/ARM/TI/StellarisWare[chris@thinkpad StellarisWare]$unzip ~/Downloads/SW-EK-LM4F120XL-9453.exeArchive: /home/chris/Downloads/SW-EK-LM4F120XL-9453.exe inflating: EULA.txt inflating: license.html inflating: makedefs inflating: Makefile inflating: manifest.html...[chris@thinkpad StellarisWare]$
Compile everything:
https://github.com/yuvadm/stellarishttp://leonexis.com/http://www.ti.com/tool/sw-ek-lm4f120xl7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
4/14
[chris@thinkpad StellarisWare]$makemake[1]: Entering directory `/home/chris/stuff/ARM/TI/StellarisWare/driverlib'make[2]: Entering directory `/home/chris/stuff/ARM/TI/StellarisWare/driverlib' CC adc.c CC can.c... CC ../../../utils/uartstdio.cLD gcc/capsense.axfmake[3]: Leaving directory `/home/chris/stuff/ARM/TI/StellarisWare/boards/ek-lm4f120xl-boost-capsense/capsense'
make[2]: Leaving directory `/home/chris/stuff/ARM/TI/StellarisWare/boards/ek-lm4f120xl-boost-capsense'make[1]: Leaving directory `/home/chris/stuff/ARM/TI/StellarisWare/boards'[chris@thinkpad StellarisWare]$
Add a new udev rule to let normal users access the LaunchPad and program it with
OpenOCD:
[chris@thinkpad StellarisWare]$sudo vim /etc/udev/rules.d/10-local.rules[chris@thinkpad StellarisWare]$cat /etc/udev/rules.d/10-local.rules
ATTR{idVendor}=="15ba", ATTR{idProduct}=="0004", GROUP="plugdev", MODE="0660"# Olimex Ltd. OpenOCD JTAG TINYATTR{idVendor}=="067b", ATTR{idProduct}=="2303", GROUP="plugdev", MODE="0660"# Prolific Technology, Inc. PL2303 Serial PortATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", GROUP="plugdev", MODE="0660"# USB SerialATTR{idVendor}=="1cbe", ATTR{idProduct}=="00fd", GROUP="plugdev", MODE="0660"# TI Stellaris Launchpad
[chris@thinkpad StellarisWare]$sudo udevadm control --reload-rules
If it still does not work you can try this:
[chris@thinkpad StellarisWare]$sudo groupadd plugdev[chris@thinkpad StellarisWare]$sudo usermod -aG plugdev chris #replace chriswith your username
[chris@thinkpad StellarisWare]$sudo usermod -aG dialout chris[chris@thinkpad StellarisWare]$sudo reboot
Modify the Makefile in StellarisWare/boards/ek-lm4f120xl/project0/and add
the flash rule (use a tabulator for indention like in the other make targets):
#
# The default rule, which causes the Project Zero Example to be built.
#
all: ${COMPILER}all: ${COMPILER}/project0.axf
#
# The rule to flash the program to the chip.
#
flash:
lm4flash gcc/project0.bin
Now you should be able to flash the board when running make flash :
7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
5/14
[chris@thinkpad StellarisWare]$cd boards/ek-lm4f120xl/project0/[chris@thinkpad project0]$make clean[chris@thinkpad project0]$make CC project0.c CC startup_gcc.c LD gcc/project0.axf[chris@thinkpad project0]$make flashlm4flash gcc/project0.binFound ICDI device with serial: 0E102397ICDI version: 9270
[chris@thinkpad project0]$
Debug the example with Nemiver, OpenOCD and GDB
Make sure Nemiver is installed:
[chris@thinkpad project0]$sudo yum install nemiver
Add another rule to the Makefile :
#
# The rule to rebuild the project and debug it with Nemiver.
#
debug: cleandebug: CFLAGS+=-g -D DEBUGdebug: ${COMPILER}debug: ${COMPILER}/project0.axfdebug: ./debug_nemiver.sh
debug_nemiver.sh:
#!/bin/bash
# location of OpenOCD Board .cfg files
OPENOCD_BOARD_DIR=/usr/share/openocd/scripts/board
# start xterm with openocd in the background
xterm -e openocd -f $OPENOCD_BOARD_DIR/ek-lm4f120xl.cfg &
# save the PID of the background process
XTERM_PID=$!
# wait a bit to be sure the hardware is ready
sleep 2
# execute some initialisation commands via gdb
arm-none-eabi-gdb --batch --command=init.gdb gcc/project0.axf
# start the gdb gui
nemiver --remote=localhost:3333 --gdb-binary="$(which arm-none-eabi-gdb)"gcc/project0.axf
# close xterm when the user has exited nemiver
kill $XTERM_PID
init.gdb :
http://projects.gnome.org/nemiver/7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
6/14
# Specify remote target
target extended-remote :3333
# Reset to known state
monitor reset haltloadmonitor reset init
# Set a breakpoint at main().
break main
# Run to the breakpoint.
continue
After this everything you have to do to start a new debug session is to run make debug :
[chris@thinkpad project0]$make debug CC project0.c CC startup_gcc.c LD gcc/project0.axf
./debug_nemiver.sh0x00000000 in g_pfnVectors ()target state: haltedtarget halted due to debug-request, current mode: ThreadxPSR: 0x01000000 pc: 0x000002bc msp: 0x20000100Loading section .text, size 0x5e4 lma 0x0Start address 0x2bd, load size 1508Transfer rate: 6 KB/sec, 1508 bytes/write.target state: haltedtarget halted due to debug-request, current mode: ThreadxPSR: 0x01000000 pc: 0x000002bc msp: 0x20000100Breakpoint 1 at 0x26e: file project0.c, line 68.
Note: automatically using hardware breakpoints for read-only addresses.
Breakpoint 1, main () at project0.c:6868 SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|
Now you have an easy and fast way to debug your programs.
Running $ make debug
http://www.jann.cc/_images/nemiver_in_action.png7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
7/14
You may need to rebuild all libraries in debug mode to have debugging information available
for library functions:
[chris@thinkpad project0]$cd ../../../[chris@thinkpad StellarisWare]$make cleanmake[1]: Entering directory `/home/chris/stuff/ARM/TI/StellarisWare/driverlib'...[chris@thinkpad StellarisWare]$make DEBUG=1make[1]: Entering directory `/home/chris/stuff/ARM/TI/StellarisWare/driverlib'
make[2]: Entering directory `/home/chris/stuff/ARM/TI/StellarisWare/driverlib' CC adc.c CC can.c CC comp.c CC cpu.c... LD gcc/project0.axf../../../driverlib/gcc-cm4f/libdriver-cm4f.a(gpio.o): In function`GPIODirModeSet':/home/chris/stuff/ARM/TI/StellarisWare/driverlib/gpio.c:288: undefinedreference to `__error__'
...make[3]: *** [gcc/project0.axf] Error 1make[3]: Leaving directory `/home/chris/stuff/ARM/TI/StellarisWare/boards/ek-lm4f120xl/project0'make[2]: *** [all] Error 2make[2]: Leaving directory `/home/chris/stuff/ARM/TI/StellarisWare/boards/ek-lm4f120xl'make[1]: *** [all] Error 2make[1]: Leaving directory `/home/chris/stuff/ARM/TI/StellarisWare/boards'make: *** [all] Error 2[chris@thinkpad StellarisWare]$
Theoretical this should work, it is explicitly stated in StellarisWare/makedefs:
#
# Tell the compiler to include debugging information if the DEBUG environment
# variable is set.
#
ifdef DEBUG
CFLAGS+=-g -D DEBUGendif
http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-
m3_microcontroller/f/471/t/44656.aspx:
http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-m3_microcontroller/f/471/t/44656.aspx7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
8/14
The undefined reference to __error__ problem you are seeing most likely
indicates that you have a mismatch between debug and release versions of the
DriverLib library you are linking and your application code. Alternatively, you
may be using the ASSERT() macro without having defined the __error__()
function in your application.
In a debug build (when you define label DEBUG either in your IDE or using -
DDEBUG passed to your compiler), error checking code is included in
DriverLib via the macro ASSERT(). This macro generates a call to function
__error__ if the assert fails and it is expected that the application code will
include this function. Typically, all it does is enter a while(1) to stop execution
and allow you to debug the problem but you can also add other code there to
dump status or provide other useful information.
To get rid of the problem, you have a couple of choiced. First, you can rebuild
DriverLib without DEBUG defined then link this version to your application code
(assuming you dont use ASSERT() anywhere in the app). The other option, if
you want to use the debug features, is to add a function to your application
along the lines of the following:
#ifdef DEBUG
void__error__(char*pcFilename, unsignedlongulLine){ // // Something horrible happened! You need to look // at file "pcFilename" at line "ulLine" to see // what error is being reported. //while(1) { }}#endif
After adding that function to project0.c compiling in debug mode is successful and
debugging information is available for the underlying library functions:
7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
9/14
7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
10/14
[chris@thinkpad project0]$arm-none-eabi-gdb gcc/project0.axfGNU gdb (GNU Tools for ARM Embedded Processors) 7.4.1.20130312-cvsCopyright (C) 2012 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law. Type "show copying"and "show warranty" for details.This GDB was configured as "--host=i686-linux-gnu --target=arm-none-eabi".For bug reporting instructions, please see:...
Reading symbols from /home/chris/Projects/ARM/TI/stellaris.git/boards/ek-lm4f120xl/project0/gcc/project0.axf...done.(gdb) target extended-remote :3333Remote debugging using :33330x00000000 in g_pfnVectors ()(gdb) monitor reset halttarget state: haltedtarget halted due to debug-request, current mode: ThreadxPSR: 0x01000000 pc: 0x00000af4 msp: 0x20000910(gdb) loadLoading section .text, size 0x9f8 lma 0x0Start address 0x2bd, load size 2552Transfer rate: 7 KB/sec, 2552 bytes/write.(gdb) monitor reset inittarget state: haltedtarget halted due to debug-request, current mode: ThreadxPSR: 0x01000000 pc: 0x000002bc msp: 0x20000100(gdb) monitor reset inittarget state: haltedtarget halted due to debug-request, current mode: ThreadxPSR: 0x01000000 pc: 0x000002bc msp: 0x20000100(gdb) runThe program being debugged has been started already.
Start it from the beginning? (y or n) yStarting program: /home/chris/Projects/ARM/TI/stellaris.git/boards/ek-lm4f120xl/project0/gcc/project0.axf
c^C0x00000876 in SysCtlDelay (ulCount=1763554, ulCount@entry=2000000) atsysctl.c:18561856 __asm(" subs r0, #1\n"(gdb) cContinuing.^CProgram received signal SIGINT, Interrupt.SysCtlDelay (ulCount=13615, ulCount@entry=2000000) at sysctl.c:1856
1856 __asm(" subs r0, #1\n"(gdb) break project0.c:85Breakpoint 1 at 0x282: file project0.c, line 85.(gdb) cContinuing.Note: automatically using hardware breakpoints for read-only addresses.
Breakpoint 1, main () at project0.c:8585 GPIOPinWrite(GPIO_PORTF_BASE, RED_LED|BLUE_LED|GREEN_LED,RED_LED);(gdb)
Launchpads serial connection
7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
11/14
The USART of the target processor is available through ICDI as /dev/ttyACM0,
/dev/ttyACM2or /dev/ttyACM3 under Linux.
[chris@thinkpad project0]$cd ../qs-rgb/[chris@thinkpad qs-rgb]$makemake: Nothing to be done for `all'.[chris@thinkpad qs-rgb]$lm4flash gcc/qs-rgb.binFound ICDI device with serial: 0E102397[chris@thinkpad qs-rgb]$
sudo screen /dev/ttyACM3 115200Welcome to the Stellaris LM4F120 LaunchPad!Type 'help' for a list of commands> External or other reset>>helphelp : Display list of commandshib : Place system into hibernate moderand : Start automatic color sequencingintensity : Adjust brightness 0 to 100 percentrgb : Adjust color 000000-FFFFFF HTML notation>rgb 000EEE
>[screen is terminating][chris@thinkpad qs-rgb]$
The bad stuff
Some of the example files from the StellarisWare have a really ugly license:
// Texas Instruments (TI) is supplying this software for use solely and
// exclusively on TI's microcontroller products. The software is owned by
// TI and/or its suppliers, and is protected under applicable copyright
// laws. You may not combine this software with "viral" open-source
// software in order to form a larger program.
You know I mean the viral open-sourcepart.
And TI please fix your website, lots of 404 links, just use such a viral open-sourcescript to
check all links.
References/Further Reading:
http://www.ti.com/tool/EK-LM4F120XL
http://processors.wiki.ti.com/index.php/Stellaris_LaunchPad
http://processors.wiki.ti.com/index.php/Stellaris_Launchpad_with_OpenOCD_and_Linux
http://www.ti.com/ww/en/launchpad/stellaris_head.html
http://www.ti.com/product/lm4f120h5qr
http://hackaday.com/tag/stellaris-launchpad/http://recursive-labs.com/blog/2012/10/28/stellaris-launchpad-gnu-linux-getting-started/
https://eehusky.wordpress.com/2012/12/04/using-gcc-with-ti-stellaris-launchpad-a-
more-in-depth-look/
https://eehusky.wordpress.com/2012/12/04/using-gcc-with-ti-stellaris-launchpad-a-more-in-depth-look/http://recursive-labs.com/blog/2012/10/28/stellaris-launchpad-gnu-linux-getting-started/http://hackaday.com/tag/stellaris-launchpad/http://www.ti.com/product/lm4f120h5qrhttp://www.ti.com/ww/en/launchpad/stellaris_head.htmlhttp://processors.wiki.ti.com/index.php/Stellaris_Launchpad_with_OpenOCD_and_Linuxhttp://processors.wiki.ti.com/index.php/Stellaris_LaunchPadhttp://www.ti.com/tool/EK-LM4F120XLhttp://www.ti.com/7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
12/14
http://kernelhacks.blogspot.com.es/2012/11/the-complete-tutorial-for-stellaris_25.html
https://github.com/scompo/stellaris-launchpad-template-gcc
http://www.fischl.de/arm/sllogiclogger_logic_analyser_for_stellaris_launchpad/
Posted by Christian Jann
Filed under: English
Tags: ARM, TI, HOWTO, C, Programming, Linux, Stellaris, LaunchPad, Nemiver, OpenOCD
8 Comments jann.cc Login
Sort by Oldest Share
willprice94
Thanks for the post, I'll certainly be referring to this when my Stellaris arrives.
S Leo Tindle
You might be interested to know that the StellarisWare drivers are now under the TI BSD
License. The version of StellarisWare you cite (9453) is under this license. Just look at
the license section of any of the driver source files and the TI-BSD-EULA.txt file at the root
of the extracted SW-EK-LM4F120XL-9453.exe archive. It looks like they forgot to changethe license header on the examples, though. BTW, very informative post. Helped get up
and running on Kubuntu 12.10.
Christian Jann Mod
Thank you for pointing this out, I've seen that some files have a better license but
I'm more interested in the question whether it is allowed to copy the StellarisWare
to GitHub and why nobody has done this already. It would be so much nicer if I
could do a git cloneto get the StellarisWare and a git pullto check for updatesso that I can easily integrate the StellarisWare into my project without telling
everybody that they have to register at TI and get the StellarisWare from there.
OK I've found the reason, now I have to complain abut the EULA (TI StellarisWare
Crippleware Software License Agreement (SLA)):
g. Restrictions. You shall maintain the source code versions of the Licensed
Materials under password control protection and shall not disclose such source
code versions of the Licensed Materials, or any derivative thereof, to any person
other than your employees and contractors whose job performance requires
access.
S Leo Tindle
Favorite
http://disqus.com/leonexis/http://disqus.com/chr1sj/http://disqus.com/chr1sj/http://kernelhacks.blogspot.com.es/2012/11/the-complete-tutorial-for-stellaris_25.htmlhttp://www.jann.cc/tags/openocd.htmlhttp://www.jann.cc/tags/nemiver.htmlhttp://www.jann.cc/tags/launchpad.htmlhttp://www.jann.cc/tags/stellaris.htmlhttp://www.jann.cc/tags/linux.htmlhttp://www.jann.cc/tags/programming.htmlhttp://www.jann.cc/tags/_c.htmlhttp://www.jann.cc/tags/howto.htmlhttp://www.jann.cc/tags/ti.htmlhttp://www.jann.cc/tags/arm.htmlhttp://www.jann.cc/categories/english.htmlhttp://www.jann.cc/pages/about.html#about-mehttp://www.fischl.de/arm/sllogiclogger_logic_analyser_for_stellaris_launchpad/https://github.com/scompo/stellaris-launchpad-template-gcchttp://kernelhacks.blogspot.com.es/2012/11/the-complete-tutorial-for-stellaris_25.htmlhttp://disqus.com/leonexis/http://disqus.com/chr1sj/http://disqus.com/leonexis/http://disqus.com/willprice94/7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
13/14
Building ROS on Fedora 19
Tiny, hackable (?) quadcopter from China for
ALSO ON JANN.CC
Sorry, Christian, I forgot to add the github link. Someone already has:
https://github.com/yuvadm/stel.... It may not be official, but TI hasn't tried to
take it down yet. Yeah, their EULA sucks, but the license for the driver lib is
under BSD explicitly which means you can pull the BSD code out and use
it wherever. I have half a mind to just write a bootstrap that pulls all the
needed components from github in to a virtual environment. I modified your
instructions so that all the software compiled exist in
~/workspace/stellarisware/usr and added
~/workspace/stellarisware/usr/bin to my PATH. A simple bash file can do
the modification to the PATH and other variables not unlike how virtenv
asks you to source a bash file to enter the environment.
Christian Jann Mod
Very nice, I must have overseen that when googling, thank you. I've
added a link.
Note that the Note is inserted in an unlucky place (above). It gives
the impression that some other compilation is necessary after the
instructions for the Note itself.
And, the cd stellaris.git should be just cd stellaris.
Other than that, thanks for the info! The git copy is still up and
working.
I don't think TI means harm by calling some open source licenses viral, it's quite a
common term. http://en.wikipedia.org/wiki/V...
Christian Jann Mod
Yes, I know, they are just lazy and following another philosophy and don't care
about the open source community. Like most corporations they don't have a "keep
it open, unless there's a good reason to close it" mentality. Instead, they have a
"keep it closed, unless there's a good/legal reason to open it" mentality. Even
when there is no reason to not release such small hello-world examples as public
domain they will keep it closed. Probably they think that they can make you
dependent on their hardware through their software which is perfectly viable but I
don't like it.
http://disqus.com/chr1sj/http://disqus.com/chr1sj/http://disqus.com/leonexis/http://en.wikipedia.org/wiki/Viral_licensehttps://github.com/yuvadm/stellarishttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F10%2F13%2Ftiny_hackable_quadcopter.html%3AmCg3Q5P-zUGuLjvlTgdVx_qEibk&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=1852711995&zone=internal_discoveryhttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F04%2F29%2Fbuilding_ros_on_fedora_19.html%3A5e70DfHgOdtCAhe5Cnjs5ot9_88&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=1254001381&zone=internal_discovery7/22/2019 Getting Started with the TI Stellaris LaunchPad on Linux Christian's Blog
14/14
12 comments 10 months ago
Christian Jann Maybe the Fedora
Robotics SIG will integrate it into Fedora:
Fedora Robotics ML:
3 comments 4 months ago
panda It seems that we can now control
the toy quadcopter by arduino & nrf24L01.
That's great!
iMX233-OLinuXino: Current State
13 comments 9 months ago
Christian Jann Thanks, I've fixed it in the
post above.
Review: Saleae Logic16 Logic Analyzer
4 comments 2 months ago
Christian Jann Thanks for the tip, indeed
it is supported:
http://sigrok.org/wiki/Saleae_.... But for
Copyright 2013, Christian Jann. Powered by Tinkerer and Sphinx.
http://sphinx.pocoo.org/http://www.tinkerer.me/http://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F12%2F01%2Fsaleae_logic16_logic_analyzer.html%3AK3-IwFPiZV14dG1QMlr4mn4Ubc4&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=2015025380&zone=internal_discoveryhttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F12%2F01%2Fsaleae_logic16_logic_analyzer.html%3AK3-IwFPiZV14dG1QMlr4mn4Ubc4&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=2015025380&zone=internal_discoveryhttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F05%2F04%2Fimx233_olinuxino_current_state.html%3AJvJ1m-QFsoBZ2KucicoKmKpSb2c&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=1264190536&zone=internal_discoveryhttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F05%2F04%2Fimx233_olinuxino_current_state.html%3AJvJ1m-QFsoBZ2KucicoKmKpSb2c&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=1264190536&zone=internal_discoveryhttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F10%2F13%2Ftiny_hackable_quadcopter.html%3AmCg3Q5P-zUGuLjvlTgdVx_qEibk&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=1852711995&zone=internal_discoveryhttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F10%2F13%2Ftiny_hackable_quadcopter.html%3AmCg3Q5P-zUGuLjvlTgdVx_qEibk&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=1852711995&zone=internal_discoveryhttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F04%2F29%2Fbuilding_ros_on_fedora_19.html%3A5e70DfHgOdtCAhe5Cnjs5ot9_88&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=1254001381&zone=internal_discoveryhttp://redirect.disqus.com/url?url=http%3A%2F%2Fwww.jann.cc%2F2013%2F04%2F29%2Fbuilding_ros_on_fedora_19.html%3A5e70DfHgOdtCAhe5Cnjs5ot9_88&imp=24am4g83jmg9e&prev_imp&forum_id=1246040&forum=janncc&thread_id=973425597&major_version=metadata&thread=1254001381&zone=internal_discovery