<?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>lekernel's scrapbook</title>
	<atom:link href="http://lekernel.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://lekernel.net/blog</link>
	<description>News and small projects of mine. See http://lekernel.net for my main webpage.</description>
	<lastBuildDate>Tue, 24 Aug 2010 13:04:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Milkymist One flasher</title>
		<link>http://lekernel.net/blog/?p=1231</link>
		<comments>http://lekernel.net/blog/?p=1231#comments</comments>
		<pubDate>Tue, 24 Aug 2010 13:03:48 +0000</pubDate>
		<dc:creator>lekernel</dc:creator>
				<category><![CDATA[Milkymist]]></category>

		<guid isPermaLink="false">http://lekernel.net/blog/?p=1231</guid>
		<description><![CDATA[Michael writes: i&#8217;m happy to announce that we are now able to program the onboard flash without the Xilinx tools (and JTAG pod). Please have a look at [1] and its README. ATM it works with my homemade FT2232C JTAG pod but should work with every other supported JTAG cable (by UrJTAG), too. Esp. the [...]]]></description>
			<content:encoded><![CDATA[<p>Michael writes:</p>
<blockquote><p>
i&#8217;m happy to announce that we are now able to program the onboard flash without the Xilinx tools (and JTAG pod). Please have a look at [1] and its README.</p>
<p>ATM it works with my homemade FT2232C JTAG pod but should work with every other supported JTAG cable (by UrJTAG), too. Esp. the FT2232H based one by Yanjun Luo.</p>
<p>The time for flashing the bitstream is around 25s (without verify).</p>
<p>[1] <a href="http://git.serverraum.org/?p=mw/fjmem-mm1.git;a=summary">http://git.serverraum.org/?p=mw/fjmem-mm1.git;a=summary</a>
</p></blockquote>
<p>So, this means we have to use one less proprietary and bloated program. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://lekernel.net/blog/?feed=rss2&amp;p=1231</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Workshop Réalisation de patches Milkymist, 19 août 19:45@/tmp/lab</title>
		<link>http://lekernel.net/blog/?p=1223</link>
		<comments>http://lekernel.net/blog/?p=1223#comments</comments>
		<pubDate>Sat, 14 Aug 2010 22:57:54 +0000</pubDate>
		<dc:creator>lekernel</dc:creator>
				<category><![CDATA[Geek collectives]]></category>
		<category><![CDATA[Milkymist]]></category>

		<guid isPermaLink="false">http://lekernel.net/blog/?p=1223</guid>
		<description><![CDATA[Video Jam Session sur plate-forme Milkymist One! CE QUE C&#8217;EST Une introduction au système de synthèse de visuels sur [http://www.milkymist.org Milkymist] (venez à l&#8217;heure pour ne pas manquer la présentation) L&#8217;écriture de vos propre patches L&#8217;occasion de jeter un oeil aux premiers prototypes&#8230; &#8230;et de les utiliser pour tester vos propre patches! L&#8217;occasion d&#8217;une soirée [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lekernel.net/blog/wp-content/uploads/2010/08/Cerebral-Demons-Big.png"><img src="http://lekernel.net/blog/wp-content/uploads/2010/08/Cerebral-Demons-Big-300x117.png" alt="" title="Cerebral-Demons-Big" width="300" height="117" class="alignright size-medium wp-image-1228" /></a>Video Jam Session sur plate-forme Milkymist One!<br />
<b>CE QUE C&#8217;EST</b></p>
<ul>
<li>Une introduction au système de synthèse de visuels sur [http://www.milkymist.org Milkymist] (venez à l&#8217;heure pour ne pas manquer la présentation)</li>
<li>L&#8217;écriture de vos propre patches</li>
<li>L&#8217;occasion de jeter un oeil aux premiers <a href="http://www.milkymist.org/mmone.html">prototypes</a>&#8230;</li>
<li>&#8230;et de les utiliser pour tester vos propre patches!</li>
<li>L&#8217;occasion d&#8217;une soirée sympa, même si vous venez en &#8220;spectateur&#8221; <img src='http://lekernel.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
<p><b>CE QUE CE N&#8217;EST PAS</b></p>
<ul>
<li>Un workshop FPGA</li>
<li>Un workshop de développement de logiciel embarqué</li>
<li>Un workshop nécessitant des compétences techniques avancées</li>
<li>Une démonstration exhaustive de toutes les possibilités de la plate-forme, il manque encore énormément de choses qui prendront des mois à développer.</li>
<li>Une représentation de la facilité d&#8217;utilisation finale de la plate-forme; l&#8217;interface graphique intégrée n&#8217;est pas encore développée.</li>
</ul>
<p><b>AMENEZ</b></p>
<ul>
<li>Pour interagir avec les visuels et/ou pour l&#8217;ambiance de la salle:
<ul>
<li>Vos tables <a href="http://en.wikipedia.org/wiki/DMX512">DMX</a>, qui pourront servir à interagir avec votre patch</li>
<li>Vos spots (PAR à LED ou non) DMX qui pourront etre contrôlés par le patch. Plus il y en aura, plus ça mettra une ambiance psyché dans la salle, façon trip glasses sans les lunettes.</li>
<li>Un gradateur DMX si vous avez des vieux PARs à incandescence.</li>
<li>Vos claviers et contrôleurs <a href="http://en.wikipedia.org/wiki/MIDI">MIDI</a>, qui pourront servir à interagir avec votre patch</li>
<li>Câbles DMX (XLR 3 broches) et MIDI</li>
</ul>
<li>Vos CDs, vinyls, &#8230; ou toute autre source sonore, vous pouvez aussi venir mixer en live <img src='http://lekernel.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ca réagit bien à la techno minimale avec des bonnes basses.</li>
</ul>
<p><b>INFOS PRATIQUES</b><br />
Jeudi 19 août à partir de 19:45 au /tmp/lab<br />
Inscriptions sur la <a href="http://www.tmplab.org/wiki/index.php/Réalisation_de_patches_Milkymist">page du wiki /tmp/lab</a>.<br />
Comment venir: les infos sont <a href="http://www.tmplab.org/contact">ici</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lekernel.net/blog/?feed=rss2&amp;p=1223</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Milkymist SoC 0.8 released</title>
		<link>http://lekernel.net/blog/?p=1219</link>
		<comments>http://lekernel.net/blog/?p=1219#comments</comments>
		<pubDate>Sat, 14 Aug 2010 17:48:37 +0000</pubDate>
		<dc:creator>lekernel</dc:creator>
				<category><![CDATA[Milkymist]]></category>

		<guid isPermaLink="false">http://lekernel.net/blog/?p=1219</guid>
		<description><![CDATA[Support for DMX. Reflash your board now to play with RGB LED fixtures and DMX controllers DMX channels 1-4 are mapped as dmx1-4 for the output port and idmx1-4 for the input port in the patches. See the two example patches using DMX. And no, even though the FPGA core supports all the 512 DMX [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>Support for DMX. Reflash your board now to play with RGB LED fixtures and DMX controllers <img src='http://lekernel.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  DMX channels 1-4 are mapped as dmx1-4 for the output port and idmx1-4 for the input port in the patches. See the two example patches using DMX. And no, even though the FPGA core supports all the 512 DMX channels, there is no way to use other channels in the patches without modifying the software which is just &#8220;proof of concept&#8221; now.</li>
<li>Support for memory card (in 4-bit SD mode, not SPI)</li>
<li>Support for Synplify synthesis</li>
<li>Fixed a bug that prevented access to the upper 64M of SDRAM. The whole 128M are addressable now.</li>
<li>Rewritten USB PHY</li>
<li>All AVR Classic instructions in Navré (ie full C toolchain support), except conditional jumps on I/O registers (won&#8217;t be needed)</li>
<li>Navré bugfixes</li>
</ul>
<p>Despite some improvements (which were enough to validate the PCB design), USB still does not work completely and the road is still long before we have full OHCI support. This will be part of the <a href="http://www.milkymist.org/wiki/index.php?title=SoC_Roadmap">next release</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://lekernel.net/blog/?feed=rss2&amp;p=1219</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Milkymist SoC 0.7 released</title>
		<link>http://lekernel.net/blog/?p=1215</link>
		<comments>http://lekernel.net/blog/?p=1215#comments</comments>
		<pubDate>Fri, 23 Jul 2010 15:02:26 +0000</pubDate>
		<dc:creator>lekernel</dc:creator>
				<category><![CDATA[Milkymist]]></category>

		<guid isPermaLink="false">http://lekernel.net/blog/?p=1215</guid>
		<description><![CDATA[Changes: Support for video input (not used by the demo renderer) Support for MIDI (not used by the demo renderer) Support for VESA DDC (not used by the demo renderer) Support for RC5 infrared remote control (usable in OSD menu) Flash write support (contributed by Michael Walle) New memory map (contributed by Michael Walle) Experimental [...]]]></description>
			<content:encoded><![CDATA[<p>Changes:</p>
<ul>
<li>Support for video input (not used by the demo renderer)</li>
<li>Support for MIDI (not used by the demo renderer)</li>
<li>Support for VESA DDC (not used by the demo renderer)</li>
<li>Support for RC5 infrared remote control (usable in OSD menu)</li>
<li>Flash write support (contributed by Michael Walle)</li>
<li>New memory map (contributed by Michael Walle)</li>
<li>Experimental &#8220;softusb&#8221; USB core (no functional firmware yet) </li>
<li>Increased Minimac FIFO sizes </li>
<li>Improved netboot code</li>
</ul>
<p>Follow <a href="http://www.milkymist.org/wiki/index.php?title=Flashing_the_Milkymist_One">those instructions</a> to upgrade your board &#8211; as the memory map changed since the last release, you will need to upgrade to be able to run the latest software.</p>
]]></content:encoded>
			<wfw:commentRss>http://lekernel.net/blog/?feed=rss2&amp;p=1215</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building a free OHCI host controller for USB</title>
		<link>http://lekernel.net/blog/?p=1189</link>
		<comments>http://lekernel.net/blog/?p=1189#comments</comments>
		<pubDate>Wed, 21 Jul 2010 12:44:17 +0000</pubDate>
		<dc:creator>lekernel</dc:creator>
				<category><![CDATA[Milkymist]]></category>

		<guid isPermaLink="false">http://lekernel.net/blog/?p=1189</guid>
		<description><![CDATA[Implementing an OHCI host controller is not a straightforward task. The USB protocol is quite complex &#8211; making full hardware implementations difficult and inefficient &#8211; and its polled nature would put a heavy burden on a CPU if it were all implemented in software. The OHCI specification also makes things worse with regards to the [...]]]></description>
			<content:encoded><![CDATA[<p>Implementing an OHCI host controller is not a straightforward task. The USB protocol is quite complex &#8211; making full hardware implementations difficult and inefficient &#8211; and its polled nature would put a heavy burden on a CPU if it were all implemented in software. The OHCI specification also makes things worse with regards to the controller&#8217;s complexity, by offloading a lot of work to the controller hardware.</p>
<div id="attachment_1190" class="wp-caption aligncenter" style="width: 310px"><a href="http://lekernel.net/blog/wp-content/uploads/2010/07/softusb.png"><img src="http://lekernel.net/blog/wp-content/uploads/2010/07/softusb-300x93.png" alt="" title="softusb" width="300" height="93" class="size-medium wp-image-1190" /></a><p class="wp-caption-text">Block diagram of the softusb core</p></div>
<p>An hybrid solution, dubbed &#8220;softusb&#8221;, was therefore chosen. The USB controller includes a small dedicated microprocessor that runs a software version of an OHCI-compliant USB host stack. Only the parts that need very precise timing &#8211; namely data serialization and deserialization &#8211; is fully implemented in hardware. It is noteworthy that this approach enables switching between a host and a device controller by simply replacing the microprocessor&#8217;s program (and adding the appropriate pull-up/pull-down resistors on the D+/D-).</p>
<p>After unsuccessful experiments with <a href="http://opensource.zylin.com/zpu.htm">ZPU</a> which turned out to be extremely slow and realizing that all other open source small microprocessors were in general very bad, I ended up designing my own <a href="http://en.wikipedia.org/wiki/Atmel_AVR">AVR</a> compatible core called Navré.</p>
<p>The Navré core is built on the same 2-stage pipelined architecture as the original AVR, and also executes most instructions in one cycle. On Spartan-6 technology, it occupies about 400 LUTs and can run at speeds between 60MHz and 85MHz (depending on the memory configuration), well above the 48MHz clock used for USB. As far as I know, this makes it the fastest and smallest 8-bit open source microprocessor on the planet, which runs code one order of magnitude faster than ZPU and does not waste FPGA resources on a 32-bit datapath which is not really needed for the USB application. The <a href="http://github.com/lekernel/milkymist/blob/master/cores/softusb/rtl/softusb_navre.v">Navré source code</a> is extremely simple, with less than 700 lines of self-contained Verilog HDL.</p>
<p>Currently, all &#8220;<a href="http://en.wikipedia.org/wiki/Atmel_AVR_instruction_set">minimal core</a>&#8221; instructions are implemented, and &#8220;classic core&#8221; instructions are being worked on so that Navré will have full C compiler toolchain support enabling the efficient development of the USB stack. More work should also go in the validation of the core, perhaps using a test suite similar to that of <a href="http://git.savannah.gnu.org/cgit/simulavr.git/tree/regress/test_opcodes">simulavr</a>. Nonetheless, it is capable today of running correctly small C and assembler programs such as the recursive computation of Fibonacci numbers.</p>
<p>The Navré core uses on-chip RAM to store its program (loaded by the main CPU of the SoC) and data. The data memory is shared with the main SoC CPU, and will be used to store the OHCI descriptors and data. It sports a 32-bit interface on the SoC side to enable high bandwidth transfers of USB data without hogging the main CPU&#8217;s time.</p>
<p>Once completed, the softusb core will power the two USB ports of the <a href="http://www.milkymist.org/mmone.html">Milkymist One</a> interactive VJ station. An <a href="https://www.rtems.org/bugzilla/show_bug.cgi?id=1601">OHCI driver</a> is already available for RTEMS.</p>
<p><em>NB: I will be looking shortly for a USB protocol analyzer to assist me with the debugging of the OHCI stack. If you happen to sell or lend one or know where I could get one for cheap, let me know. Thanks!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://lekernel.net/blog/?feed=rss2&amp;p=1189</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Loneliness&#8230;</title>
		<link>http://lekernel.net/blog/?p=1183</link>
		<comments>http://lekernel.net/blog/?p=1183#comments</comments>
		<pubDate>Tue, 20 Jul 2010 11:24:15 +0000</pubDate>
		<dc:creator>lekernel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://lekernel.net/blog/?p=1183</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://lekernel.net/blog/wp-content/uploads/2010/07/autocrap.png"><img src="http://lekernel.net/blog/wp-content/uploads/2010/07/autocrap-300x206.png" alt="" title="autocrap" width="300" height="206" class="aligncenter size-medium wp-image-1186" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://lekernel.net/blog/?feed=rss2&amp;p=1183</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Soviet Audio Workshop &#8211; 21.08.10 @ Black Box (Paris)</title>
		<link>http://lekernel.net/blog/?p=1162</link>
		<comments>http://lekernel.net/blog/?p=1162#comments</comments>
		<pubDate>Fri, 16 Jul 2010 14:05:28 +0000</pubDate>
		<dc:creator>lekernel</dc:creator>
				<category><![CDATA[Geek collectives]]></category>
		<category><![CDATA[Howto's]]></category>

		<guid isPermaLink="false">http://lekernel.net/blog/?p=1162</guid>
		<description><![CDATA[Venez découvrir et expérimenter avec les sonorités et distortions analogiques bien old school produites par les vieilles technos germanium de l&#8217;époque soviétique. Au programme: fabrication maison de pédales et boîtes d&#8217;effets, et de synthétiseurs pre-8-bit! Ce workshop s&#8217;adresse tout aussi bien aux débutants souhaitant apprendre à souder avec un schéma simple qu&#8217;à des personnes expérimentées [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1163" class="wp-caption aligncenter" style="width: 247px"><a href="http://lekernel.net/blog/wp-content/uploads/2010/07/sa_flyer.png"><img src="http://lekernel.net/blog/wp-content/uploads/2010/07/sa_flyer-237x300.png" alt="" title="sa_flyer" width="237" height="300" class="size-medium wp-image-1163" /></a><p class="wp-caption-text">Flyer</p></div>
<p>Venez découvrir et expérimenter avec les sonorités et distortions analogiques bien old school produites par les vieilles technos germanium de l&#8217;époque soviétique. Au programme: fabrication maison de pédales et boîtes d&#8217;effets, et de synthétiseurs pre-8-bit!</p>
<p>Ce workshop s&#8217;adresse tout aussi bien aux débutants souhaitant apprendre à souder avec un schéma simple qu&#8217;à des personnes expérimentées voulant essayer leurs propres effets.</p>
<p><b>MATERIEL</b><br />
Il y en aura un peu sur place (notamment un carton rempli de circuits soviétiques avec des transistors germanium à récupérer), mais pour être sûr de pouvoir faire ce que vous voulez, amenez:
<ul>
<li>des plaques veroboard (photo ci-dessous)</li>
<li>votre fer à souder</li>
<li>composants discrets en tous genre: résistances, condensateurs, potentiomètres, &#8230;</li>
<li>piles</li>
<li>hauts parleurs (amplifiés ou non) et sources sonores (guitares électriques, &#8230;)</li>
<li>connecteurs (jacks, &#8230;) à souder</li>
<li>des appareils électroniques à cannibaliser</li>
<li>des schémas si vous en avez à proposer. Un peu d&#8217;inspiration peut se trouver <a href="http://www.tonepad.com/">ici</a>, <a href="http://diy.musikding.de/">ici</a>, <a href="http://www.schematicsforfree.com/archive/dir/Audio">ici</a> et <a href="http://yusynth.net/">là</a> (merci à Urs pour les liens <img src='http://lekernel.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</li>
<li>des bières</li>
</ul>
<p>Pour acheter des composants: vous avez par exemple, sur Paris, <a href="https://web1.ibcfrance.fr/index.htm">ECE</a> (Nation), <a href="http://www.selectronic.fr">Selectronic</a> (Nation), <a href="http://www.vdram.com/">RAM</a> (Nation), <a href="http://www.electronique-diffusion.fr">Electronique Diffusion</a> (<a href="http://www.pielib.fr">Malakoff</a>), en VPC <a href="http://fr.farnell.com">Farnell</a>, &#8230;</p>
<div id="attachment_1165" class="wp-caption aligncenter" style="width: 228px"><a href="http://lekernel.net/blog/wp-content/uploads/2010/07/Stripboard.jpg"><img src="http://lekernel.net/blog/wp-content/uploads/2010/07/Stripboard.jpg" alt="" title="Stripboard" width="218" height="163" class="size-full wp-image-1165" /></a><p class="wp-caption-text">Veroboard (Wikipedia)</p></div>
<p><b>INFOS PRATIQUES</b><br />
Date: samedi 21 août 2010, de 14:00 à 20:00<br />
Lieu: le Black Box, un hacklab parisien faisant partie du <a href="http://www.theatredeverre.fr/">Théâtre de Verre</a>. Adresse: 17 rue de la Chapelle, 75010 Paris. Code: A7398. Métro: Marx Dormoy.</p>
<p>Contact: seb chez tmplab point org</p>
<p><b>INSCRIPTION</b><br />
Le Black Box étant underground au point de ne pas avoir de site web (ouuuhhh!), les inscriptions se font en commentant ce post de blog. La participation au workshop est gratuite.</p>
]]></content:encoded>
			<wfw:commentRss>http://lekernel.net/blog/?feed=rss2&amp;p=1162</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
