Regarding The Development Files That Accompany TI’s Microcontroller Offerings

We received a tip from [Fabien] that Texas Instruments had posted a set of IDEs for the Stellaris Launchpad on their download page. At first we skipped right over the link, but then decided to take a look and see if things had changed any since the MSP430 Launchpad had been released. As we expected, there’s really no help on this page if you’re looking to develop for the hardware without using one of these IDEs.

Why would we want to forego the preconfigured development environments TI supplies? For one thing, they offer only trial licenses. When you go to download one of the packages you have to wade through a eyebrow-raising non-export agreement. When we made it that far, the ~500 MB Sourcery package we downloaded was quite slow. And we don’t see any option for installing any of these on a Linux machine. No matter what OS you choose, we think you should be able to develop for any architecture using the same development environment — be it Eclipse, GNU Emacs, Notepad, or whatever . We don’t want to download a huge package just to try out a new chip.

We know you can develop for Stellaris ARM chips using a vanilla cross compiler like arm-none-eabi (we use Sourcery CodeBench Lite — formerly CodeSourcery G++ lite). We hope that TI is planning on adding a barebones package that supplies a simple Makefile, Linker Script, and base libraries for the hardware. But we won’t hold our breath. After all, it is an industry standard to leave out Linux support.

20 thoughts on “Regarding The Development Files That Accompany TI’s Microcontroller Offerings

  1. Mike is right. It is interesting that they will spend incredible amount of time developing 500 mb WIMP package, yet no time is spent developing command line tools, that could work cross platform.

  2. It *is* frustrating for the hobbyist/maker. But it’s also simple economics. TI and the other SOC makers are mostly targeting other big companies (think GM buying millions of some ARM-core and associated support chips for an ECU). The big companies want a development environment with support and accountability and shelling out some tens or hundreds of thousands of dollars to IAR or Keil or whoever is nothing.

    Certainly enabling a lot of small developers to use your chip may pay off but it does also come with a lot of support issues/costs. Some companies seem to be embracing this to an increasing degree, TI with their 430 line (and perhaps ARM stuff), Microchip and Atmel definitely.

    I’m not sure we’ll ever see these companies releasing and supporting a complete free C/C++ language dev environment for all 3 platforms because this would compete with the 3rd party dev companies. But I’m encouraged that we’ll see increased support in terms of unencumbered libraries, cheap dev boards and community building. The good thing is that the community itself seems pretty good about creating their own development environments.

  3. Just FYI, code computer studio is available for linux (it is based on eclipse, but uses TI’s compiler/debugger), and MSP430 support was recently added. Just make sure that you are running a recent firmware on your msp430 dev board and you should be good to go. The only problem is you are limited to 16kb compiled code size, which is not a limitation on any of the parts available in DIP, but does limit you on the higher end parts.

  4. DanJ is completely correct. We do focus on the larger customers, but there are a growing number of us that are open-source friendly. I can’t divulge too much, but there is a solution to this dev environment/compiler problem in the works and it will be released soon.

    I know haters gotta hate, but trust me when I say there are quite a few of us within TI that are personally working (sometime on our own time) to make our products more friendly to communities like HaD.

    FYI, The C2000 LaunchPad gives you a COMPLETELY FREE FULL LICENSE OF CCS and the C2000 compiler when you use a XDS100 emulator/debugger (which the LaunchPad includes).

    1. ti_dude I’d like to believe you. Ever since the MPS430 launched – what, 3 years ago? – for $4.30 USD there’s been a token “anyone interested in developing on the Mac?” item in the TI forums. TI’s main advice was to point out ways to run Windows on OSX. Seems little has changed. In the meantime, there’s a growing maker movement made up of all sorts of folks, not just EEs who can wade thru TI docs. Arduino understands this and has provided excellent support including IDEs and simple-to-use documentation.

      “Haters will hate,” as you say, but then others will react to a companies’ actions. Can you hint at a speed greater than molasses for what you’re suggesting?

    1. 8 bit? MSP430 is 16 bit. ARM is 32 bit (maybe some 64).

      And no, 8 bit is not obsolete. you people whine when people use an arduino to do something you could do with analog electronics. Well you know what, it’s often easier to use an arduino, and while that may be overpowered, there are different classes of microcontrollers.

      with a blanket statement like 8 bit is obsolete, you could go so far as to say everything but the highest end i7 or xeon is obsolete, but that’d be ridiculously stupid. Well, calling 8 bit obsolete is on the same level. Some projects just don’t need very much processing power, and in that case 8 bit is probably cheaper, and probably uses less power than processors with larger architectures. Find an x86 proc that uses less power than an MSP430. I don’t care what kinda processor it is, how powerful it is, or anything. Find one that uses less power than an MSP430. I don’t think you can do it, because I doubt an x86 part like that exists.

      If you can’t see the usefulness of underpowered parts, you don’t understand the industry.

  5. The reason why I tiped about the CSS download was that it come with most of the code and exemple projects, the api and library source, so you can start training before you receive the board.

    Also, when I needed one full week-end to compile some code when I received my STM32VL (and knew nothing about cortex back then), I could just follow the 2 pages in the getting started pdf so I could compile the code for blinking a led.

    I do agree with your concerns, but I’m still happy with the download.

  6. I believe read somewhere that Ubuntu will open up the StellarisWare executable since it is just some sort of zipped file structure. The package includes all the examples, linker scripts ect that are needed for gcc, CCS, codeRed and possibly some more. I personally develop extensively for the Stellaris processors on Debian and ended up installing StellarisWare on a spare XP and then copied all the extracted files onto my Debain system. I use CodeSourcery/Mentor Graphics arm-none-eabi, OpenOCD toolchain and use an Olimex JTAG. I have had no problems on any eval boards from TI, nor any issues with my own boards.

  7. So TI is throwing the launchpad and other boards out there below or at cost, and providing trial downloads of Windows only development software hoping that people will then buy expensive licenses to write software for the dirt cheap boards.

    The spirit of King C. Gillette* lives on.

    Better get your cheap boards while the getting is good, before someone codes up a complete, open source, cross platform freeware development system for them.

    *A socialist anti-militarist who made his fortune through capitialist selling of razors and blades to the US Army during World War One.

    1. Nah, they subsidize the toolchains too — those are also part of the razor handle in your analogy. (Why do you think Sourcery CodeBench for Stellaris is half the price of the other CodeBench versions?)

      Where they make money is selling the chips in bulk once a design goes to production; a $199 CodeBench license is peanuts compared to the cost of ten thousand chips that go into an end product — and ten thousand is a pretty small production run….

  8. As a Mentor Graphics employee who works close to the Sourcery CodeBench team, I should point out that the “commercial” version of CodeBench — which is basically the Lite edition wrapped up in an IDE with a number of other goodies and more frequent updates — works just as well on Linux as it does on Windows.

    While it looks like you can’t get a Linux trial version from the TI download link, you can get it directly from Mentor here:

    (For what it’s worth, our build process spits out Linux and Windows versions of CodeBench from the same build, so they’re always equally up-to-date, too. And, yes, that means we build our Windows toolchains on Linux. :) )

  9. Probably not a popular microcontroller, but the Z8 Encore and all other Zilog microcontrollers and microprocessors are supported by unrestricted, uncrippled and free IDEs that support development in C or assembly.

    For the newer Flash-based components, there is one standard USB debugging cable that works across the whole range and allows quite a few bells and whistles such as single-stepping code.

    I’ve been using the Z8 Encore parts for a couple of years now and it is very easy to develop on the IDE provided. Though the IDE is designed for Windows, I have had some success running it in WINE under Linux.

  10. As someone with both linux and windoze, I might be a little biased, but it seems to me that if your os can’t do something, you shouldn’t be blaming a company that is supplying free software and dev boards below cost. There are plenty of things windoze can’t do…that’s why I have linux too. I don’t go bashing the devs that write linux-only software, I just use linux to run it or in some cases I port the functions I want to windows command line tools. If you want ti chips to work with osx and linux, then start working on it! If the teensy line has proven anything, it is that arduino boards are not the limit of arduino ide.

  11. I was looking into this the other week, and if I remember rightly there is source code for a USB flash programmer (lmflash or something?)

    Compiling using any old toolchain should be straightforward once you’ve figured out the recipe, the problem is getting the code onto the board. Hopefully it’s possible to port the programmer code to linux

  12. May I suggest that you download StellarisWare and take a look in some of the project directories? This link is for the LM4F232 kit, but there will a similar package for the launchpad available very soon. (you can also just download one of the CD isos now if you dont want to wait for the launchpad specific StellarisWare package)

    Anyway, in there you will find Makefiles that can be used with command line gcc. This works with the arm-none-eabi (lite) version from CodeSourcery, and also will work if you build your own toolchain. At work I develop using linux and almost exclusively build with command line gcc. At home, as a hobbyist, I build projects for Stellaris (using StellarisWare) on my mac. I built my own toolchain for mac but I think prebuild compiler binaries for mac are available now. Also, I am pretty sure that the Code Composer Studio will give you a full license when connected to the launchpad if you want to go that route. BTW the Stellaris dev team are hackaday fans.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.