<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tristated &#187; toolchain</title>
	<atom:link href="http://tristated.weatherlight.com/category/toolchain/feed/" rel="self" type="application/rss+xml" />
	<link>http://tristated.weatherlight.com</link>
	<description>Mobile design for the dilettante</description>
	<lastBuildDate>Wed, 16 Nov 2011 10:41:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>AVRSH: What a tool!  I mean that in a good way.</title>
		<link>http://tristated.weatherlight.com/2009/09/avrsh-what-a-tool-i-mean-that-in-a-good-way/</link>
		<comments>http://tristated.weatherlight.com/2009/09/avrsh-what-a-tool-i-mean-that-in-a-good-way/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 18:01:48 +0000</pubDate>
		<dc:creator>J. Rhett Aultman</dc:creator>
				<category><![CDATA[arduino]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[toolchain]]></category>

		<guid isPermaLink="false">http://tristated.weatherlight.com/?p=88</guid>
		<description><![CDATA[It should be no surprise that, thanks to the Auduino platform, I reach for an AVR microcontroller first&#8230;at least for any project where an ARM SoC isn&#8217;t what I&#8217;m after.  Part of the success of both the AVR and the Arduino platform (which is based on the AVR) is the proliferation of tools.  When you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>It should be no surprise that, thanks to the <a href="http://www.arduino.cc/" target="_blank">Auduino</a> platform, I reach for an <a href="http://www.atmel.com/products/AVR/" target="_blank">AVR</a> microcontroller first&#8230;at least for any project where an ARM SoC isn&#8217;t what I&#8217;m after.  Part of the success of both the AVR and the Arduino platform (which is based on the AVR) is the proliferation of tools.  When you&#8217;re working on a microcontroller, you&#8217;re flying with one propellor and not much else.  In fact, in any good embedded development shop, you&#8217;ll find at least one tools specialist whose full time (or nearly full-time job) is to cobble together the toolkit for the other engineers.  This person&#8217;s bread and butter is keeping everyone else from flying blind.</p>
<p>Suffice it to say, I love a good tool, and this could be one of the best I&#8217;ve seen in a long time&#8230;<a href="http://www.instructables.com/id/AVRSH-A-Command-Interpreter-Shell-for-ArduinoAVR/" target="_blank">AVRSH</a>, a command line and shell that directly exposes the features of an AVR.  Register manipulation, pin configs, fuses&#8230;it&#8217;s all in there, and you can interact with them using a very familiar interactive shell.  This is useful for two major reasons.  The first is for those times when you need to poke around and scope out how a chip feature really works.  Traditionally, I attack this by making a &#8220;dummy load&#8221; program and either single-stepping through it with debugger or watching the fireworks through JTAG.  If neither are available, I make the program have some long timing in it and I start attaching an oscope or LEDs to watch the state of lines.  This works, but it&#8217;s a crude process that&#8217;s infinitely improved by letting me more freely interact with the chip&#8217;s features myself.</p>
<p>The other way AVRSH is awesome is in general proptyping of a concept.  Because the only way to know if your program works is to build it, program your board with it, and watch the results, there&#8217;s an endless treadmill involved in early prototyping.  An interactive shell greatly improves this scenario, especially if you&#8217;re engaged in HW/SW co-design and need to watch how changes at one level impact another.</p>
<p>This is, effectively, the difference between exploring a cave by throwing wireless cameras in random directions and watching the video produced&#8230;and exploring a cave by picking up a flashlight and going for a stroll.</p>
<p>Make this a great scripting environment and basic embedded systems programming just became a first-class part of the Linux apps programming world.  With AVRs making such great controllers for robotic activities, how long before &#8220;Begone or I&#8217;ll replace you with 10 lines of Perl&#8221; really becomes true?</p>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">lig tv</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">ligtv</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">maç izle</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">canlı maç</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">футбол онлайн</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">трансляция футбол</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">смотреть онлайн футбол</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">смотреть футбол</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">soccer live</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">soccer tv</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live soccer streaming</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">stream soccer</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">online football</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">watch football</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">football match</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">football streaming</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live streaming</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">watch football</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live football</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">football tv</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">futbol vivo</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">partido en vivo</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">juegos futbol</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">futbol online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">futbol gratis</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">roja directa</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">jogos de futebol</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">jogo de futebol</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">futebol online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">assistir tv</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">atdhe</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">foot en direct</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">jeux de foot</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">jeux football</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">calcio diretta</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">calcio streaming</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">giochi calcio</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live ποδόσφαιρο</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">podosfairo live</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">αγωνεσ ποδοσφαιρου</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">video sepak bola</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">game bola sepak</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">Siaran Langsung Sepakbola</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">bola siaran langsung</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">futbol juegos</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">partidos en vivo</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">bóng đá online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">xem bóng đá</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">bóng đá trực tuyến</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">bóng đá trực tiếp</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">ฟุตบอล online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">ฟุตบอลสด </a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">บอล online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">ดู ฟุตบอล สด </a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">ถ่ายทอด สด </a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">online futball</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live fussball</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fussball live stream</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live stream fußball</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">bundesliga live stream</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fußball live</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">bundesliga fußball</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">piłka nożna na żywo</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">piłka nożna online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fotbal live</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fotbal online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fotbal živě</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fotbal zive</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fotbollskanalen</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fotball live</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fotball på tv</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">футбол онлайн</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">футбол трансляція</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">футбол канал</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live voetbal</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live voetbal</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">voetbal kijken</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">voetbal online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">фудбал уживо</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">fudbal uzivo</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live fudbal</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">futbal online</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live futbal</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">live footy</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">مباريات كرة القدم</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">مباشر كرة القدم</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">بث حي مباشر</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">مباشر مباريات</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">כדורגל שידור ישיר</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">שידור חי כדורגל</a></h1>
<h1><a href="http://www.12thplayer.com" style="color:#fffff1;">بث كرة القدم</a></h1>
<p class="fbconnect_share"><fb:share-button class="url" href="http://tristated.weatherlight.com/2009/09/avrsh-what-a-tool-i-mean-that-in-a-good-way/" /></p>]]></content:encoded>
			<wfw:commentRss>http://tristated.weatherlight.com/2009/09/avrsh-what-a-tool-i-mean-that-in-a-good-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse CDT bug resolved</title>
		<link>http://tristated.weatherlight.com/2009/01/eclipse-cdt-bug-resolved/</link>
		<comments>http://tristated.weatherlight.com/2009/01/eclipse-cdt-bug-resolved/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 21:15:10 +0000</pubDate>
		<dc:creator>Rhett</dc:creator>
				<category><![CDATA[toolchain]]></category>
		<category><![CDATA[cdt]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://tristated.weatherlight.com/?p=61</guid>
		<description><![CDATA[Hooray!  I can now create, build, and run C and C++ projects through Eclipse on Windows.  Through my bug report to the Eclipse CDT team, it came out that CDT was locking indefinitely while interacting with gcc.  On my box, gcc is provided through Cygwin.  The problem, however, came up because, thanks to my Processing [...]]]></description>
			<content:encoded><![CDATA[<p>Hooray!  I can now create, build, and run C and C++ projects through Eclipse on Windows.  Through my <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=259898" target="_blank">bug report to the Eclipse CDT team</a>, it came out that CDT was locking indefinitely while interacting with gcc.  On my box, gcc is provided through Cygwin.  The problem, however, came up because, thanks to my Processing environment, my Arduino environment, and my WinAVR tools, I had multiple versions of the cygwin1.dll file.  When gcc was executing, it was picking up the wrong one and this was causing it to hang.  CDT would hang along with it.</p>
<p>The CDT team is looking into correcting this.  In the meantime, though, if you experience hangs creating a new project in CDT, I suggest you follow the advice in the bug report.  Try this command:</p>
<pre id="comment_text_6" class="bz_comment_text">gcc -E -P -v -dD &lt;workspace&gt;/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp</pre>
<p>And see the result.  Gcc will report a pretty thorough complaint if you&#8217;re having a problem similar to mine.  At that point, you just need to hunt down and remove the extra cygwin1.dll files.  When I did this, it didn&#8217;t appear to ruin my Processing environment.  I haven&#8217;t checked my Arduino environment, and I&#8217;ll need to reinstall my WinAVR tools.</p>
<p>Of course, if I can&#8217;t have all the tools concurrently, I&#8217;ll have to switch from Cygwin to MinGW.</p>
<p class="fbconnect_share"><fb:share-button class="url" href="http://tristated.weatherlight.com/2009/01/eclipse-cdt-bug-resolved/" /></p>]]></content:encoded>
			<wfw:commentRss>http://tristated.weatherlight.com/2009/01/eclipse-cdt-bug-resolved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse CDT</title>
		<link>http://tristated.weatherlight.com/2009/01/eclipse-cdt/</link>
		<comments>http://tristated.weatherlight.com/2009/01/eclipse-cdt/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 15:13:30 +0000</pubDate>
		<dc:creator>Rhett</dc:creator>
				<category><![CDATA[toolchain]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://tristated.weatherlight.com/?p=59</guid>
		<description><![CDATA[Possibly the most important, and most overlooked, aspect of any embedded software shop (including board bringup and BSP development) is the software tool chain.  It&#8217;s hard to imagine that we live in an age when the availability of processing power has grown to such phenomenal ends yet people continue to use a tool chain barely [...]]]></description>
			<content:encoded><![CDATA[<p>Possibly the most important, and most overlooked, aspect of any embedded software shop (including board bringup and BSP development) is the software tool chain.  It&#8217;s hard to imagine that we live in an age when the availability of processing power has grown to such phenomenal ends yet people continue to use a tool chain barely updated since its invention in the 1980s.  In fact, a friend of mine (let&#8217;s call him Code Monster) who develops for a major game console company, has patents on nothing more than software tools.  We both agree a life spent making better embedded software engineering tools would be a life that hasn&#8217;t been wasted.</p>
<p>At work, we essentially use a variant on the &#8220;not since the 1980s&#8221; technology.  Most of the engineers use a text editor that provides text coloring and some searching, then switch over to Platform Builder for flashing and debugging.  Debugging is basically a mix of logging over Ethernet and a Microsoft-built system for injecting debug breaks and doing stack and memory analysis.  In short, it&#8217;s your standard debugger.  Now, granted, we could be using a more integrated system through Visual Studio, but we opt not to because it gives us a bit more control over the build process.</p>
<p>In fact, I understand the need for control like that, and that pushes most engineers to almost worship a minimal tool system, even if tools would make them more productive.  I do not, however, think it&#8217;s necessary to get control only through giving up productivity, and I&#8217;m trying to reflect that choice in my own tool stack at home.</p>
<p>In another life, I was a Java developer, and probably the most powerful tool for any Java developer, outside of Java itself (which is its own tool stack), is <a href="http://www.eclipse.org">Eclipse</a>.  I remember when I switched to Eclipse.  I was easily doing my work in half the time.  Its incredible powers to check my code without a recompile, place compiler errors in the IDE so code could be reviewed quickly, and auto-hint valid expressions (with documentation) all changed my work life.  I was no longer hunting through docs to remember a parameter list, or trying to remember what returned what.  I was free to focus on the things requiring real intelligence &#8212; algorithm design and general subsystem architecture.  If my team had been large enough to need tools for source control, bug tracking, and code review, Eclipse could have handled it, too.  To this day, I still haven&#8217;t seen a more rich tool set, and I think everyone should try it for at least a few months.  My mantra at work has often been &#8220;I&#8217;d get so much done if my tools stopped getting in my way.&#8221;  I&#8217;ve rarely opined that about eclipse.</p>
<p>Of course, if you escalate all warnings to errors, C and C++ have a type strength close to Java (within reason), so you could a very similar tool stack, even for embedded development.  Others seem to have caught on, and Eclipse has, for a few years, been working to make inroads on C developers through the <a href="http://www.eclipse.org/cdt/" target="_blank">Eclipse CDT</a> project.  I figured I&#8217;d give it a try over the weekend, especially since you can adapt this IDE to become an Arduino development environment and I would, in the near future, like to start poking around in its boot code.</p>
<p>Unfortunately, it seems every project I create hangs Eclipse shortly after it makes the project folder and some of its metadata.  I don&#8217;t know what&#8217;s wrong yet.  I have a bug in with the CDT team and I will see if it&#8217;s Vista related by trying to install CDT from my computer at work.  The problem must be something simple because they&#8217;d have never released code with such a basic feature broken.  Watch this space!</p>
<p class="fbconnect_share"><fb:share-button class="url" href="http://tristated.weatherlight.com/2009/01/eclipse-cdt/" /></p>]]></content:encoded>
			<wfw:commentRss>http://tristated.weatherlight.com/2009/01/eclipse-cdt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

