<?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>Paul&#039;s Blog</title>
	<atom:link href="http://pauljones.id.au/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://pauljones.id.au/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 10 Nov 2010 06:53:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Orise Tech. SPFD5408A Datasheet</title>
		<link>http://pauljones.id.au/blog/2010/09/orise-tech-spfd5408a-datasheet/</link>
		<comments>http://pauljones.id.au/blog/2010/09/orise-tech-spfd5408a-datasheet/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 04:43:41 +0000</pubDate>
		<dc:creator>Paul Jones</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Orise Tech. SPFD5408 Datasheet lcd]]></category>

		<guid isPermaLink="false">http://pauljones.id.au/blog/?p=29</guid>
		<description><![CDATA[Why is the Orise Tech. SPFD5408A Datasheet so darn hard to find??? Dunno, but I found it and thought I would share for anyone else who needs it as well.SPFD5408A Datasheet]]></description>
			<content:encoded><![CDATA[<p>Why is the Orise Tech. SPFD5408A Datasheet so darn hard to find??? Dunno, but I found it and thought I would share for anyone else who needs it as well.<a href='http://pauljones.id.au/blog/wp-content/uploads/2010/07/Driver_SPFD5408A.pdf'>SPFD5408A Datasheet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pauljones.id.au/blog/2010/09/orise-tech-spfd5408a-datasheet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using buildroot on a Mini2440</title>
		<link>http://pauljones.id.au/blog/2010/07/using-buildroot-on-a-mini2440/</link>
		<comments>http://pauljones.id.au/blog/2010/07/using-buildroot-on-a-mini2440/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 06:13:15 +0000</pubDate>
		<dc:creator>Paul Jones</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Buildroot]]></category>
		<category><![CDATA[FrientlyARM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mini2440]]></category>
		<category><![CDATA[Toolchain]]></category>

		<guid isPermaLink="false">http://pauljones.id.au/blog/?p=26</guid>
		<description><![CDATA[This is a simple quick-start guide to getting Buildroot working with a Friendly ARM Mini2440 dev board. Buildroot requires various development programs to be installed on the host computer. From memory, Gentoo has them all pre-installed, but on Ubuntu/Debian you will need to manually install them with the following command: sudo apt-get install libncurses5-dev bison [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple quick-start guide to getting Buildroot working with a Friendly ARM Mini2440 dev board.</p>
<p>Buildroot requires various development programs to be installed on the  host computer. From memory, Gentoo has them all pre-installed, but on  Ubuntu/Debian you will need to manually install them with the following  command:</p>
<pre>sudo apt-get install libncurses5-dev bison g++ flex gettext texinfo patch git-core libtool autoconf subversion</pre>
<p>The next step is to download the latest Git version of Buildroot. There have been some recent changes that allow the use of non-standard u-boot and kernel packages, this is why we can&#8217;t use the last release version.</p>
<p>Change to the directory you want to place Buildroot (git will create a new directory to place it in) and run</p>
<pre>git clone git://git.buildroot.net/buildroot</pre>
<p>As Buildroot downloads all it&#8217;s own packages it is handy to have a download directory that is located outside the Buildroot folder. This prevents you deleting all your downloads when you rm -rf your Buildroot folder and start again! Note that when you run &#8220;make distclean&#8221; the symbolic link is deleted, so don&#8217;t forget to replace it.</p>
<pre>mkdir dl</pre>
<pre>cd buildroot</pre>
<pre>ln -s ../dl</pre>
<p>Buildroot uses a menu based configuration system to change toolchain options and select packages to build. Most of the toolchain options can be a bit confusing at first, so don&#8217;t change anything until after you have a working system &#8211; you might end up going around in circles otherwise!</p>
<p>I have created a basic config file for a Mini2440 that builds a toolchain, basic busybox rootfs, u-boot (sort of), and a Kernel. It is not yet included in Buildroot so you will have to download it.</p>
<pre>wget http://www.pauljones.id.au/temp/mini2440_defconfig -O ./configs/mini2440_defconfig</pre>
<p>You will also need the Kernel config file as well. (I put this in the parent directory so it doesn&#8217;t get wiped when you do &#8220;make distclean&#8221;)</p>
<pre>wget http://www.pauljones.id.au/temp/mini2440_kernelconfig -O ./configs/mini2440_kernelconfig</pre>
<p>Ok, so now we are nearly ready to go. The last thing to do is configure everything &#8211; if this is your first time it should work without touching any of the settings.</p>
<pre>make mini2440_defconfig</pre>
<pre>make menuconfig</pre>
<p>There is one setting you need to change in the Kernel config &#8211; the screen size. This can be found in Device Drivers -&gt; Graphics support -&gt; Support for frame buffer devices -&gt;LCD select (8 inch 640X480 L80 LCD)</p>
<p>Change it to suit your device.</p>
<pre>make linux26-menuconfig</pre>
<pre>make</pre>
<p>After about 40 seconds an error will occur building u-boot tools. I don&#8217;t know why this happens, but it&#8217;s trying to use the wrong compiler. Never mind, there is a work-around.</p>
<p>All we need to do is remove the custom Mini2440 u-boot from Buildroot and replace it with a more recent version. As this will overwrite our u-boot image we need to make a copy of it first.</p>
<pre>cp output/images/u-boot.bin output/images/u-boot-mini2440.bin</pre>
<p>Now run &#8220;make menuconfig&#8221; again so we can change u-boot to one of the built-in versions:</p>
<pre>make menuconfig</pre>
<p>Goto Bootloaders -&gt; U-Boot</p>
<p>Change the board name to &#8220;smdk2410&#8243;</p>
<p>Change the U-Boot version to 2010.06</p>
<p>Now exit menuconfig (don&#8217;t forget to save your changes!) and run make again. You can now go and get a cup of coffee &#8211; This should take about 20 mins depending on the speed of your computer.</p>
<p>If you don&#8217;t need to build u-boot for your Mini2440 you can just make the above changes at the start. We can&#8217;t disable u-boot because Buildroot needs the program that converts the Kernel images to a u-image.</p>
<pre>make</pre>
<p>When it finishes, have a look in the output/images folder &#8211; These are the files of interest.</p>
<pre>ls  output/images/</pre>
<ul>
<li>rootfs.jffs2 and rootfs.tar &#8211; These contain the rootfs, as I&#8217;m sure you have guessed. Which one you need depends on how you boot your system &#8211; jffs2 if you boot from nand using u-boot, and tar if you use nfs or a flash card. Buildroot currently doesn&#8217;t have support for yaffs, so if you are still using vivi you will need to manually convert an ext2 file or just upgrade to u-boot.</li>
<li>u-boot-mini2440.bin &#8211; This is the special Mini2440 version of u-boot. This is the file that you need to flash u-boot to your device</li>
<li>u-boot.bin &#8211; Ignore this file, it&#8217;s built for the wrong device.</li>
<li>uImage &#8211; This is the kernel image.</li>
</ul>
<p>How you use these files is beyond the scope of this tutorial.</p>
<p>If you make any major changes and then find that you are getting errors, either compile or runtime, it is best to do a complete &#8220;make distclean&#8221; and start again. Make sure you save your config files first (.config for Buildroot and output/build/linux-custom/.config for the kernel) and recreate the symbolic link to the download dir.</p>
<p>Enjoy!</p>
<p>(ps. I hope to write a tutorial soon on how to build a crosstool-ng toolchain and integrate it with Buildroot &#8211; this reduces the compile time significantly.)</p>
]]></content:encoded>
			<wfw:commentRss>http://pauljones.id.au/blog/2010/07/using-buildroot-on-a-mini2440/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Building an ARM toolchain for the mini2440 using buildroot</title>
		<link>http://pauljones.id.au/blog/2010/05/building-an-arm-toolchain-for-the-mini2440-using-buildroot/</link>
		<comments>http://pauljones.id.au/blog/2010/05/building-an-arm-toolchain-for-the-mini2440-using-buildroot/#comments</comments>
		<pubDate>Sun, 30 May 2010 06:46:07 +0000</pubDate>
		<dc:creator>Paul Jones</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Buildroot]]></category>
		<category><![CDATA[FrientlyARM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mini2440]]></category>
		<category><![CDATA[Toolchain]]></category>

		<guid isPermaLink="false">http://pauljones.id.au/blog/?p=10</guid>
		<description><![CDATA[This quick quide aims to make it simple to setup an ARM toolchain that can then be used to cross-compile code to run on a FriendlyARM Mini2440 embedded linux board. Firstly, you will need to download Buildroot (duh!) &#8211; This can be obtained from http://buildroot.net/downloads/. Grab the latest version and extract it. wget http://buildroot.net/downloads/buildroot-2010.05-rc3.tar.bz2 tar [...]]]></description>
			<content:encoded><![CDATA[<p>This quick quide aims to make it simple to setup an ARM toolchain that can then be used to cross-compile code to run on a FriendlyARM Mini2440 embedded linux board.</p>
<p>Firstly, you will need to download Buildroot (duh!) &#8211; This can be obtained from <a href="http://buildroot.net/downloads/" target="_blank">http://buildroot.net/downloads/</a>. Grab the latest version and extract it.</p>
<pre>wget http://buildroot.net/downloads/buildroot-2010.05-rc3.tar.bz2
tar jxvf buildroot-2010.05-rc3.tar.bz2
cd buildroot-2010.05-rc3</pre>
<p>Buildroot requires various development programs to be installed on the host computer. From memory Gentoo has them all pre-installed, but on Ubuntu you will need to manually install them with the following command:</p>
<pre>sudo apt-get install libncurses5-dev bison g++ flex gettext texinfo patch libtool autoconf</pre>
<p>Next we need to run the Buildroot configuration system</p>
<pre>make menuconfig</pre>
<p>Now we can choose what we want buildroot to do. Buildroot is normally used to build a root filesystem with various programs installed. This filesystem is then used as the base linux system that runs your Mini2440. To do that it needs to generate a toolchain that can cross-comopile code that runs on ARM cpus. Today we are only interested in the toolchain, I&#8217;ll post another blog about creating a rootfs later.</p>
<p>Change the &#8220;Target Archatecture&#8221; to &#8220;ARM&#8221;<br />
Change the &#8220;Target Archatecture Variant&#8221; to &#8220;arm920t&#8221;<br />
Under Toolchain enable &#8220;large file (files &gt; 2 GB) support&#8221;, &#8220;IPv6&#8243; (optional), and &#8220;WCHAR support&#8221;.</p>
<p>If you have a quad core processor with lots of memory (4Gb) you can increase &#8220;Number of jobs to run simultaneously&#8221; to 5 or 6 under &#8220;Build Options&#8221; which should speed things up. If running under virtualbox/vmware keep it to 3.</p>
<p>Exit menuconfig and make sure to save your changes as you exit (it will prompt). Now, go have a cup of coffee while the toolchain builds. On my Intel 9400 it takes about 15 mins, or 20 mins if running in virtualbox/vmware.</p>
<pre>make</pre>
<p>When it&#8217;s finished you&#8217;ll have a completed toolchain located at ./output/staging/usr/bin. To use it you just need it&#8217;s location to your PATH environment variable.</p>
<pre>export PATH=$PATH:/home/peejay/buildroot/output/staging/usr/bin</pre>
<p>Obviously you&#8217;ll need to change to above path to whatever it is on your system.</p>
<p>The last step is to set the CROSS_COMPILE environment variable. This tells the computer what name to use when cross compiling programs</p>
<pre>export CROSS_COMPILE=arm-linux-</pre>
<p>Enjoy!</p>
<p>PJ</p>
]]></content:encoded>
			<wfw:commentRss>http://pauljones.id.au/blog/2010/05/building-an-arm-toolchain-for-the-mini2440-using-buildroot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Testing 1&#8230; 2&#8230; 3&#8230;</title>
		<link>http://pauljones.id.au/blog/2010/03/testing-1-2-3/</link>
		<comments>http://pauljones.id.au/blog/2010/03/testing-1-2-3/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 00:24:06 +0000</pubDate>
		<dc:creator>Paul Jones</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pauljones.id.au/blog/?p=4</guid>
		<description><![CDATA[This is my new blog. Not too sure what I&#8217;ll put here yet, but we&#8217;ll see I guess.]]></description>
			<content:encoded><![CDATA[<p>This is my new blog. Not too sure what I&#8217;ll put here yet, but we&#8217;ll see I guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://pauljones.id.au/blog/2010/03/testing-1-2-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

