<?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>Anthony's Blog &#187; embedded</title>
	<atom:link href="http://www.anthonyldechiaro.com/blog/archives/category/linux/embedded/feed" rel="self" type="application/rss+xml" />
	<link>http://www.anthonyldechiaro.com/blog</link>
	<description>Thoughts, ideas, and ramblings of a crazed mind</description>
	<lastBuildDate>Fri, 05 Jun 2009 00:01:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SheevaPlug Basics + MultiBoot</title>
		<link>http://www.anthonyldechiaro.com/blog/archives/300</link>
		<comments>http://www.anthonyldechiaro.com/blog/archives/300#comments</comments>
		<pubDate>Wed, 15 Apr 2009 01:10:22 +0000</pubDate>
		<dc:creator>Anthony</dc:creator>
				<category><![CDATA[electronics]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shivaplug]]></category>

		<guid isPermaLink="false">http://www.anthonyldechiaro.com/blog/?p=300</guid>
		<description><![CDATA[I thought documenting my notes and what I&#8217;ve leared about the SheevaPlug so far may be useful so I&#8217;m putting together a basic HOW-TO.  The documentation from GlobalScale Technology is a great place to start.
Firstly, it will likely come pre-installed with Ubuntu Jaunty Beta, although possibly Gentoo.  Both can run on the plug in addition [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I thought documenting my notes and what I&#8217;ve leared about the SheevaPlug so far may be useful so I&#8217;m putting together a basic HOW-TO.  The <a href="http://globalscaletechnologies.com/t-sheevaplugdetails.aspx#software" target="_blank">documentation</a> from GlobalScale Technology is a great place to start.</p>
<p style="text-align: justify;">Firstly, it will likely come pre-installed with Ubuntu Jaunty Beta, although possibly Gentoo.  Both can run on the plug in addition to FreeBSD.  <a href="http://www.openplug.org/plugwiki/index.php/Main_Page" target="_blank">Wiki</a> explains more.  It also has a good entry on configuring the plug to <a href="http://www.openplug.org/plugwiki/index.php/Frequently_Asked_Questions#Make_an_SD_card_be_the_root_filesystem" target="_blank">boot from an SD card</a> rather then the onboard NAND flash.</p>
<p style="text-align: justify;">The forums are a very useful resource as well:</p>
<p style="text-align: justify;"><a href="http://openplug.org/plugforum/index.php?topic=2.0" target="_blank">Configuring the USB serial console</a> (Linux &amp; Windows).  My Ubuntu desktop failed to create a <strong>/dev/ttyUSB1</strong> on it&#8217;s own when plugged in, a simple &#8216;modprobe ftdi_sio product=0&#215;9e8f vendor=0&#215;9e88&#8242; resolved that.</p>
<p style="text-align: justify;">Give care when flashing partitions or images and make sure you don&#8217;t overwrite /dev/mtd0 or /dev/mtdblock0 (1st MB of NAND), it holds the uBoot boot image, the plug cannot boot without it.  Next partition is the Linux kernel image (~1-4mb), and finally a root filesystem image (remainder of the 512MB).</p>
<p style="text-align: justify;">I somehow managed to brick mine at one point, after a fsck and reboot I got a &#8220;<strong>Verifying Checksum &#8230; Bad Data CRC</strong>&#8221; error and it would not boot.  Playing with it a bit, I managed to get it to boot by tftp&#8217;ing a kernel image and mount a root filesystem via NFS.  GST&#8217;s documentation and the wiki provide plenty of guidance.  I also had issues getting it to re-flash the kernel image to <strong>/dev/mtd1</strong> because the kernel image provided by GST was slightly too big for the default size of <strong>mtd1</strong>.  Since then I&#8217;ve read they have released a new kernel image that fits, but at the time I simply increased the size of <strong>mtd1</strong> (to 4mb rather then the default 1mb) by editing the <strong>mtdparts</strong> setting in uBoot.</p>
<p style="text-align: justify;">It also occured to me that coming up with a makeshift bootmenu might be useful for debugging:</p>
<pre>set console 'console=ttyS0,115200 mtdparts=nand_mtd:0x00100000@0x00000000(uBoot)ro,0x00400000@0x00100000(uImage),0x1fb00000@0x00500000(rootfs)'

set boottftp 'tftpboot 0x2000000 $(image_name)'
set bootargs_nfs 'root=/dev/nfs rw'
set boot_nfs 'run boottftp;setenv bootargs $(console) $(bootargs_nfs) nfsroot=$(serverip):$(rootpath) ip=$(ipaddr):$(serverip)$(bootargs_end);bootm 0x2000000'

set bootnand 'nand read.e 0x2000000 0x00100000 0x00500000'
set bootargs_nand 'root=/dev/mtdblock2 rw'
set boot_nand 'run bootnand;setenv bootargs $(console) $(bootargs_nand) ip=$(ipaddr):$(serverip)$(bootargs_end);bootm 0x2000000'

set bootargs_sd 'root=/dev/mmcblk0p1 rw'
set boot_sd 'run bootnand;setenv bootargs $(console) $(bootargs_sd) ip=$(ipaddr):$(serverip)$(bootargs_end);bootm 0x2000000'

set bootcmd 'run boot_sd;'</pre>
<p style="text-align: justify;">As I mentioned, the mtdparts I provided are configured for a 4mb <strong>mtd1</strong> partition, you may need to modify this.  This <a href="http://openplug.org/plugforum/index.php?topic=52.0" target="_blank">thread</a> explains mtdparts better.  All of the other variables such as IP, SERVERIP, etc need to be configured in addition to these listed here.  You will also see it&#8217;s set to boot from SD card by default, it can be changed to &#8216;run boot_nand&#8217; or &#8216;run boot_nfs&#8217; if you like.</p>
 <img src="http://www.anthonyldechiaro.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=300" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.anthonyldechiaro.com/blog/archives/300/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY Radar &amp; SheevaPlug</title>
		<link>http://www.anthonyldechiaro.com/blog/archives/296</link>
		<comments>http://www.anthonyldechiaro.com/blog/archives/296#comments</comments>
		<pubDate>Tue, 14 Apr 2009 20:35:07 +0000</pubDate>
		<dc:creator>Anthony</dc:creator>
				<category><![CDATA[electronics]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[science]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[radar]]></category>
		<category><![CDATA[sheevaplug]]></category>
		<category><![CDATA[weather]]></category>

		<guid isPermaLink="false">http://www.anthonyldechiaro.com/blog/?p=296</guid>
		<description><![CDATA[So I&#8217;ve decided to disable my weekly Twitter updates after seeing how annoying it would be to read.  I&#8217;ve been working on a few things lately, first is a &#8220;DIY radar&#8221; weather warning system with the help of NOAA WSR-88D radar data, libGD, and Perl.  I recall some very basic image processing algorithms and code [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">So I&#8217;ve decided to disable my weekly Twitter updates after seeing how annoying it would be to read.  I&#8217;ve been working on a few things lately, first is a <span class="status-body"><span class="entry-content">&#8220;DIY radar&#8221; weather warning system with the help of NOAA </span></span>WSR-88D radar data<span class="status-body"><span class="entry-content">, libGD, and Perl.  I recall some very basic image processing algorithms and code I tinkered with in BASIC when I was much younger, but it was very simplistic and this was ages ago.  It&#8217;s fun to catch up on some old programming interests.  I&#8217;ll throw a post about it together once the code is a bit more complete.<br />
</span></span></p>
<p style="text-align: justify;"><span class="status-body"><span class="entry-content">My Linux-based <a href="http://www.globalscaletechnologies.com/p-22-sheevaplug-dev-kit.aspx" target="_blank">SheevaPlug</a> (embedded Linux in a wall-wart) has been occupying some time as well, tinkering with the Jaunty install and NFS and SSH.  I&#8217;m pretty impressed with the capabilities of this so far, despite the fact I managed to partially brick it for awhile.</span><span class="entry-content"> I eventually want to build a <a href="http://www.adafruit.com/blog/category/tweetawatt/" target="_blank">Tweet-A-Watt</a> and use my plug for interfacing.  Wiring my 1-wire weather station to the plug makes sense as well.<br />
</span></span></p>
 <img src="http://www.anthonyldechiaro.com/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=296" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.anthonyldechiaro.com/blog/archives/296/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
