<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1344337796673480398</id><updated>2012-02-23T07:00:42.287+09:00</updated><category term='LPCXpresso LPC1769'/><category term='Spice'/><category term='h8write'/><category term='計画'/><category term='CQ-STARM'/><category term='分解レポート'/><category term='B039 : 特注品'/><category term='lolipop'/><category term='STM32'/><category term='LPCXpresso LPC1343'/><category term='Natural Tiny Shell'/><category term='Windows7'/><category term='KOZOS'/><category term='B063: BlackTank'/><category term='MicroBlaze'/><category term='FriskJtag'/><category term='mbed NXP LPC1768'/><category term='B041 : Tiny SD card module'/><category term='TOPPERS/ASP for LPC'/><category term='LPCXpresso Yokohama'/><category term='FreeRTOS'/><category term='Proteus'/><category term='kz_h8write'/><category term='教訓'/><category term='LPCXpresso Clock'/><category term='PSpice'/><category term='XBee DigiMesh24 Development Kit Jpn'/><category term='Camera'/><category term='Craft ROBO'/><category term='Netduino'/><category term='ET2011'/><category term='B056 : Capture422'/><category term='StarBoard Orange'/><category term='B045 : LEDMTX CLOCK 2'/><category term='板金'/><category term='NXP'/><category term='Blackfin'/><category term='CAD'/><category term='TOPPERS/ASPカーネル'/><category term='Subversion'/><category term='ARM Cortex-M3'/><category term='TinyBMPIO'/><category term='sourceforge'/><category term='MTM07'/><category term='WCA-009'/><category term='LX9 MicroBoard'/><category term='WT32'/><category term='LPCXpresso LPC1768'/><category term='PCBCART'/><category term='小規模組み込みシステムプラットフォーム研究温泉'/><category term='Specification'/><category term='GPS'/><category term='Qt'/><category term='Bluetooth'/><category term='B051 : WAV MODULE'/><category term='Red Probe+'/><category term='redmine'/><category term='B049 : Alarm Clock'/><category term='Embedded Technology 2009'/><category term='B046 : uMP3PLAYER'/><category term='JTAG'/><category term='NOKIA 6100 LCD'/><category term='Break time'/><category term='ACB-BF592'/><category term='LPC1768'/><category term='eLua'/><category term='EDK'/><category term='Saleae LLC'/><category term='ARM'/><category term='DESIGN FESTA'/><category term='B044 : uIRKIT'/><category term='OpenOCD'/><category term='B028 : LEDMTX 100 dots'/><category term='B055 : mbed webcam'/><category term='小規模組み込みシステムプラットフォーム研究部会'/><category term='Makefile'/><category term='Arduino'/><category term='LPC1769'/><category term='star board'/><category term='筺体'/><category term='B042 : uSDMOD'/><category term='NOKIA 6610 LCD'/><category term='開発環境'/><category term='EAGLE'/><category term='Digilent'/><category term='GW Instek GDS-1102A'/><category term='Make'/><category term='Make: Tokyo Meeting 05'/><category term='C328-7640'/><category term='MOM'/><category term='BitNami :: Redmine'/><category term='LPCXpresso'/><category term='B037 : LEDMTX CLOCK'/><category term='Xilinx'/><category term='StarBoard Orange Expansion Board'/><category term='B015 : Repair man&apos;s light'/><category term='オシロスコープ'/><category term='USB研究部会'/><category term='LPC1102'/><category term='FusionPCB'/><category term='ADSP-BF592'/><category term='LS-Y201'/><category term='Altera DE0 Board'/><category term='JTAGKey2P'/><category term='B043 : MP3 PLAYER'/><category term='B057 : mp3 player kit'/><category term='Eagle3D'/><category term='GT-720F'/><category term='LPCXpressoDay'/><title type='text'>CuBeatSystems</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default?start-index=101&amp;max-results=100'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>275</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-52970732860014087</id><published>2012-02-22T07:36:00.001+09:00</published><updated>2012-02-23T07:00:42.301+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TinyBMPIO'/><title type='text'>小規模組み込みシステムでも使えるBMPライブラリ(Tiny BMP I/O)</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;はじめに&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;昨年の今頃に着手したBlacktank LPC1769からは複数の派生プロジェクトが生まれています。&lt;br /&gt;&lt;div&gt;Natural Tiny Shell (NT-Shell)もその一つですが、今回は小規模組み込みシステムでも使えるBMPライブラリ(Tiny BMP I/O)について触れます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Uv161Ni8H8o/TwoaraVYzyI/AAAAAAAABx8/kEIoOUwd0QM/s1600/capture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-Uv161Ni8H8o/TwoaraVYzyI/AAAAAAAABx8/kEIoOUwd0QM/s400/capture.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;これは何？&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yOC0EWySKAw/T0VjCjHwV1I/AAAAAAAAB2I/pC-gtPl0mng/s1600/iopass.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="http://3.bp.blogspot.com/-yOC0EWySKAw/T0VjCjHwV1I/AAAAAAAAB2I/pC-gtPl0mng/s400/iopass.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 14px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: #222222;"&gt;Tiny BMP I/Oは、BMP Data StreamからBMPイメージを読み込んでPixel Storageにピクセル値を格納したり、Pixel Storageからピクセル値を読み込んで、BMP Data StreamにBMPイメージを書き込んだりすることのできるライブラリです。&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: rgba(255, 255, 255, 0.917969); color: #222222;"&gt;&lt;span style="font-family: inherit;"&gt;一般に書かれたライブラリでは、「&lt;wbr&gt;&lt;/wbr&gt;BMPデータがどこに格納されているのか＝&lt;wbr&gt;&lt;/wbr&gt;ファイルに格納されている」、「&lt;wbr&gt;&lt;/wbr&gt;ピクセルデータがどこに格納されているのか＝メモリ」&lt;wbr&gt;&lt;/wbr&gt;という暗黙の前提が使われている事が多いのですが、Tiny BMP I/Oはそれらをシステム依存として捉えて設計してあります。&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: rgba(255, 255, 255, 0.917969); color: #222222;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: rgba(255, 255, 255, 0.917969); color: #222222;"&gt;&lt;span style="font-family: inherit;"&gt;システムに依存する部分をきちんと切り出す事で「１つのライブラリでSDからも、&lt;wbr&gt;&lt;/wbr&gt;フラッシュからもSRAMからだって読める！」、「カメラから読んだ画像を簡単にBMPファイルにできる！」など、色々な用途で使用する事が可能になります。&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: rgba(255, 255, 255, 0.917969); color: #222222;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: rgba(255, 255, 255, 0.917969);"&gt;&lt;div&gt;&lt;div style="color: black;"&gt;&lt;span style="font-family: inherit;"&gt;&lt;span style="color: #222222;"&gt;例えば、「&lt;/span&gt;&lt;wbr style="color: #222222;"&gt;&lt;/wbr&gt;&lt;span style="color: #222222;"&gt;SDカードにあるファイルを読み込んで液晶に表示したい」とか「&lt;/span&gt;&lt;wbr style="color: #222222;"&gt;&lt;/wbr&gt;&lt;span style="color: #222222;"&gt;カメラから取り出した映像をファイルに書き込みたい」などはすぐに考える事のできる応用例の１つです。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: #222222;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color: #222222;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #222222;"&gt;また、それだけではつまらないのでbmpimg_tというキャンバスに対して描画可能なプチユティリティも装備しました。描きたいパターンをさっと実現してファイル化する事が可能です。&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #222222;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #222222;"&gt;int bmpimg_draw_box(bmpimg_t *p, const int x1, const int y1, const int x2, const int y2, bmpcol_t *color);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #222222;"&gt;int bmpimg_fill_box(bmpimg_t *p, const int x1, const int y1, const int x2, const int y2, bmpcol_t *color);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #222222;"&gt;int bmpimg_draw_string(bmpimg_t *p, const int x, const int y, const int size, const char *text, bmpcol_t *color);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #222222;"&gt;int bmpimg_draw_line(bmpimg_t *p, const int x1, const int y1, const int x2, const int y2, bmpcol_t *color);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #222222;"&gt;int bmpimg_draw_pixel(bmpimg_t *p, const int x, const int y, bmpcol_t *color);&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style="background-color: rgba(255, 255, 255, 0.917969); color: #222222; font-family: arial, sans-serif; font-size: 14px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;機能&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;24ビットBMPファイルの入出力に対応。&lt;/li&gt;&lt;li&gt;特定プラットフォームに非依存。&lt;/li&gt;&lt;li&gt;便利な描画用ユティリティ付属。&lt;/li&gt;&lt;li&gt;その他。&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;簡単に使えます&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tiny BMP I/Oはシステムに依存する以下の機能を実装するだけで簡単に使えます。&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;データのリード、ライト関数&lt;/li&gt;&lt;li&gt;ピクセルのリード、ライト関数&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;データのリード、ライト関数は、BMPのイメージが直列化されて格納されている領域を、ストリームとして入出力するための機能を提供するものです。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;ピクセルのリードライト関数は、画像を実際に表示したりするための入出力機能を提供するものです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;ポイント&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;この手のライブラリは世の中に溢れています。&lt;/div&gt;&lt;div&gt;「また車輪の再開発か」と言われそうですが、必ずしもそうではありません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ここではTiny BMP I/Oで考慮されている点を挙げてみます。&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;データがどこに格納されているのか？に依存しない。&lt;/li&gt;&lt;li&gt;画像ピクセルがどこに、どのように格納されているのか？に依存しない。&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #666666; font-size: large;"&gt;データがどこに格納されているのか？に依存しない。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;小規模組み込みシステムでは、データが必ずファイルシステム上に存在するとは限りません。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;一般に流通しているライブラリの多くは「データはファイルシステム上のファイルとして存在する事」を前提に設計実装されています。これらのライブラリを使用する場合、小規模組み込みシステムにファイルシステムとlibcをポートする事になります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tiny BMP I/Oは、データがどこに格納されいるのか？についての前提を持ちません。&lt;/div&gt;&lt;div&gt;それがファイルシステム上であろうが、フラッシュメモリ上であろうが、SRAM上であろうが、何の問題もありません。どこに格納されていても&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #666666; font-size: large;"&gt;画像ピクセルがどこに、どのように格納されているのか？に依存しない。&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ここで言う「画像ピクセル」とは、データを読み込んで解釈した映像の１つ１つのピクセルを指します。&lt;/div&gt;&lt;div&gt;「画像ピクセルがどこに格納されているのか？」ですが、普通に考えるとメモリ上に格納するわけですが、ちょっとした画像ファイルでも結構な容量になってしまいます。例えば、1920x1080ピクセルでR, G, Bの各レイヤーが8ビットだったとすると、1920x1080x1x3=6,220,800[Bytes] (約6[MB])になってしまいます。潤沢なメモリが対象システムに存在するかどうかはシステム次第です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;読み込んだデータをそのままディスプレイに表示させたいだけの場合もあります。&lt;/div&gt;&lt;div&gt;この場合、わざわざ読み込んだデータをメモリ上に展開する必要はありません。&lt;/div&gt;&lt;div&gt;そのまま表示してしまえば良いのです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;巷に出回っているBMPライブラリの多くは、画像ピクセルデータをメモリに展開する事を前提で書かれているため、小規模組み込みシステムでそのまま使用することは難しい事があります。&lt;/div&gt;&lt;div&gt;Tiny BMP I/Oはシステムに対するインターフェースを規定して設計してあります。&lt;/div&gt;&lt;div&gt;このインターフェースさえ守れば、画像ピクセルがどこにどのように格納されていても問題ありません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;サンプルプログラムとその画像&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;サンプルプログラムでは、インターフェースの動作を的確に示すために、汎用プラットフォームで動作するコードを示しています。このコードを見れば、Tiny BMP I/Oが規定している入出力インターフェースを簡単に理解することができます。&lt;br /&gt;&lt;br /&gt;プログラムは&lt;a href="https://sites.google.com/site/cubeatsystems/resources/tinybmp.tar.gz?attredirects=0&amp;amp;d=1"&gt;ここ&lt;/a&gt;からダウンロードできます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;実際にTiny BMP I/Oを使って出力したサンプル画像を示します。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VUWa05I4YTo/T0QWnouDfkI/AAAAAAAAB14/JAtJUc0YbkA/s1600/sample1.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-VUWa05I4YTo/T0QWnouDfkI/AAAAAAAAB14/JAtJUc0YbkA/s400/sample1.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-jmLbjTra-7g/T0QWvM26I3I/AAAAAAAAB2A/T6se1wHkjLI/s1600/sample2.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-jmLbjTra-7g/T0QWvM26I3I/AAAAAAAAB2A/T6se1wHkjLI/s400/sample2.bmp" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;サンプルプログラムでは、汎用プラットフォーム向けの実装を提供していますが、Tiny BMP I/Oのインターフェースに従った実装をプラットーフォーム向けに提供しているだけです。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;プラットフォームに依存した部分を書き換えれば色々なプラットフォームで使うことができます。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span style="font-size: x-small;"&gt;/**&lt;br /&gt; * @file sample.c&lt;br /&gt; * @author Shinichiro Nakamura&lt;br /&gt; * @brief 小規模組み込みシステム向けBMP I/Oのサンプル実装。&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt; * ===============================================================&lt;br /&gt; *  Tiny BMP I/O Module&lt;br /&gt; *  Version 0.0.1&lt;br /&gt; * ===============================================================&lt;br /&gt; * Copyright (c) 2010-2011 Shinichiro Nakamura&lt;br /&gt; *&lt;br /&gt; * Permission is hereby granted, free of charge, to any person&lt;br /&gt; * obtaining a copy of this software and associated documentation&lt;br /&gt; * files (the "Software"), to deal in the Software without&lt;br /&gt; * restriction, including without limitation the rights to use,&lt;br /&gt; * copy, modify, merge, publish, distribute, sublicense, and/or&lt;br /&gt; * sell copies of the Software, and to permit persons to whom the&lt;br /&gt; * Software is furnished to do so, subject to the following&lt;br /&gt; * conditions:&lt;br /&gt; *&lt;br /&gt; * The above copyright notice and this permission notice shall be&lt;br /&gt; * included in all copies or substantial portions of the Software.&lt;br /&gt; *&lt;br /&gt; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt; * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES&lt;br /&gt; * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND&lt;br /&gt; * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT&lt;br /&gt; * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,&lt;br /&gt; * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING&lt;br /&gt; * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR&lt;br /&gt; * OTHER DEALINGS IN THE SOFTWARE.&lt;br /&gt; * ===============================================================&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;#include "pattern.h"&lt;br /&gt;&lt;br /&gt;int main(int argc, char **argv);&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @brief 独自に規定したキャンバス構造。&lt;br /&gt; * @details&lt;br /&gt; * このサンプルでは、汎用プラットフォーム向けなのでメモリ上に画像を格納する。&lt;br /&gt; */&lt;br /&gt;typedef struct {&lt;br /&gt;    int w;              /**&amp;lt; 横方向サイズ。 */&lt;br /&gt;    int h;              /**&amp;lt; 縦方向サイズ。 */&lt;br /&gt;    bmpcol_t *buffer;   /**&amp;lt; バッファへのポインタ。 */&lt;br /&gt;} canvas_t;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @brief ストリームからデータを読み込む。&lt;br /&gt; * @details&lt;br /&gt; * インターフェースでは、何からどのように読み込むかについて一切感知していない。&lt;br /&gt; * この関数では、何からどのように読み込むかについて解決する。&lt;br /&gt; *&lt;br /&gt; * @param buf バッファへのポインタ。&lt;br /&gt; * @param size 読み込みバイトサイズ。&lt;br /&gt; * @param extobj ユーザが指定した拡張オブジェクト。&lt;br /&gt; */&lt;br /&gt;int func_fread(void *buf, const unsigned int size, void *extobj)&lt;br /&gt;{&lt;br /&gt;    FILE *fp = (FILE *)extobj;&lt;br /&gt;    return fread(buf, size, 1, fp);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @brief ストリームへデータを書き込む。&lt;br /&gt; * @details&lt;br /&gt; * インターフェースでは、何にどのように書き込むかについて一切感知していない。&lt;br /&gt; * この関数では、何にどのように書き込むかについて解決する。&lt;br /&gt; *&lt;br /&gt; * @param buf バッファへのポインタ。&lt;br /&gt; * @param size 書き込みバイトサイズ。&lt;br /&gt; * @param extobj ユーザが指定した拡張オブジェクト。&lt;br /&gt; */&lt;br /&gt;int func_fwrite(const void *buf, const unsigned int size, void *extobj)&lt;br /&gt;{&lt;br /&gt;    FILE *fp = (FILE *)extobj;&lt;br /&gt;    return fwrite(buf, size, 1, fp);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @brief ピクセル値を書き込む。&lt;br /&gt; * @details&lt;br /&gt; * インターフェースでは、何にどのように書き込むかについて一切感知していない。&lt;br /&gt; * この関数では、何にどのように書き込むかについて解決する。&lt;br /&gt; *&lt;br /&gt; * @param x X座標。&lt;br /&gt; * @param y Y座標。&lt;br /&gt; * @param r 赤。&lt;br /&gt; * @param g 緑。&lt;br /&gt; * @param b 青。&lt;br /&gt; * @param extobj ユーザが指定した拡張オブジェクト。&lt;br /&gt; */&lt;br /&gt;void func_pixel_write(const int x, const int y, const uint8_t r, const uint8_t g, const uint8_t b, void *extobj)&lt;br /&gt;{&lt;br /&gt;    canvas_t *canvas = (canvas_t *)extobj;&lt;br /&gt;    bmpcol_t *buffer = canvas-&amp;gt;buffer + (canvas-&amp;gt;w * y) + x;&lt;br /&gt;    buffer-&amp;gt;r = r;&lt;br /&gt;    buffer-&amp;gt;g = g;&lt;br /&gt;    buffer-&amp;gt;b = b;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * @brief ピクセル値を読み込む。&lt;br /&gt; * @details&lt;br /&gt; * インターフェースでは、何からどのように読み込むかについて一切感知していない。&lt;br /&gt; * この関数では、何からどのように読み込むかについて解決する。&lt;br /&gt; *&lt;br /&gt; * @param x X座標。&lt;br /&gt; * @param y Y座標。&lt;br /&gt; * @param r 赤。&lt;br /&gt; * @param g 緑。&lt;br /&gt; * @param b 青。&lt;br /&gt; * @param extobj ユーザが指定した拡張オブジェクト。&lt;br /&gt; */&lt;br /&gt;void func_pixel_read(const int x, const int y, uint8_t *r, uint8_t *g, uint8_t *b, void *extobj)&lt;br /&gt;{&lt;br /&gt;    canvas_t *canvas = (canvas_t *)extobj;&lt;br /&gt;    bmpcol_t *buffer = canvas-&amp;gt;buffer + (canvas-&amp;gt;w * y) + x;&lt;br /&gt;    *r = buffer-&amp;gt;r;&lt;br /&gt;    *g = buffer-&amp;gt;g;&lt;br /&gt;    *b = buffer-&amp;gt;b;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main(int argc, char **argv)&lt;br /&gt;{&lt;br /&gt;    const int imgw = 1280;&lt;br /&gt;    const int imgh = 720;&lt;br /&gt;    canvas_t canvas;&lt;br /&gt;    bmpimg_t bmpimg;&lt;br /&gt;    FILE *fp;&lt;br /&gt;&lt;br /&gt;    /*&lt;br /&gt;     * 画像ピクセルを格納する領域を確保する。&lt;br /&gt;     */&lt;br /&gt;    canvas.w = imgw;&lt;br /&gt;    canvas.h = imgh;&lt;br /&gt;    canvas.buffer = (bmpcol_t *)malloc(sizeof(bmpcol_t) * imgw * imgh);&lt;br /&gt;&lt;br /&gt;    /*&lt;br /&gt;     * 開始処理。&lt;br /&gt;     *&lt;br /&gt;     * ピクセル入出力関数を渡して初期化する。&lt;br /&gt;     * ユーザが指定可能な拡張オブジェクトに、独自に規定したキャンバスを渡しておく。&lt;br /&gt;     */&lt;br /&gt;    bmpimg_open(&amp;amp;bmpimg, imgw, imgh, func_pixel_write, &amp;amp;canvas, func_pixel_read, &amp;amp;canvas);&lt;br /&gt;&lt;br /&gt;    /*&lt;br /&gt;     * サンプルの実装では、ファイルから読み込む。&lt;br /&gt;     */&lt;br /&gt;    fp = fopen("input.bmp", "rb");&lt;br /&gt;    if (fp != NULL) {&lt;br /&gt;        bmpimg_bmp_read(&amp;amp;bmpimg, func_fread, fp);&lt;br /&gt;        fclose(fp);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    {&lt;br /&gt;        /*&lt;br /&gt;         * パターン１を書き込む。&lt;br /&gt;         */&lt;br /&gt;        pattern_sample1(&amp;amp;bmpimg);&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * サンプルの実装では、ファイルに書き込む。&lt;br /&gt;         */&lt;br /&gt;        fp = fopen("sample1.bmp", "wb");&lt;br /&gt;        if (fp != NULL) {&lt;br /&gt;            bmpimg_bmp_write(&amp;amp;bmpimg, func_fwrite, fp);&lt;br /&gt;            fclose(fp);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    {&lt;br /&gt;        /*&lt;br /&gt;         * パターン２を書き込む。&lt;br /&gt;         */&lt;br /&gt;        pattern_sample2(&amp;amp;bmpimg);&lt;br /&gt;&lt;br /&gt;        /*&lt;br /&gt;         * サンプルの実装では、ファイルに書き込む。&lt;br /&gt;         */&lt;br /&gt;        fp = fopen("sample2.bmp", "wb");&lt;br /&gt;        if (fp != NULL) {&lt;br /&gt;            bmpimg_bmp_write(&amp;amp;bmpimg, func_fwrite, fp);&lt;br /&gt;            fclose(fp);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    /*&lt;br /&gt;     * 終了処理。&lt;br /&gt;     */&lt;br /&gt;    bmpimg_close(&amp;amp;bmpimg);&lt;br /&gt;&lt;br /&gt;    /*&lt;br /&gt;     * 画像ピクセルを格納する領域を破棄する。&lt;br /&gt;     */&lt;br /&gt;    free(canvas.buffer);&lt;br /&gt;&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;/stdlib.h&gt;&lt;/stdio.h&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-52970732860014087?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/52970732860014087/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/02/bmptiny-bmp-io.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/52970732860014087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/52970732860014087'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/02/bmptiny-bmp-io.html' title='小規模組み込みシステムでも使えるBMPライブラリ(Tiny BMP I/O)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Uv161Ni8H8o/TwoaraVYzyI/AAAAAAAABx8/kEIoOUwd0QM/s72-c/capture.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-6103002877103422440</id><published>2012-01-29T14:38:00.001+09:00</published><updated>2012-01-29T14:38:07.789+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ACB-BF592'/><category scheme='http://www.blogger.com/atom/ns#' term='ADSP-BF592'/><title type='text'>Blackfin ADSP-BF592搭載基板ACB-BF592の下ごしらえ</title><content type='html'>先日入手したBlackfin ADSP-BF592搭載基板ACB-BF592の下ごしらえです。&lt;br /&gt;&lt;br /&gt;この基板は動かすためのコンポーネントが全て入ったいわゆる「全部入り」なので、ピンヘッダをくっつけておけば準備完了です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qoupCVJmBMI/TyTaXlHWQVI/AAAAAAAAB1s/BZfK1q4iuv0/s1600/acb-bf592-a.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="263" src="http://3.bp.blogspot.com/-qoupCVJmBMI/TyTaXlHWQVI/AAAAAAAAB1s/BZfK1q4iuv0/s400/acb-bf592-a.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ということでピンヘッダを準備します。&lt;br /&gt;デバッガを接続する箇所にはキーに合わせてピンを１ピン抜いておきます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-wrzVArVxjkw/TyTYYpAT_JI/AAAAAAAAB1M/gZYjnmRbuo0/s1600/acb-bf592-a_pinhead.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="328" src="http://4.bp.blogspot.com/-wrzVArVxjkw/TyTYYpAT_JI/AAAAAAAAB1M/gZYjnmRbuo0/s400/acb-bf592-a_pinhead.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;実装するとこんな具合。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yMYYzpCb0-Y/TyTY5Z5SxjI/AAAAAAAAB1c/dsk0E-Q7yqA/s1600/acb-bf592-a_complete.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="http://3.bp.blogspot.com/-yMYYzpCb0-Y/TyTY5Z5SxjI/AAAAAAAAB1c/dsk0E-Q7yqA/s400/acb-bf592-a_complete.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;秋月電子通商さんのAE-FT2232と並べてみましょう。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;このサイズでDSPが楽しめるなんて幸せです。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dc78Qa797wE/TyTaEydwthI/AAAAAAAAB1k/FvduWCH4Fbs/s1600/acb_ae.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-dc78Qa797wE/TyTaEydwthI/AAAAAAAAB1k/FvduWCH4Fbs/s400/acb_ae.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;こんな感じで準備ができました。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;DSP空挺団さんのページでは、ブレッドボードを使って使用する様子が書かれています。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://bfin.sakura.ne.jp/?p=125"&gt;http://bfin.sakura.ne.jp/?p=125&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;うーん。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;私も早くやってみたい！&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-6103002877103422440?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/6103002877103422440/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blackfin-adsp-bf592acb-bf592.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6103002877103422440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6103002877103422440'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blackfin-adsp-bf592acb-bf592.html' title='Blackfin ADSP-BF592搭載基板ACB-BF592の下ごしらえ'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-qoupCVJmBMI/TyTaXlHWQVI/AAAAAAAAB1s/BZfK1q4iuv0/s72-c/acb-bf592-a.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-6250004542167910455</id><published>2012-01-22T21:22:00.002+09:00</published><updated>2012-01-23T07:07:10.815+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ACB-BF592'/><category scheme='http://www.blogger.com/atom/ns#' term='Blackfin'/><category scheme='http://www.blogger.com/atom/ns#' term='ADSP-BF592'/><title type='text'>これは新機軸！金子システム株式会社さんのDSP基板が登場（予定）！</title><content type='html'>このブログを読んでいらっしゃる方の中にも「DSP触ってみたいなぁ」という方が結構いるのではないでしょうか？そんな私も例に漏れず以前から「&lt;a href="http://www.analog.com/jp/processors-dsp/blackfin/products/index.html"&gt;Blackfin&lt;/a&gt;を触ってみたい触ってみたい」と念仏のように唱えていました。&lt;br /&gt;&lt;br /&gt;色んなきっかけによって徐々に環境を整えつつあるのですが、先日「私好みのキュッと引き締まったDSP基板」を入手する事ができましたので御紹介します。&lt;br /&gt;&lt;br /&gt;私がすっかり気に入ってしまったDSP基板の写真はこちら。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fTbsK3vAtrA/Txv7kz_M9WI/AAAAAAAAB0o/S2DBZLFPlgU/s1600/DSCF2040.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-fTbsK3vAtrA/Txv7kz_M9WI/AAAAAAAAB0o/S2DBZLFPlgU/s400/DSCF2040.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この基板は&lt;a href="http://www.kaneko-sys.co.jp/"&gt;金子システム株式会社さん&lt;/a&gt;の設計によるもの。&lt;br /&gt;基板フェチの私は美しく引かれたパターンとティアドロップにうっとりです。&lt;br /&gt;プロの仕事はやはり違います。&lt;br /&gt;&lt;br /&gt;コンパクトな基板の上にBlackfinとクロックとSPIフラッシュとJTAG用ヘッダとブートモード選択用DIPスイッチと1.2V降圧レギュレータが搭載されています。要するにこの基板に+3.3Vを供給するだけで、直ぐにでもDSPを楽しむ事ができるのです。&lt;br /&gt;&lt;br /&gt;搭載されているDSPはAnalog Devices社の&lt;a href="http://www.analog.com/en/processors-dsp/blackfin/adsp-bf592/processors/product.html"&gt;ADSP-BF592 Blackfin&lt;/a&gt;です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-GYCe2l71w4M/Txv9dPHEyZI/AAAAAAAAB0w/igtsaavl0OE/s1600/adsp-bf592.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="163" src="http://1.bp.blogspot.com/-GYCe2l71w4M/Txv9dPHEyZI/AAAAAAAAB0w/igtsaavl0OE/s400/adsp-bf592.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;なるほど～って、全然まだ意味がわかっていません。&lt;br /&gt;なんだこのブロック・ダイアグラムにある「BLACKfin」ってのは！と突っ込みたくなります。&lt;br /&gt;これがDSPの心臓部分か。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-sMHvm6oeUiM/Txv-cvWixQI/AAAAAAAAB04/kIkF8Xx5Q-Q/s1600/DSCF2041.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-sMHvm6oeUiM/Txv-cvWixQI/AAAAAAAAB04/kIkF8Xx5Q-Q/s400/DSCF2041.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;そんな感じでヨチヨチ状態ですが、NXPセミコンダクターズのLPCシリーズと合わせて、今年はこちらも楽しみたい！それにはまずデバッガの入手かな？&lt;br /&gt;&lt;br /&gt;ちなみに、このDSP基板は今後販売予定があるそうです。&lt;br /&gt;興味のある方は&lt;a href="http://www.kaneko-sys.co.jp/"&gt;金子システム株式会社さん&lt;/a&gt;まで問い合わせてみて下さい。&lt;br /&gt;&lt;br /&gt;「CuBeatSystemsのウェブを見た」と言うと・・・おそらく特典は無いと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-6250004542167910455?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/6250004542167910455/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/dsp.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6250004542167910455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6250004542167910455'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/dsp.html' title='これは新機軸！金子システム株式会社さんのDSP基板が登場（予定）！'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-fTbsK3vAtrA/Txv7kz_M9WI/AAAAAAAAB0o/S2DBZLFPlgU/s72-c/DSCF2040.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4428292309241563081</id><published>2012-01-22T20:47:00.000+09:00</published><updated>2012-01-22T20:49:01.198+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='小規模組み込みシステムプラットフォーム研究部会'/><title type='text'>プチ報告「小規模組み込みシステムプラットフォーム研究部会」</title><content type='html'>&lt;br /&gt;遅ればせながら、先週行なった&lt;a href="http://atnd.org/events/21520"&gt;「小規模組み込みシステムプラットフォーム研究部会」&lt;span style="font-size: x-small;"&gt;～近代文学施設でモクモクと組み込みシステムプラットフォームを研究しよう～&lt;/span&gt;&lt;/a&gt;のプチ報告です。&lt;br /&gt;&lt;br /&gt;場所は神奈川県横浜市の港の見える丘公園の中にある神奈川近代文学館でした。&lt;br /&gt;&lt;br /&gt;プチ参加賞は夏目漱石が自筆で作った原稿用紙の復刻版・・・を１枚。&lt;br /&gt;これは施設で販売されていたので面白くて購入しました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mi2JLh-0Usg/Txv1Y-UOTPI/AAAAAAAAB0A/Hn5dHni9380/s1600/DSCF0788.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-mi2JLh-0Usg/Txv1Y-UOTPI/AAAAAAAAB0A/Hn5dHni9380/s320/DSCF0788.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;朝９時３０分から１８時００分までの開催。&lt;br /&gt;途中、公園内の散策を楽しむ余裕もありました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-NC88KAmcbO8/Txv1ZWJG0wI/AAAAAAAAB0E/Uw-D5FKQpGM/s1600/DSCF0800.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-NC88KAmcbO8/Txv1ZWJG0wI/AAAAAAAAB0E/Uw-D5FKQpGM/s320/DSCF0800.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;和室の風景はこちら。&lt;br /&gt;温泉旅館に宿泊しているかの雰囲気が個人的に好みです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-rwXd5huopE4/Txv1Z_hmcPI/AAAAAAAAB0M/Aznwznh-XgM/s1600/DSCF0815.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-rwXd5huopE4/Txv1Z_hmcPI/AAAAAAAAB0M/Aznwznh-XgM/s320/DSCF0815.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;相変わらずの絵で皆様をお出迎えしました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RmDuU6Y_1SI/Txv1adLim0I/AAAAAAAAB0Q/vQMwd7_S-FY/s1600/DSCF0818.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-RmDuU6Y_1SI/Txv1adLim0I/AAAAAAAAB0Q/vQMwd7_S-FY/s320/DSCF0818.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;夜は当然ながら親睦を深める会です。&lt;br /&gt;と言っても、コアなメンバーが集うので結局のところ熱く組み込み談義が繰り広げられました。&lt;br /&gt;楽しかった！&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-H2J5XijxxiY/Txv1a3I1VrI/AAAAAAAAB0Y/ZmN4xlzmyic/s1600/DSCF0822.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-H2J5XijxxiY/Txv1a3I1VrI/AAAAAAAAB0Y/ZmN4xlzmyic/s320/DSCF0822.JPG" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;前回の「LPCXpresso横浜お楽しみ部会」では、参加者の開発の様子も御紹介しました。&lt;br /&gt;本当は今回も御紹介しようと思ったのですが、今後は参加された方が見れるお互いの様子という形にしようと思います。&lt;br /&gt;その方が、公開したくない人も参加しやすいかな？と思いました。&lt;br /&gt;&lt;br /&gt;継続的に開催する方向で検討中ですので、皆様も機会があえば是非！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4428292309241563081?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4428292309241563081/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blog-post_22.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4428292309241563081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4428292309241563081'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blog-post_22.html' title='プチ報告「小規模組み込みシステムプラットフォーム研究部会」'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-mi2JLh-0Usg/Txv1Y-UOTPI/AAAAAAAAB0A/Hn5dHni9380/s72-c/DSCF0788.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-3821906099966914286</id><published>2012-01-09T20:27:00.000+09:00</published><updated>2012-01-09T20:41:28.751+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Red Probe+'/><title type='text'>Red Probe+を購入しました</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: left;"&gt;先日勢い余って&lt;a href="http://solitonwave.shop-pro.jp/"&gt;Soliton Waveさん&lt;/a&gt;で&lt;a href="http://solitonwave.shop-pro.jp/?pid=22923860"&gt;Red Probe+&lt;/a&gt;と&lt;a href="http://solitonwave.shop-pro.jp/?pid=24167503"&gt;10ピン-20ピン JTAGアダプタ&lt;/a&gt;を発注しました。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;本日やっとこさの開梱です。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Ij9335ui47c/TwrKTn2nZ3I/AAAAAAAABy0/FphyXsHFQ70/s1600/DSCF0645.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-Ij9335ui47c/TwrKTn2nZ3I/AAAAAAAABy0/FphyXsHFQ70/s400/DSCF0645.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;本体には20ピンのJTAGケーブルが接続されています。&lt;br /&gt;付属品やUSBケーブルとウェブへのリンクを示すシートです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-WgVloJ6X6xw/TwrKVgUYIvI/AAAAAAAABy8/MnDKXvMeZ-M/s1600/DSCF0647.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-WgVloJ6X6xw/TwrKVgUYIvI/AAAAAAAABy8/MnDKXvMeZ-M/s400/DSCF0647.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;こちらは一緒に購入した10ピン-20ピン JTAGアダプタです。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;SWDをインターフェースとして使用する時に使います。&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yIqlgX3WLFQ/TwrKRkZI0BI/AAAAAAAABys/z3TalQ6CCSM/s1600/DSCF0643.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-yIqlgX3WLFQ/TwrKRkZI0BI/AAAAAAAABys/z3TalQ6CCSM/s400/DSCF0643.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;実は、Red Probe+内部にもSWD用ピンヘッダがあります。&lt;br /&gt;上記のアダプタの10ピンケーブルを、内部SWD用ピンヘッダに直接接続して使用する事も可能。&lt;br /&gt;その場合、20ピンJTAGケーブルは取り外しておいた方が良いでしょう。&lt;br /&gt;&lt;br /&gt;それらの情報はcode_red社のウェブから見る事ができます。&lt;br /&gt;&lt;a href="http://www.code-red-tech.com/red-probe-plus.php"&gt;http://www.code-red-tech.com/red-probe-plus.php&lt;/a&gt;&lt;br /&gt;&lt;a href="http://support.code-red-tech.com/CodeRedWiki/HardwareDebugConnections"&gt;http://support.code-red-tech.com/CodeRedWiki/HardwareDebugConnections&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;私はBlackTank(20ピン JTAGが出ている)でもこいつを使用する予定なのでアダプタを使用します。&lt;br /&gt;ちょっとケーブル部分が長いです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-HdN3_nOJcGw/TwrKXdG15MI/AAAAAAAABzE/zbIuGfMc8eY/s1600/DSCF0649.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-HdN3_nOJcGw/TwrKXdG15MI/AAAAAAAABzE/zbIuGfMc8eY/s400/DSCF0649.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;かかった費用はこちら。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-e6aPcL_kqdM/TwrKakGI27I/AAAAAAAABzM/G2Fe50JZsjE/s1600/DSCF0671.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-e6aPcL_kqdM/TwrKakGI27I/AAAAAAAABzM/G2Fe50JZsjE/s400/DSCF0671.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;なかなか大きな出費です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-i6Nh81cS7J0/TwrOvSE5K3I/AAAAAAAABzU/cfw3RbAuH4o/s1600/DSCF0672.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-i6Nh81cS7J0/TwrOvSE5K3I/AAAAAAAABzU/cfw3RbAuH4o/s400/DSCF0672.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;気になる使用感やLPC-LINKとの違いなどは後日レポートしたいと思います。&lt;br /&gt;&lt;br /&gt;有償のIDEであるRed Suiteを使った時に最大限メリットが出るような製品設計です。&lt;br /&gt;LPCXpressoと組み合わせた場合、どの程度メリットを享受する事ができるのでしょうか。&lt;br /&gt;その点を知りたいがためだけに購入したという人柱的企画です。&lt;br /&gt;&lt;br /&gt;LPC-LINKと同じだったらどうしよう・・・。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-3821906099966914286?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/3821906099966914286/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/red-probe.html#comment-form' title='1 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3821906099966914286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3821906099966914286'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/red-probe.html' title='Red Probe+を購入しました'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Ij9335ui47c/TwrKTn2nZ3I/AAAAAAAABy0/FphyXsHFQ70/s72-c/DSCF0645.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-3710648124351706333</id><published>2012-01-09T20:03:00.000+09:00</published><updated>2012-01-09T20:36:46.552+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FusionPCB'/><title type='text'>FusionPCBの基板発注から到着までの日数（DHL発送選択時）</title><content type='html'>&lt;span style="color: #444444; font-size: x-large;"&gt;工程を振り返ってみる&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;昨年末の12/29に&lt;a href="http://www.seeedstudio.com/depot/fusion-pcb-service-p-835.html"&gt;FusionPCB&lt;/a&gt;へ発注した基板が手元に届きました。&lt;br /&gt;今回はできるだけ早く基板が欲しかったのでDHLによる発送を指定。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6Rul7oq1iMA/TwrGDkRWDGI/AAAAAAAAByk/zHEuu77HgxM/s1600/DSCF0632.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-6Rul7oq1iMA/TwrGDkRWDGI/AAAAAAAAByk/zHEuu77HgxM/s400/DSCF0632.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ちょっと工程を振り返ってみましょう。&lt;br /&gt;&lt;br /&gt;12/29：発注&lt;br /&gt;12/30：オーダー受付 (1日目)&lt;br /&gt;&lt;span style="color: #999999;"&gt;12/31：土曜&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #999999;"&gt;01/01：日曜&lt;/span&gt;&lt;br /&gt;01/02：月曜 (2日目)&lt;br /&gt;01/03：火曜 (3日目)&lt;br /&gt;01/04：発送 (4日目)&lt;br /&gt;01/05：運送&lt;br /&gt;01/06：運送&lt;br /&gt;01/07：到着&lt;br /&gt;&lt;br /&gt;発注してから4営業日で発送された事になります。&lt;br /&gt;なかなか早いですね。&lt;br /&gt;&lt;br /&gt;中国は旧正月がお休みです。&lt;br /&gt;ということで日本のお正月とは関係なくお仕事をされているわけです。&lt;br /&gt;&lt;br /&gt;年末からお正月にかけての発注は、仕事量も減っていて例年素早く対応可能なのかもしれません。&lt;br /&gt;お正月にこたつでぬくぬくしながら研究したい場合、この時期の発注は検討の価値がありそうです。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;費用&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ちなみに費用は5cmx10cm MaxのコースでDHL送料込みで5千円前後でした。&lt;br /&gt;気長に基板の到着を待つ事を前提にDHLを選択しなければ半分くらいの費用で済みます。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;おまけ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;一緒に入っていたシートがこれ。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5TSW66YF2ps/TwrQfcJX2WI/AAAAAAAABzc/eTYIqXUX64w/s1600/DSCF0673.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-5TSW66YF2ps/TwrQfcJX2WI/AAAAAAAABzc/eTYIqXUX64w/s400/DSCF0673.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RI1vvJmrUPI/TwrQfxZS2vI/AAAAAAAABzg/swVuvZZd0eU/s1600/DSCF0674.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-RI1vvJmrUPI/TwrQfxZS2vI/AAAAAAAABzg/swVuvZZd0eU/s400/DSCF0674.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;一昔前、「中国」と「イノベーション」が一緒になるなんて誰も考えもしませんでした。&lt;br /&gt;「Innovate with China」がなんとなく真実味を帯びてきているような気もします。&lt;br /&gt;&lt;br /&gt;がんばれニッポン！&lt;br /&gt;（と言いながら中国の企業に基板を発注しているので、何とも言えません。）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-3710648124351706333?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/3710648124351706333/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/fusionpcbdhl.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3710648124351706333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3710648124351706333'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/fusionpcbdhl.html' title='FusionPCBの基板発注から到着までの日数（DHL発送選択時）'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-6Rul7oq1iMA/TwrGDkRWDGI/AAAAAAAAByk/zHEuu77HgxM/s72-c/DSCF0632.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-9120666146431320238</id><published>2012-01-09T15:22:00.000+09:00</published><updated>2012-01-09T08:58:34.742+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='小規模組み込みシステムプラットフォーム研究部会'/><category scheme='http://www.blogger.com/atom/ns#' term='小規模組み込みシステムプラットフォーム研究温泉'/><title type='text'>小規模組み込みシステムプラットフォーム研究開発温泉プレビュー</title><content type='html'>&lt;span style="color: #444444; font-size: x-large;"&gt;小規模組み込みシステムプラットフォーム研究開発温泉プレビューって何？&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;来週末に行なう&lt;a href="http://atnd.org/events/21520"&gt;小規模組み込みシステムプラットフォーム研究部会&lt;/a&gt;のノリで、温泉に一泊しながらグダグダ（ダラダラ？）各自が好きな研究に没頭する為の企画、小規模組み込みシステムプラットフォーム研究温泉なるものを検討しています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IxNiiUPhBGI/TwPr4wj2ERI/AAAAAAAABuQ/7ALwKmMXoZI/s1600/DSCF0597.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-IxNiiUPhBGI/TwPr4wj2ERI/AAAAAAAABuQ/7ALwKmMXoZI/s400/DSCF0597.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この企画は、伊豆か熱海かそこいらの温泉旅館に詰めかけて泊まり、研究専用部屋を設け、集ってガサゴソ研究するというもの。集うと言っても、同じ目標に向かってガサゴソするわけではなく、各自がやりたい事をやりたいようにやるモクモク会のようなものです。&lt;br /&gt;&lt;br /&gt;企画の性質上、どのくらい人が集まるのか？とか、そもそも泊まり込みでやる意味があるのか？とか色んな疑問が湧いてくるのでまずは実地実験する事にしました。&lt;br /&gt;名付けて「小規模組み込みシステムプラットフォーム研究温泉プレビュー」です。&lt;br /&gt;&lt;br /&gt;はっきり言って、泊まって作業してみないとどんな具合かなんてわかりません。&lt;br /&gt;なかなかお金のかかる実地実験ですが、面白そうなのでやってみる事にしました。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;どこまで行ったの？&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;今回は横浜から伊豆急下田までの遠征です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-j37IurBlSnw/TwoP8WC58gI/AAAAAAAABwE/bRUCyGEZt7Y/s1600/gotomap.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="278" src="http://4.bp.blogspot.com/-j37IurBlSnw/TwoP8WC58gI/AAAAAAAABwE/bRUCyGEZt7Y/s400/gotomap.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;実地実験会場は&lt;a href="http://www.baykuro.co.jp/"&gt;「下田ベイクロシオ」&lt;/a&gt;を選びました。&lt;br /&gt;ペリー艦隊が来航した湾の直ぐ近くです。&lt;br /&gt;伊豆あたりであれば何でも良かったので、今回は適当に選びました。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;旅の様子&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;まずは電車に乗り込んで移動します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ooCL8D0_lDI/TwoQRhmRBFI/AAAAAAAABwM/jmveUbC_Law/s1600/P1010182.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-ooCL8D0_lDI/TwoQRhmRBFI/AAAAAAAABwM/jmveUbC_Law/s400/P1010182.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;単なる移動では勿体ないので、早速コーディング。&lt;br /&gt;集中すればするほど酔いそうです。自分のコードに・・・ではなく、電車に・・・。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-AyjTVwsOseQ/TwoQY9dAhlI/AAAAAAAABwU/hGRkrgENTJ0/s1600/P1010181.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-AyjTVwsOseQ/TwoQY9dAhlI/AAAAAAAABwU/hGRkrgENTJ0/s400/P1010181.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;横浜から伊豆急下田までは、JR踊り子号を使って約2時間40分の旅です。&lt;br /&gt;黒船来航の港に到着。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VTz0nByvRW4/TwoRd4Ab7eI/AAAAAAAABwc/izHN1LvocbY/s1600/P1010188.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-VTz0nByvRW4/TwoRd4Ab7eI/AAAAAAAABwc/izHN1LvocbY/s400/P1010188.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ちょうどお昼時に到着したので、駅前でお食事。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gKfI69NsWBU/TwoRfvmOG7I/AAAAAAAABwk/pQaH18JQvvE/s1600/P1010198.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-gKfI69NsWBU/TwoRfvmOG7I/AAAAAAAABwk/pQaH18JQvvE/s400/P1010198.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;一夜干しをお土産に・・・なんて考えていると何しに来たんだか。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-T_p-eUkQHhQ/TwoRg34GePI/AAAAAAAABws/ftTAKp9kdEk/s1600/P1010199.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-T_p-eUkQHhQ/TwoRg34GePI/AAAAAAAABws/ftTAKp9kdEk/s400/P1010199.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今回のホテルはチェックインが3時だったので、しばし散策。&lt;br /&gt;ペリー艦隊にまつわる色々を見て回ります。&lt;br /&gt;&lt;br /&gt;こちらは1837年製のカノン砲。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fHk_upIEBbo/TwoSYHp4MjI/AAAAAAAABw0/rDJJHEMja8k/s1600/P1010207.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-fHk_upIEBbo/TwoSYHp4MjI/AAAAAAAABw0/rDJJHEMja8k/s400/P1010207.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;下田開国博物館を見学。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-AfiFxbGbB4k/TwoSYnuPLCI/AAAAAAAABw4/mzn97u0rqoQ/s1600/P1010219.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-AfiFxbGbB4k/TwoSYnuPLCI/AAAAAAAABw4/mzn97u0rqoQ/s400/P1010219.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ひなびた風景も楽しめます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CXcF1KcNQYI/TwoTPPlsnCI/AAAAAAAABxE/mXJqYktKGWY/s1600/P1010221.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-CXcF1KcNQYI/TwoTPPlsnCI/AAAAAAAABxE/mXJqYktKGWY/s400/P1010221.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;そうこうしているうちにチェックイン可能な時間になったので移動！&lt;br /&gt;ホテルからの景色を眺めてしばし休憩です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Y63mF83a994/TwoT5zGb7TI/AAAAAAAABxM/tezKayED7KE/s1600/P1010229.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-Y63mF83a994/TwoT5zGb7TI/AAAAAAAABxM/tezKayED7KE/s400/P1010229.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;休憩もつかの間、早速研究開発温泉の開始です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Wj3UbEG8-p0/TwoT6R0SFsI/AAAAAAAABxQ/IQULa3jnzNk/s1600/P1010248.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-Wj3UbEG8-p0/TwoT6R0SFsI/AAAAAAAABxQ/IQULa3jnzNk/s400/P1010248.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今回は小規模組み込みシステムで使用可能なBMP入出力モジュール、&lt;a href="http://sourceforge.jp/projects/tinybmpio/"&gt;「Tiny BMP I/Oモジュール」&lt;/a&gt;の設計と実装から。随分前から登録して放置していたプロジェクトです。このモジュールの詳細に関しては、また後日取り上げたいと思います。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-DyMqmtudJDA/TwoWWJ-RDEI/AAAAAAAABxc/Igk1_I7puP0/s1600/P1010245.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-DyMqmtudJDA/TwoWWJ-RDEI/AAAAAAAABxc/Igk1_I7puP0/s400/P1010245.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;集中して取り組んでいるとあっという間に時間が過ぎていきます。&lt;br /&gt;外の景色を見ると様子が変わっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-thl85tje_n4/TwoWrxqUkTI/AAAAAAAABxk/aUgVTLYDXuI/s1600/P1010249.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-thl85tje_n4/TwoWrxqUkTI/AAAAAAAABxk/aUgVTLYDXuI/s400/P1010249.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;作業の成果が出たところで気持ちの良い温泉や美味しい食事が待っているなんてなかなか洒落ています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-gW-m2vsA1KI/TwoXdlrAfhI/AAAAAAAABxs/e11SmSh5vhQ/s1600/P1010266.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-gW-m2vsA1KI/TwoXdlrAfhI/AAAAAAAABxs/e11SmSh5vhQ/s400/P1010266.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;海の幸で食事を楽しみます。&lt;br /&gt;普段の生活圏から離れ、普段と異なる食事。&lt;br /&gt;いつもと違う発想もここから生まれます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bG5Texo3HHg/TwoXeB0HOHI/AAAAAAAABxw/pHPPDEPoCUI/s1600/P1010268.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-bG5Texo3HHg/TwoXeB0HOHI/AAAAAAAABxw/pHPPDEPoCUI/s400/P1010268.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;食事や温泉を楽しんだ後は、またまたコーディングです。&lt;br /&gt;Tiny BMP I/O Moduleも元気に育ちました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Uv161Ni8H8o/TwoaraVYzyI/AAAAAAAABx8/kEIoOUwd0QM/s1600/capture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-Uv161Ni8H8o/TwoaraVYzyI/AAAAAAAABx8/kEIoOUwd0QM/s400/capture.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;実現するとしたら気になるところ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;今回のプレビュー工程によって得られた気になるところを挙げてみましょう。&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;あまり遠すぎない方が良い。&lt;/li&gt;&lt;li&gt;単なる宿泊施設でうまくやろうとしても無理。&lt;/li&gt;&lt;li&gt;一泊でやれることは限られている。&lt;/li&gt;&lt;li&gt;泊まり込む意義って？&lt;/li&gt;&lt;/ol&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fymTWaxdAl4/Twoje_IODnI/AAAAAAAAByE/olXR8czaghU/s1600/P1010427.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="224" src="http://4.bp.blogspot.com/-fymTWaxdAl4/Twoje_IODnI/AAAAAAAAByE/olXR8czaghU/s400/P1010427.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;「あまり遠すぎない方が良い」&lt;/span&gt;&lt;/div&gt;&lt;div&gt;今回は伊豆急下田まで行きましたが、片道約3時間は正直言って遠すぎました。&lt;/div&gt;&lt;div&gt;横浜から9時過ぎの列車に乗って到着するのが12時過ぎです。&lt;/div&gt;&lt;div&gt;仮に土日にかけて開催するとした場合、片道の移動だけで1/4の工程を過ぎてしまう事になります。これは勿体ない気がします。一泊ですから、時間を有効に使いたいところです。&lt;/div&gt;&lt;div&gt;電車の中でコーディングもしましたが、気持ち悪くなったりして「何やってんだか」という感じです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;「単なる宿泊施設でうまくやろうとしても無理」&lt;/span&gt;&lt;/div&gt;&lt;div&gt;宿泊施設は、「勉強会や会議をやる前提」になっている施設が必須と言えそうです。&lt;/div&gt;&lt;div&gt;今回のホテルは本当に「泊まるだけ」の前提でサービスが設計されています。&lt;/div&gt;&lt;div&gt;チェックインが3時でチェックアウトが10時です。&lt;/div&gt;&lt;div&gt;これでは温泉に入って食事をして寝る時間を差し引くと数時間しか作業時間が残りません。&lt;/div&gt;&lt;div&gt;どこかの部屋を「作業部屋」に設定する案もありますが、やはり寝室ともなる部屋は休む場所としてキープしたいところです。&lt;/div&gt;&lt;div&gt;単なる宿泊施設では、コンセントも少ないし、通信インフラも整っていない事も懸念材料の一つです。&lt;/div&gt;&lt;div&gt;&lt;div&gt;ちなみに、チェックアウト後に部屋を借りる相談をしたところ「１時間3,150円です。」とのこと。&lt;/div&gt;&lt;div&gt;まぁ、そうですよね。でも、これではちょっと辛いです。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;「一泊でやれることは限られている」&lt;/span&gt;&lt;/div&gt;&lt;div&gt;一泊でやれることは限られています。&lt;/div&gt;&lt;div&gt;私の場合、「今回はこれをやろう」とある程度材料を持ち込んで作業しました。&lt;/div&gt;&lt;div&gt;材料は3つくらい用意して現地入りしましたが、実現できたのは1つだけ。&lt;/div&gt;&lt;div&gt;放置作業だったので気分はスッキリしました。&lt;/div&gt;&lt;div&gt;人ひとりが一泊でやれることは限られています。&lt;/div&gt;&lt;div&gt;次に挙げる「泊まり込む意義って？」と合わせて価値を見出すのが良さそうです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;「泊まり込む意義って？」&lt;/span&gt;&lt;/div&gt;&lt;div&gt;普段長い時間話す事のできない人たちと、ノンビリした雰囲気の中で情報交換ができるという事でしょう。湯船の中で組み込み談義なんて普通はあり得ません。ちょっと違った視点で物事を見るチャンスと言えます。&lt;/div&gt;&lt;div&gt;一泊でやれることは限られますが、周囲の参加者が取り組んでおられる事や問題を観察する事で、自分にない異なる視点やアプローチを見つける事ができるかもしれません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;実現で得られるメリット&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今回のプレビュー工程で感じられたメリットについて整理してみましょう。&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;着手できていなかった事に着手する絶好の機会。&lt;/li&gt;&lt;li&gt;温泉が良い！食事が美味しい！景色が良い！&lt;/li&gt;&lt;li&gt;その他&lt;/li&gt;&lt;/ol&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-wNrrjHEF1Nk/Twoj65myfeI/AAAAAAAAByU/1efEDRgUB9Q/s1600/P1010437.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-wNrrjHEF1Nk/Twoj65myfeI/AAAAAAAAByU/1efEDRgUB9Q/s400/P1010437.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;「着手できていなかった事に着手する絶好の機会。」&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;やはり一泊の工程で何かをやろうとした場合、それなりの目的意識が必要です。&lt;/div&gt;&lt;div&gt;そういえば「あれ」やってないな、といった素材を持ち寄れば気になっていた事が片付いたりしてスッキリできます。&lt;/div&gt;&lt;div&gt;一泊のバッチサイズですから規模は限られます。&lt;/div&gt;&lt;div&gt;ですが、目的を明確にし、他の参加者との交流もできると考えると、かなり身になる機会と言えるでしょう。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;「温泉が良い！食事が美味しい！景色が良い！」&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;もうネタですね。でも、これがあるから目的達成への動機にも成り得ます。&lt;/div&gt;&lt;div&gt;普段の生活から離れてリフレッシュできるメリットも。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;「その他」&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;これはもう参加者の相乗効果によるものです。&lt;/div&gt;&lt;div&gt;意図をもって提供できない何かが得られる可能性があります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;ちょっと良さそうな場所&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;以前、&lt;a href="https://twitter.com/#!/ssci"&gt;@ssciさん&lt;/a&gt;から&lt;a href="http://housenkaku.atami-spa.com/"&gt;熱海温泉「芳泉閣」&lt;/a&gt;をお勧め頂きました。&lt;/div&gt;&lt;div&gt;チェックインが12時でチェックアウトが11時。&lt;/div&gt;&lt;div&gt;「学生合宿 企業向け少人数研修宿泊施設」とあって、そのために行けるところが嬉しいです。&lt;/div&gt;&lt;div&gt;無料のLAN接続設備やホワイトボード、プロジェクタなども完備です。&lt;/div&gt;&lt;div&gt;これは良さそう。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;まとめ&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今回の企画、「小規模組み込みシステムプラットフォーム研究開発温泉」を、思い立ちのまま実現するとわけがわからなくなりそうです。&lt;/div&gt;&lt;div&gt;今回はプレビュー版として実地調査をしてみました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;色んな気分転換にもなりますし、普段の生活圏を離れる効果もあって集中できる環境が用意できる事は間違いありません。&lt;/div&gt;&lt;div&gt;機会があれば是非実現してみたい企画の一つです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;あ、以前考えていた名称は「小規模組み込みシステム開発温泉」なのですね・・・。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UVbjUcJRI_0/TwolmHLzfOI/AAAAAAAAByc/2y4WzW3Vzmg/s1600/tweet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="42" src="http://3.bp.blogspot.com/-UVbjUcJRI_0/TwolmHLzfOI/AAAAAAAAByc/2y4WzW3Vzmg/s400/tweet.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;まぁ、どちらでも良いか・・・。&lt;/div&gt;略称は「組み込み開発温泉」かな。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-9120666146431320238?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/9120666146431320238/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blog-post_04.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/9120666146431320238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/9120666146431320238'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blog-post_04.html' title='小規模組み込みシステムプラットフォーム研究開発温泉プレビュー'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-IxNiiUPhBGI/TwPr4wj2ERI/AAAAAAAABuQ/7ALwKmMXoZI/s72-c/DSCF0597.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-2012849842915859159</id><published>2012-01-07T06:45:00.000+09:00</published><updated>2012-01-07T06:46:54.930+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='板金'/><category scheme='http://www.blogger.com/atom/ns#' term='筺体'/><title type='text'>筺体設計で自作機器のお洒落度をアップしよう！</title><content type='html'>&lt;span style="color: #444444; font-size: x-large;"&gt;先日の記事への突っ込み&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://shinta-main-jp.blogspot.com/2012/01/cubeatsystems-2006.html"&gt;先日の記事&lt;/a&gt;で「こんなの作っていました」と書きましたが、記事を見て頂いた人にとって有益になる情報は一つもありませんでした。&lt;br /&gt;「こんなの出来るでぇ～。」という感じで「何だそれ？」と言いたくなります。&lt;br /&gt;本来、CuBeatSystemsのブログは皆様の物作りに役立つ何かを発信したいわけです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-D1VVAfXZnNI/TwdpzihR_oI/AAAAAAAABv8/qeOpm1fbdY8/s1600/PICT0003.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-D1VVAfXZnNI/TwdpzihR_oI/AAAAAAAABv8/qeOpm1fbdY8/s320/PICT0003.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;そこで、「どこに発注したの？」とか「どんなツールで図面を書いたの？」とかそんなところを「よくある質問に対する回答」という形で明らかにしたいと思います。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;よくある質問&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: large;"&gt;▼どこに発注したの？&lt;/span&gt;&lt;br /&gt;山形県にある&lt;a href="http://www.nagai-giken.com/"&gt;有限会社 長井技研&lt;/a&gt;さんにお願いしました。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: large;"&gt;▼&lt;/span&gt;&lt;span style="color: #444444; font-size: large;"&gt;どんなスペックですか？&lt;/span&gt;&lt;br /&gt;長井技研さんの管理されているサイト(&lt;a href="http://www.bkeye.com/"&gt;板金加工eye&lt;/a&gt;)に掲載されています。&lt;br /&gt;「&lt;a href="http://www.bkeye.com/al/al07.html"&gt;アルミボックス電気回路収納用（個人様 趣味用）&lt;/a&gt;」を御覧下さい。&lt;br /&gt;&lt;br /&gt;このページには、私が最初に出した設計と、それに対する改善提案の内容が記載されています。&lt;br /&gt;長井技研さんからの提案によって、より安価に安定した品質で仕上げる事が可能になりました。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: large;"&gt;▼&lt;/span&gt;&lt;span style="color: #444444; font-size: large;"&gt;CADは何を使ったの？&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.rootprocad.com/"&gt;RootPro CAD&lt;/a&gt;の&lt;a href="http://www.rootprocad.com/download/dl.html#standarddl"&gt;Free版&lt;/a&gt;を使用しました。(このアプリケーションは、当時別名前でした。)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: large;"&gt;▼&lt;/span&gt;&lt;span style="color: #444444; font-size: large;"&gt;どのくらいの費用がかかりましたか？&lt;/span&gt;&lt;br /&gt;赤アルマイト加工を含めて数万円です。(すみません。詳細は本当に忘れました。ごめんなさい。)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: large;"&gt;▼&lt;/span&gt;&lt;span style="color: #444444; font-size: large;"&gt;試作やリピートに対応してくれましたか？&lt;/span&gt;&lt;br /&gt;はい。&lt;br /&gt;私は先の設計を試作で１台、リピートでもう１台作りました。&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #444444; font-size: x-large;"&gt;筺体設計で自作機器のお洒落度をアップするメリット&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;所詮自分だけが使うもの・・・と割り切るのも良いのですが、基板むき出しのままですと気分が盛り上がりません。&lt;br /&gt;筺体設計を行なった上で良い対応をしてくれる板金屋さんが見つかれば、自作機器の仕上がりを満足のいくまで高める事も夢ではありません。&lt;br /&gt;&lt;br /&gt;数万円は時に非常に高価な投資です。&lt;br /&gt;しかし、他人の作った誰でも持っている電子機器を数万円で購入する事を考えれば、満足のいく仕上がりを自作機器でも得られる良い投資と言える気がします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-2012849842915859159?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/2012849842915859159/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blog-post_07.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/2012849842915859159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/2012849842915859159'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blog-post_07.html' title='筺体設計で自作機器のお洒落度をアップしよう！'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-D1VVAfXZnNI/TwdpzihR_oI/AAAAAAAABv8/qeOpm1fbdY8/s72-c/PICT0003.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-2812726743917843229</id><published>2012-01-05T21:08:00.003+09:00</published><updated>2012-01-05T21:08:33.523+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='B015 : Repair man&apos;s light'/><category scheme='http://www.blogger.com/atom/ns#' term='Break time'/><category scheme='http://www.blogger.com/atom/ns#' term='板金'/><category scheme='http://www.blogger.com/atom/ns#' term='筺体'/><title type='text'>CuBeatSystemsの製作事例 (2006年の品)</title><content type='html'>先日の大掃除で出てきたデータの中からもう一つ。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;この装置は2006年の設計。&lt;/div&gt;&lt;div&gt;管楽器の修理屋さんから頼まれた装置です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;板金は加工業者に図面を渡して作ってもらった物。&lt;/div&gt;&lt;div&gt;赤アルマイト仕上げでお金がかなりかかっています。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-4N09QB7tLPI/TwWQFKyUWII/AAAAAAAABvY/VHzOhdtKQzY/s1600/PICT0014.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-4N09QB7tLPI/TwWQFKyUWII/AAAAAAAABvY/VHzOhdtKQzY/s400/PICT0014.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;現場のハードな使用にも耐えられるように設計しました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-tsMr4VigG8I/TwWQMQFIbkI/AAAAAAAABvg/3NT4ITBBfRc/s1600/PICT0003.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-tsMr4VigG8I/TwWQMQFIbkI/AAAAAAAABvg/3NT4ITBBfRc/s400/PICT0003.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こんな感じで外装に気を配ると結構良い感じの仕上がりに見えます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IBgdDPq3rr4/TwWQM0OtJpI/AAAAAAAABvk/GbAoOsfBbA0/s1600/PICT0007.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-IBgdDPq3rr4/TwWQM0OtJpI/AAAAAAAABvk/GbAoOsfBbA0/s400/PICT0007.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;大掃除で過去のプロジェクトを見てみると「昔の方が気合いが入っていたのでは？」なんて思ってしまいます。ちょっと反省モード。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;でも色々と見えてくるものもあります。&lt;/div&gt;&lt;div&gt;この頃は機械図面も書いていました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Ly4CCXP91yo/TwWSaEnW_pI/AAAAAAAABv0/OwW2hmfgz4s/s1600/b015-body.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://2.bp.blogspot.com/-Ly4CCXP91yo/TwWSaEnW_pI/AAAAAAAABv0/OwW2hmfgz4s/s400/b015-body.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;しばらくご無沙汰しているのですが「本当のユーザが使う装置」も設計してみたいですね。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-2812726743917843229?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/2812726743917843229/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/cubeatsystems-2006.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/2812726743917843229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/2812726743917843229'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/cubeatsystems-2006.html' title='CuBeatSystemsの製作事例 (2006年の品)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-4N09QB7tLPI/TwWQFKyUWII/AAAAAAAABvY/VHzOhdtKQzY/s72-c/PICT0014.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4932025627947599319</id><published>2012-01-02T08:34:00.001+09:00</published><updated>2012-01-02T08:34:11.019+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Break time'/><title type='text'>CuBeatSystemsの名前の由来</title><content type='html'>CuBeatSystemsとは、CubeとBeatとSystemsによる造語で、「キュービートシステムズ」と読みます。&lt;br /&gt;キューブ形状のビートを発生させる装置の開発を始めたのがきっかけで付いた名称です。&lt;br /&gt;&lt;br /&gt;年末の大掃除できっかけとなった装置の写真が見つかったので掲載します。&lt;br /&gt;撮影は2002年3月31日ということなのでもう10年前ですね。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zM11IsiDqY4/TwDr6vEk7eI/AAAAAAAABt4/dzmBKnM-k7A/s1600/CuBeat.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-zM11IsiDqY4/TwDr6vEk7eI/AAAAAAAABt4/dzmBKnM-k7A/s400/CuBeat.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;まぁ、メトロノームなのですが、モンテューノを練習するためのシーケンスを出力できたり、ありがちな耳の痛い電子音を排除したりと独自の工夫を凝らした物になっていました。&lt;br /&gt;この装置は実際にお二人にお譲りして使って頂きました。&lt;br /&gt;&lt;br /&gt;EXIFを見ると当時の時代を反映しています。&lt;br /&gt;OLYMPUSのC990Zで撮影した画像です。&lt;br /&gt;当時学生だった私は、デジタルカメラなど持っているはずもなく、実家にあったデジタルカメラを借用してドキュメントなどを手作りしていました。&lt;br /&gt;&lt;br /&gt;会社を作る予定もないのに会社のロゴを考えたりしていたものです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3VvRxnSJHtM/TwDs5WTj-FI/AAAAAAAABuE/jp1pzIv7lxY/s1600/Clogo.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-3VvRxnSJHtM/TwDs5WTj-FI/AAAAAAAABuE/jp1pzIv7lxY/s320/Clogo.bmp" width="317" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こうして見ると古い記録というのは、面白いですね。&lt;br /&gt;当時実現していたものとか、何を考えていたのかの一端が見えて懐かしくなったりします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4932025627947599319?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4932025627947599319/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/cubeatsystems.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4932025627947599319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4932025627947599319'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/cubeatsystems.html' title='CuBeatSystemsの名前の由来'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-zM11IsiDqY4/TwDr6vEk7eI/AAAAAAAABt4/dzmBKnM-k7A/s72-c/CuBeat.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-7501682094445631661</id><published>2012-01-02T07:24:00.003+09:00</published><updated>2012-01-02T07:29:01.122+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Break time'/><title type='text'>本年もよろしくお願い致します</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-coDGmAbt9RA/TwDc-AIN74I/AAAAAAAABts/oLrYj0g_m4U/s1600/HappyNewYear2012.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-coDGmAbt9RA/TwDc-AIN74I/AAAAAAAABts/oLrYj0g_m4U/s400/HappyNewYear2012.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今年は、「&lt;a href="http://atnd.org/events/21520"&gt;小規模組み込みシステムプラットフォーム研究部会 ～近代文学施設でモクモクと組み込みシステムプラットフォームを研究しよう～&lt;/a&gt;」からスタートです。&lt;br /&gt;&lt;br /&gt;その前の週は、徐々に構想を温めつつある企画、組み込みエンジニアが温泉を楽しみながらダラダラ研究をする「組み込み温泉」のシミュレーションをしてくる予定です。&lt;br /&gt;&lt;br /&gt;本年もよろしくお願い致します。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-7501682094445631661?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/7501682094445631661/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/7501682094445631661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/7501682094445631661'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2012/01/blog-post.html' title='本年もよろしくお願い致します'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-coDGmAbt9RA/TwDc-AIN74I/AAAAAAAABts/oLrYj0g_m4U/s72-c/HappyNewYear2012.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-8310350340501674079</id><published>2011-12-11T17:51:00.001+09:00</published><updated>2011-12-11T18:10:57.769+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='B063: BlackTank'/><title type='text'>ディジタル・オーディオ実験用基板BlackTankの進捗状況</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;BlackTankは忘れた頃にやってくる・・・&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BwlyKEwT3Pw/TuRveUk1AiI/AAAAAAAABsg/9-ps5fsDGbU/s1600/logo.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://4.bp.blogspot.com/-BwlyKEwT3Pw/TuRveUk1AiI/AAAAAAAABsg/9-ps5fsDGbU/s200/logo.bmp" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;MTM07で勢い余って展示しておいたBlackTankですが、急にやる気が出てきました。&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;私は、基板をスクエアーに作ってその中に機能を美しく詰め込むのが大好きです。&lt;/div&gt;&lt;div&gt;BlackTankも例に漏れずそんな感じで作ったオーディオ基板です。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mDGyRLGpkw4/TuRwHrdN5uI/AAAAAAAABso/t3Y5xZfnbaY/s1600/board-photo-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-mDGyRLGpkw4/TuRwHrdN5uI/AAAAAAAABso/t3Y5xZfnbaY/s400/board-photo-1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;と言っても、音質などは二の次で、とにかく色々楽しもうと色々欲張った感じになっています。&lt;/div&gt;&lt;div&gt;以下は、部品面、内層１、内層２、半田面の配線です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-zZKvLb0baVE/TuRwn1UFOmI/AAAAAAAABsw/d9iR2a7TdY0/s1600/component-side.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://3.bp.blogspot.com/-zZKvLb0baVE/TuRwn1UFOmI/AAAAAAAABsw/d9iR2a7TdY0/s400/component-side.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-W0bD83gRhww/TuRwoVlvx6I/AAAAAAAABs0/voSTnzSs3EI/s1600/inner-layer1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://1.bp.blogspot.com/-W0bD83gRhww/TuRwoVlvx6I/AAAAAAAABs0/voSTnzSs3EI/s400/inner-layer1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_qbuRijyvHk/TuRwo7ive2I/AAAAAAAABs8/uU_Q9rJhmaA/s1600/inner-layer2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://1.bp.blogspot.com/-_qbuRijyvHk/TuRwo7ive2I/AAAAAAAABs8/uU_Q9rJhmaA/s400/inner-layer2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--3bWhwh5dDw/TuRwph17i6I/AAAAAAAABtI/wAYaYdy0B5w/s1600/solder-side.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://4.bp.blogspot.com/--3bWhwh5dDw/TuRwph17i6I/AAAAAAAABtI/wAYaYdy0B5w/s400/solder-side.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;この基板は、酔漢さんが進められておられるオーディオ・フレームワーク&lt;a href="http://sourceforge.jp/projects/uzume/"&gt;UZUME&lt;/a&gt;を利用できるように設計してあります。どうもMTM08には出展されるという事なので、BlackTankとしても出撃できるように準備をゆっくり開始する事にしました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今日は久しぶりの通電と開発環境の確認です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;以前はOpenOCDを使ってデバッグしていたのですが、SWDを使った開発環境の方が手軽でした。&lt;/div&gt;&lt;div&gt;そこで、LPCXpressoのデバッガ側とターゲット側を切り離し、デバッガ側からそのままBlackTankに接続してデバッグする方針に変更です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-rzLaNaY4yXk/TuRyFPwHa0I/AAAAAAAABtQ/UEZ6BktI7Wo/s1600/DSCF0550.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-rzLaNaY4yXk/TuRyFPwHa0I/AAAAAAAABtQ/UEZ6BktI7Wo/s400/DSCF0550.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BlackTankでは、20ピンのJTAGを出しておいたので、そのままSWDによるデバッグも可能です。&lt;/div&gt;&lt;div&gt;このまま具合が良ければ、次回以降の設計でSWDの10ピンコネクタだけにするかもしれません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-rlvbLxF6DXg/TuRzcMEPw_I/AAAAAAAABtY/FBfKX_iU4RM/s1600/BlackTankLogoOnOLED.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-rlvbLxF6DXg/TuRzcMEPw_I/AAAAAAAABtY/FBfKX_iU4RM/s400/BlackTankLogoOnOLED.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-8310350340501674079?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/8310350340501674079/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/12/blacktank.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8310350340501674079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8310350340501674079'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/12/blacktank.html' title='ディジタル・オーディオ実験用基板BlackTankの進捗状況'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-BwlyKEwT3Pw/TuRveUk1AiI/AAAAAAAABsg/9-ps5fsDGbU/s72-c/logo.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-6180938181089900070</id><published>2011-12-11T17:26:00.001+09:00</published><updated>2011-12-11T17:49:04.047+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MTM07'/><title type='text'>MTM07出展報告</title><content type='html'>もう１週間が過ぎてしまいましたが、&lt;a href="http://www.oreilly.co.jp/mtm/07/"&gt;MTM07&lt;/a&gt;の出展報告です。&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;UZUMEオーディオ・フレームワーク開発用基板&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceforge.jp/projects/uzume/"&gt;UZUME&lt;/a&gt;は、&lt;a href="http://d.hatena.ne.jp/suikan+embedded/"&gt;酔漢さん&lt;/a&gt;が進められているオーディオ・フレームワークで、リアルタイム処理をフレームワーク側で遮蔽して、ユーザがオーディオ・アルゴリズムの実装に集中できるという素敵なコンセプトを持っています。&lt;br /&gt;&lt;br /&gt;BlackTankは、オーディオ・コーデックを搭載したオーディオ・フレームワーク開発用基板で、パラメータ調整に必要な４系統のスイッチやボリューム、ちょっとした息抜きに便利な有機ELディスプレイなどを搭載しています。&lt;br /&gt;&lt;br /&gt;実は一か所バグがあってファームウェア開発のテンションが下がり気味でした。&lt;br /&gt;MTM07への出展によって幾つかの気づきがあったので開発再開の予定です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-EHkZbxhc1wQ/TuRqj1zhfNI/AAAAAAAABsA/KduVDt1oj24/s1600/P1010020.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-EHkZbxhc1wQ/TuRqj1zhfNI/AAAAAAAABsA/KduVDt1oj24/s400/P1010020.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Natural Tiny Shell&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://shinta-main-jp.blogspot.com/search/label/Natural%20Tiny%20Shell"&gt;Natural Tiny Shell&lt;/a&gt;は、MTMには全く相応しくない「地味すぎるネタ」として展示しました。&lt;br /&gt;&lt;br /&gt;殆どの人は「何これ？」という感じでしたが、スタッフが熱心に説明してくれたのと、「おっ！VT100というのに惹かれましたがこれは？」というその筋の方によって意外に人気のあった展示です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-3I73DChbjY8/TuRqkUJsWSI/AAAAAAAABsE/WdpgS7bRklo/s1600/P1010021.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-3I73DChbjY8/TuRqkUJsWSI/AAAAAAAABsE/WdpgS7bRklo/s400/P1010021.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;LPCXpresso Clock&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;こちらは&lt;a href="http://www.youtube.com/watch?v=QK47PUnpEp4"&gt;LPCXpresso Clock&lt;/a&gt;です。&lt;br /&gt;今年は５月頃から全く身動きが取れないくらい色々忙しかったので、息抜きプロジェクトで作りました。GT-720Fで受信した時刻情報をそのまま表示という展示。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-d8_Kgvy82R4/TuRqkxdjaUI/AAAAAAAABsM/L11yTgLKlIs/s1600/P1010022.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-d8_Kgvy82R4/TuRqkxdjaUI/AAAAAAAABsM/L11yTgLKlIs/s400/P1010022.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;お菓子コーナー&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;そして、CuBeatSystemsブース恒例のお菓子コーナー。&lt;br /&gt;間違って夫についてきてしまった奥様方やお子様に人気でした。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-R1jrgjI2C2I/TuRqlsYWX3I/AAAAAAAABsY/kx_6L-PB6hU/s1600/P1010023.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-R1jrgjI2C2I/TuRqlsYWX3I/AAAAAAAABsY/kx_6L-PB6hU/s400/P1010023.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今回は積極的に色々してくれるスタッフに助けられました。&lt;br /&gt;スタッフさんありがとう。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-6180938181089900070?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/6180938181089900070/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/12/mtm07_11.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6180938181089900070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6180938181089900070'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/12/mtm07_11.html' title='MTM07出展報告'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-EHkZbxhc1wQ/TuRqj1zhfNI/AAAAAAAABsA/KduVDt1oj24/s72-c/P1010020.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-1443270608141623339</id><published>2011-12-02T21:06:00.001+09:00</published><updated>2011-12-02T21:24:56.368+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MTM07'/><title type='text'>薄暗くなること間違いなし！MTM07の展示内容</title><content type='html'>さて、明日から２日間に渡って東京工業大学にて&lt;a href="http://jp.makezine.com/blog/2011/12/mtm07.html"&gt;Make: Tokyo Meeting 07&lt;/a&gt;が開催されます。&lt;br /&gt;CuBeatSystemsも半ば惰性で出展します。おぉ、こんなはずでは。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-m553Id9PSD8/TqN7LibV4NI/AAAAAAAABkE/6Luk7lbouV4/s1600/mtm07_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="55" src="http://4.bp.blogspot.com/-m553Id9PSD8/TqN7LibV4NI/AAAAAAAABkE/6Luk7lbouV4/s400/mtm07_logo.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;先日触れたとおり、&lt;a href="http://atnd.org/events/17595"&gt;「LPCXpresso横浜お楽しみ部会」&lt;/a&gt;の勢いに乗る予定でしたが、ついでに&lt;a href="http://atnd.org/events/21520"&gt;「小規模組み込みシステムプラットフォーム研究部会」&lt;/a&gt;も触れておこうとか、「日頃のマイコンいじりできない欲求を解消しよう」とかで、既に何者なのかわからなくなっています。&lt;br /&gt;&lt;br /&gt;当日は、歩き回ってお疲れの皆様を癒すべく、「素敵な笑顔のスタッフと、むさ苦しい私がパソコンと睨めっこ。」というシュールな設定のブースでお出迎えする予定です。&lt;br /&gt;&lt;br /&gt;以下はブースの完成イメージ図です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Q6JnoKKLFsQ/TtjAuwNeRSI/AAAAAAAABr4/O6ltHldGRo4/s1600/usugura.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-Q6JnoKKLFsQ/TtjAuwNeRSI/AAAAAAAABr4/O6ltHldGRo4/s400/usugura.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;プログラムガイドは&lt;a href="http://www.oreilly.co.jp/pub/make/MTM07_program_1128.pdf"&gt;「こちら」&lt;/a&gt;をご覧下さい。&lt;br /&gt;オライリージャパンさんの公式サイトは&lt;a href="http://www.oreilly.co.jp/mtm/07/"&gt;「こちら」&lt;/a&gt;です。&lt;br /&gt;&lt;br /&gt;当日は二人とも「うーん。」とか「あれぇ～。」とか言いながら、さして難しくもない課題に永遠と悩み続ける姿を皆様にお届けする予定です。&lt;br /&gt;&lt;br /&gt;会場でお会いできる事を楽しみにしております。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-1443270608141623339?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/1443270608141623339/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/12/mtm07.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1443270608141623339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1443270608141623339'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/12/mtm07.html' title='薄暗くなること間違いなし！MTM07の展示内容'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-m553Id9PSD8/TqN7LibV4NI/AAAAAAAABkE/6Luk7lbouV4/s72-c/mtm07_logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-5838551301503355240</id><published>2011-11-27T20:33:00.001+09:00</published><updated>2011-11-28T07:29:51.889+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso'/><category scheme='http://www.blogger.com/atom/ns#' term='GT-720F'/><title type='text'>GPSモジュールGT-720Fの設定コマンドと応答</title><content type='html'>&lt;h1&gt;忘却の彼方のGPSモジュール&lt;/h1&gt;いつだったか忘れましたが、随分前に購入してそれっきりだった&lt;a href="http://akizukidenshi.com/catalog/g/gM-02711/"&gt;GPSモジュールGT-720F&lt;/a&gt;を引っ張り出してきました。&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-PlZ_fJY8jpw/TtInHGb4jkI/AAAAAAAABqg/G2h_tQlnV1M/s1600/DSCF0482.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-PlZ_fJY8jpw/TtInHGb4jkI/AAAAAAAABqg/G2h_tQlnV1M/s400/DSCF0482.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;特にこのモジュールを使いたい強い動機はないのですが、&lt;a href="http://sourceforge.jp/projects/toppersasp4lpc/"&gt;TOPPERS/ASP for LPC&lt;/a&gt;のUART系のデバッグに色々繋いで確かめたいというのと、どうせデバッグするなら「何か本当に使っている感じが欲しい」という事からの再登場です。（本当に使っている感じにするのは、成果物をより実用的なものにする意図があります。）&lt;br /&gt;&lt;br /&gt;先日の&lt;a href="http://atnd.org/events/17595"&gt;「LPCXpresso横浜お楽しみ部会」&lt;/a&gt;にあわせて適当に仕立てた時、（どうでも良いけど）気になる事があったので調べる事にしました。（私の場合、本当に些細でどうでも良い事が気になって大事な時間を使ってしまったりして何だか残念な感じです。）&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;（どうでも良いけど）気になる事&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;「データ・シート」と言われているPDFに設定コマンドの仕様が書かれていない。&lt;/li&gt;&lt;li&gt;「SkyTraq(付属アプリケーション)では設定できるけど、マイコンからはできない。」と主張している人がいる。&lt;/li&gt;&lt;li&gt;それっぽいPDFは見つかるが、GT-720Fで使えるのかわからない。&lt;/li&gt;&lt;li&gt;誰もあまり調べてない。&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;まぁ、GPSと言えば&lt;a href="http://www.u-blox.com/"&gt;u-blox&lt;/a&gt;でしょという感じで、このモジュールにそれほど時間をかける意味もないのですが、気にしなくて良いや、と思えば思うほど、どんどん気になってくるのです。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h1&gt;とりあえず調べる&lt;/h1&gt;&lt;div&gt;コマンドのやり取りに関する「それっぽいPDF」は見つかったので、それを参考にアプリケーションとGPSの通信を見てみます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;下のやりとりは、Configuration NMEA Messageコマンドです。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;以下のメッセージは、SkyTraqのNMEAメッセージ編集画面で設定を実行した時に、アプリケーションからGPSモジュールに投げられるコマンドです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nrVXvroxsrs/TtIkt26w-CI/AAAAAAAABp4/0r9yZCq-AL8/s1600/to-gps-configure-nmea-message.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="48" src="http://2.bp.blogspot.com/-nrVXvroxsrs/TtIkt26w-CI/AAAAAAAABp4/0r9yZCq-AL8/s400/to-gps-configure-nmea-message.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;さて、GPSモジュールからは２つのパケットが返ってきました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VsYZmhL4FGA/TtImHgTnalI/AAAAAAAABqI/2tvtwVvbcfc/s1600/from-gps-no-1-configure-nmea-message.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="50" src="http://3.bp.blogspot.com/-VsYZmhL4FGA/TtImHgTnalI/AAAAAAAABqI/2tvtwVvbcfc/s400/from-gps-no-1-configure-nmea-message.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-h2z8C3ioCQc/TtImLaSdpKI/AAAAAAAABqQ/jaNn9QZkUQA/s1600/from-gps-no-2-configure-nmea-message.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="51" src="http://4.bp.blogspot.com/-h2z8C3ioCQc/TtImLaSdpKI/AAAAAAAABqQ/jaNn9QZkUQA/s400/from-gps-no-2-configure-nmea-message.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;さて、ウェブに転がっていたApplication Note AN0003&amp;nbsp;Binary Messages Of SkyTraq Venus 5 GPS Receiver&amp;nbsp;Ver 0.3 Feb. 1, 2007と比較してみます。(Start of SequenceとEnd of Sequenceを黄色で囲ってあります。)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;以下の通り、メッセージのフォーマットが一致している事がわかります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Z0qCjjeKaek/TtIlWg79eqI/AAAAAAAABqA/wA994sTnKnk/s1600/binary-message-structure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://3.bp.blogspot.com/-Z0qCjjeKaek/TtIlWg79eqI/AAAAAAAABqA/wA994sTnKnk/s400/binary-message-structure.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Configure NMEA Messageのペイロードの仕様は、以下のように記述されていました。&lt;/div&gt;&lt;div&gt;どうやらこのPDFの内容と完全に一致するようです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-v9IN7omkPXw/TtIn2Df2rnI/AAAAAAAABqo/jr8V3oyhGsU/s1600/config-nmea-message.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="321" src="http://2.bp.blogspot.com/-v9IN7omkPXw/TtIn2Df2rnI/AAAAAAAABqo/jr8V3oyhGsU/s400/config-nmea-message.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ACKの場合、要求に応じてACK応答の後に情報を返してくるようになっています。&lt;/div&gt;&lt;div&gt;これは、先の結果どおりです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-cSOXLi6mBNk/TtImpgTU2QI/AAAAAAAABqY/MyJOK8_izQY/s1600/message-flow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-cSOXLi6mBNk/TtImpgTU2QI/AAAAAAAABqY/MyJOK8_izQY/s400/message-flow.png" width="326" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;このように、それっぽいPDFの内容と一致していそうという事がわかりました。&lt;/div&gt;&lt;div&gt;それではということで、マイコンに以下のようなインターフェースを実装してみました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-uNRowLVQNUo/TtIoj_jAdfI/AAAAAAAABqw/dHcjVV7I9pk/s1600/gt-720f-lib.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-uNRowLVQNUo/TtIoj_jAdfI/AAAAAAAABqw/dHcjVV7I9pk/s400/gt-720f-lib.png" width="246" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;とにかくマイコン上のアプリケーションからこのインターフェースを呼べば、SkyTraqと同じ設定が可能になるというわけです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;試しにVTGのみ1秒に設定し、その他を0(出力なし)にしてみました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-k8uc6fi4c9I/TtIpNrTGjQI/AAAAAAAABq4/nrgJ_CQzbPM/s1600/vtg-output.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-k8uc6fi4c9I/TtIpNrTGjQI/AAAAAAAABq4/nrgJ_CQzbPM/s320/vtg-output.png" width="223" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;どうやら制御できているようです。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;h1&gt;ということで&lt;/h1&gt;&lt;div&gt;ということで、GT-720Fの設定はSkyTraqからだけでなく、当然のようにマイコンからも可能である事がわかりました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;まぁ、だからなんだという感じですが、特別に摩訶不思議なシーケンスがあるわけではない、という事がわかってスッキリしました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;モジュールに対して、永続的に設定を書き込みたいわけではないけど使いたい設定がある場合には、やはりマイコンから直接操作してやりたいものです。&lt;/div&gt;&lt;div&gt;コマンドの中にはバージョンを取得するインターフェースもあるので、GPSモジュールのバージョンを調べるのも良いかもしれません。&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-5838551301503355240?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/5838551301503355240/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/11/gpsgt-720f.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5838551301503355240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5838551301503355240'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/11/gpsgt-720f.html' title='GPSモジュールGT-720Fの設定コマンドと応答'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-PlZ_fJY8jpw/TtInHGb4jkI/AAAAAAAABqg/G2h_tQlnV1M/s72-c/DSCF0482.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4235201742937400899</id><published>2011-11-27T09:37:00.001+09:00</published><updated>2011-11-27T12:27:39.709+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lolipop'/><category scheme='http://www.blogger.com/atom/ns#' term='redmine'/><title type='text'>タダ同然で自分専用のバグ・トラッキング・システムを立てたい (レンタル・サーバー「ロリポップ」上にRedmineを仕立てる)</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;タダ同然で自分専用のバグ・トラッキング・システムを立てたい&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;開発に欠かせないバグ・トラッキング・システムですが、以前から公開ウェブ・サーバー上に自分専用のサービスが欲しいなと考えていました。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;自分が進行しているプライベートなプロジェクトの色々なアイデアやTODOをいつでもどこでも更新出来たら嬉しいなぁと考えたわけです。個人的にgithubやsourceforgeを使う事はありますが、バグ・トラッキング・システムを自分の好みで変更できないのが残念なところです。&lt;br /&gt;&lt;br /&gt;また、プライベートなアイデアやプロジェクトが、ダダ漏れになるのも、それを避けるためにお金を払うのも、自分が好きなバグ・トラッキング・システムを使えない事と相まってお得な感じがしません。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-u1alpjmvgP0/TtGQOvSjG-I/AAAAAAAABpA/wtWDv37bpz4/s1600/DSCF0478.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-u1alpjmvgP0/TtGQOvSjG-I/AAAAAAAABpA/wtWDv37bpz4/s400/DSCF0478.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;単にアイデアをメモするだけならばその手のツールがあるのですが、それは単なるメモとしてしか役立ちません。 後々見返してみた時に、「これ何だっけ？」とか「アイデアとアイデアの関係がどうだったのか？」とか、そもそもメモなのできちんと管理できないわけです。（少なくとも私は。）&lt;br /&gt;それらのアイデアがどのようにコードになったのか知るすべもありません。&lt;br /&gt;&lt;br /&gt;そんな事を考えていた時、自分が約10年前からレンタルしているサーバーの契約更新がありました。状況を調査してみたところ、以前に比べてバグ・トラッキング・システムを導入する為の環境が整いつつある事に気付きました。（プランの変更によって最大の障壁だったsshログインが可能という事がわかった。）&lt;br /&gt;&lt;br /&gt;そこで、今回は私が使用している&lt;a href="http://lolipop.jp/"&gt;レンタル・サーバー「ロリポップ」&lt;/a&gt;上に、バグ・トラッキング・システムRedmineを導入する過程を簡単に御紹介します。使用するプランは&lt;a href="http://lolipop.jp/service/plan-chicappa/"&gt;「チカッパプラン」&lt;/a&gt;です。このプランは月額525円で30GBの容量を確保できます。更に今回の作業で重要なsshが使えます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;この手の作業の何が面倒なのか？&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;この手の作業でとにかく一番面倒なのは「やってみて、うまくいくまで試行錯誤する過程。」です。&lt;br /&gt;ウェブ・アプリケーションを導入する場合、沢山の依存関係の解決と細かなバージョン差異による影響を取り除くような作業が欠かせません。（あ、組み込みも同じか。）&lt;br /&gt;&lt;br /&gt;開発をスムーズに進めるための環境作りに時間がかかりすぎて、開発がスムーズに進まないなんて笑うに笑えません。（実は今回そんな感じ。来週はMTM07です。出展の準備をしたい。）&lt;br /&gt;&lt;br /&gt;本当に「何やってるの自分？」と自分に突っ込みたくなってきます。&lt;br /&gt;更にRailsって何？とかRubyGemsって何？とかやってるとどうしようもなく時間がかかります。&lt;br /&gt;&lt;br /&gt;この記事は「できる」という事実を示し、試行錯誤を少しでも取り除こうという狙いで書きました。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;バグ・トラッキング・システムによる製品開発フロー&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;バグ・トラッキング・システムを使って製品を開発するフローは、背景にある考えによって様々ですが、大抵の場合は以下のようになるでしょう。&lt;br /&gt;&lt;ol&gt;&lt;li&gt;製品の仕様を考える。&lt;/li&gt;&lt;li&gt;「やること」を洗い出す。&lt;/li&gt;&lt;li&gt;「この日までに実現するんだ！」と決める。&lt;/li&gt;&lt;li&gt;「やること」と「この日までに実現するんだ！」を見ながら進捗や状況を管理する。&lt;/li&gt;&lt;li&gt;製品が完成したらリリースを決める。&lt;/li&gt;&lt;li&gt;市場から得られるフィードバックを集める。&lt;/li&gt;&lt;li&gt;最初に戻る。（要するに無限ループ。）&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;上記のループは、必ずしも1から始まるとは限りません。&lt;/div&gt;&lt;div&gt;もしかしたら6から始まるかもしれないし、もしかしたら3から始まる場合もあるかもしれません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-J2uyVQwwLNo/TtGXXhchlRI/AAAAAAAABpQ/ph8MB8o2B4I/s1600/DSCF0343.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-J2uyVQwwLNo/TtGXXhchlRI/AAAAAAAABpQ/ph8MB8o2B4I/s320/DSCF0343.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;大切なのは「繰り返しの中で製品を改善する過程」です。&lt;br /&gt;&lt;br /&gt;Redmineを使った機能追加の管理の実例を以下に示します。&lt;br /&gt;Redmineの開発は、Redmineで管理されています。&lt;br /&gt;以下に挙げるチケットは「ユーザの削除機能」に関するものです。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.redmine.org/issues/7296"&gt;http://www.redmine.org/issues/7296&lt;/a&gt;&amp;nbsp;（機能追加の管理）&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.redmine.org/projects/redmine/repository/revisions/4729"&gt;http://www.redmine.org/projects/redmine/repository/revisions/4729&lt;/a&gt;&amp;nbsp;（チケットに対するコミット）&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;メジャーなツールと僕の好きなRedmine&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;国内ではやたらとTracがメジャーな感があります。&lt;br /&gt;私は以下の理由でRedmineを好んで使用しています。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;一回構築すれば複数のプロジェクトで使用できる。&lt;/li&gt;&lt;li&gt;ビューがシンプルで美しい。&lt;/li&gt;&lt;li&gt;画像を貼ったりファイルを貼ったりが簡単。&lt;/li&gt;&lt;li&gt;その他（色々な事が自然にできるところなど。）&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;もしかしたら、現在ではその他のツールも同様の事ができるのかもしれませんが、一度Redmineに慣れてしまうと他のツールに積極的に移行する気になれません。これは、数年前にTracとMantisをつまみ食いしているので、自分にとってどちらが好ましいと感じるかを知っているせいかもしれません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;ロリポップでRedmine&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;さて、長い前置きはさておき、ロリポップでRedmineを実現します。&lt;/div&gt;&lt;div&gt;今回は手始めとしてcgiモードを使ってまずは実現する事を念頭に、ハマりそうなところだけを列挙しする事にしました。&lt;br /&gt;&lt;br /&gt;出来上がるとアクセスした時に以下のようなページが表示されます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IsRftbdqaZw/TtGo4_xGC3I/AAAAAAAABpw/x-GRBIb7z_M/s1600/redmine-sample-projects.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="147" src="http://2.bp.blogspot.com/-IsRftbdqaZw/TtGo4_xGC3I/AAAAAAAABpw/x-GRBIb7z_M/s400/redmine-sample-projects.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;使用した各ツールのバージョンを挙げておきます。&lt;/div&gt;&lt;div&gt;rubyはロリポップのサーバーにインストールされているruby 1.8.7を使用しました。&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz"&gt;RubyGems 1.3.7&lt;/a&gt;&lt;/li&gt;&lt;li&gt;rails 2.1.2&lt;/li&gt;&lt;li&gt;rack Redmine 0.8.xを使用するので依存しない。&lt;/li&gt;&lt;li&gt;&lt;a href="http://rubyforge.org/frs/download.php/67144/redmine-0.8.7.tar.gz"&gt;Redmine 0.8.7&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;上記のバージョンの関係は&lt;a href="http://www.redmine.org/projects/redmine/wiki/RedmineInstall"&gt;Redmine本家のインストール・ガイドのページ&lt;/a&gt;に記載されています。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/--aif_ZMt_EY/TtGV8AKtn4I/AAAAAAAABpI/WQVELs80zow/s1600/redmine-requirements.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://1.bp.blogspot.com/--aif_ZMt_EY/TtGV8AKtn4I/AAAAAAAABpI/WQVELs80zow/s400/redmine-requirements.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;新しいバージョンのRedmineをインストールしたい場合、上記バージョン関係を把握してから行ないましょう。上記の依存関係を見てもわかるように、細かなバージョンの違いで動作しない事が十分に考えられます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;RubyGemsのセットアップ&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;初めに&lt;a href="http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz"&gt;RubyGems 1.3.7&lt;/a&gt;をwgetでダウンロードして展開します。&lt;/div&gt;&lt;div&gt;展開したディレクトリにあるsetup.rbに「--prefix $HOME」を与えてセットアップを実行します。&lt;/div&gt;&lt;div&gt;ロリポップが提供するサーバにsshでログインした場合、LolipopUserというIDが割り当てられています。(当然ながらroot権限ではありません。)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;これでRubyGemsのインストールは完了です。&lt;/div&gt;&lt;div&gt;私はこの時点で.bash_profileに以下を追加しました。&lt;/div&gt;&lt;div&gt;&lt;blockquote class="tr_bq"&gt;export RUBYLIB=~/lib&lt;br /&gt;export GEM_HOME=~/lib/ruby/gem&lt;br /&gt;export RAILS_ROOT=~/rails/redmine&lt;br /&gt;export PATH=$PATH:~/bin:~/lib/ruby/gem/bin&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;「source ~/.bash_profile」したら念のためホームで「gem -v」してバージョンを確認します。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;「1.3.7」と出れば狙いの環境になっています。エラーが出たらパスが通って無いとかsetup.rbでの環境構築に失敗しているとかが考えられます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Railsのセットアップ&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;次にrailsをgemを使ってインストールします。&lt;/div&gt;&lt;div&gt;「gem install -v=2.1.2 rails」とすればバージョンを指定してインストールする事ができます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;以上でRedmineが依存する環境を作り上げた事になります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Redmineのインストールとセットアップ&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;次にRedmine本体のインストールです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://rubyforge.org/frs/download.php/67144/redmine-0.8.7.tar.gz"&gt;Redmine 0.8.7&lt;/a&gt;をダウンロードして、展開します。&lt;/div&gt;&lt;div&gt;私は$HOME/rails/redmineに展開しました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;config/database.yml&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;展開したらconfigディレクトリに移動してセットアップを行ないます。&lt;/div&gt;&lt;div&gt;初めにconfig/database.yml.exampleをコピーしてconfig/database.ymlを作ります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-lPgTzaoXlvY/TtGdt6sGmpI/AAAAAAAABpY/IHrpheJVMp4/s1600/database-yml.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="201" src="http://2.bp.blogspot.com/-lPgTzaoXlvY/TtGdt6sGmpI/AAAAAAAABpY/IHrpheJVMp4/s400/database-yml.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(ハマりどころ)設定はロリポップの管理ページにある情報をそのまま記載します。&lt;/div&gt;&lt;div&gt;(ハマりどころ)socketの項目はテンプレートに無いので追加して下さい。&lt;/div&gt;&lt;div&gt;&lt;div&gt;(ハマりどころ)socketの設定はロリポップのmysqladminを使って確認して下さい。サーバの変数という項目にsocketがあります。&lt;/div&gt;&lt;/div&gt;&lt;div&gt;(ハマりどころ)production設定を使う為の作業をしていると頭の片隅に入れておいて下さい。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;データーベースを初期化する&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;この作業は展開したredmineのディレクトリで行います。&lt;br /&gt;rakeがRakefileを参照して作業するからです。&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote class="tr_bq"&gt;rake db:migrate RAILS_ENV=production&lt;br /&gt;rake redmine:load_default_data RAILS_ENV=production&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;config/environments/production.rb&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ウェブ・サーバが持つルートの配下にディレクトリを作って構成する場合には、config/environments/production.rbに以下を追加します。&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;ActionController::AbstractRequest.relative_url_root = '/あなたのディレクトリパス&lt;/blockquote&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;config/environment.rb&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;config/environment.rbにパスの設定などを追加します。&lt;/div&gt;&lt;div&gt;(下記の設定は最適でないかもしれません。環境に合わせて最適な記述をして下さい。)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hJCkmiGbgHY/TtGf8c0Sr0I/AAAAAAAABpg/YB7p2-vTVTg/s1600/environment-rb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-hJCkmiGbgHY/TtGf8c0Sr0I/AAAAAAAABpg/YB7p2-vTVTg/s400/environment-rb.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;また、productionを使うのでコメント・アウトされている部分を有効にします。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-glk0iHthCfg/TtGhqs4W5ZI/AAAAAAAABpo/Mb7pj8uwu6g/s1600/environment-rb_production.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="42" src="http://2.bp.blogspot.com/-glk0iHthCfg/TtGhqs4W5ZI/AAAAAAAABpo/Mb7pj8uwu6g/s400/environment-rb_production.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;もう、このあたりで「動くのかなぁ～。」と不安になります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;dispatch.cgi&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;最後にディスパッチャの設定です。&lt;/div&gt;&lt;div&gt;今回は遅い遅いと評判のdispatch.cgiを使っています。&lt;/div&gt;&lt;div&gt;一行目のrubyへのパスを環境に合わせて「/usr/bin/ruby」としました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;.htaccess&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;最後に.htaccessの編集です。&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;「Options +FollowSymLinks +ExecCGI」をコメントアウト。&lt;/li&gt;&lt;li&gt;「AddHandler &amp;nbsp;cgi-script &amp;nbsp;.cgi」を追加。&lt;/li&gt;&lt;li&gt;「RewriteRule &amp;nbsp;^(.*)$ &amp;nbsp;dispatch.cgi &amp;nbsp;[QSA,L]」を追加。&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;公開ディレクトリにあるファイルのパーミッション&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;公開ディレクトリにあるファイルのパーミッションを整えます。&lt;/div&gt;&lt;div&gt;&lt;a href="http://lolipop.jp/manual/hp/permission/"&gt;ロリポップのサポート・サイトの情報&lt;/a&gt;も参考にしてください。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;とりあえず動かすようにした作業のまとめ&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今回は「とにかく実現してみるんだ」という方向で作業しました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;レンタル・サーバでRedmineというと何故だかさくらインターネットでの事例ばかりです。&lt;/div&gt;&lt;div&gt;もしかしたらきちんと運用する人は「ロリポップなんて使わない。」ということかもしれません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今回は「ロリポップでもRemineを動作可能」を示すためだけにかなり適当に作業しました。&lt;/div&gt;&lt;div&gt;メールの設定やバージョン管理システムとの連携が残っていますが、動作する事がわかったので後はゆっくりとやっていこうという感じです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;タダ同然じゃない！&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;「タダ同然で」と書きましたが、全然タダではありません。&lt;/div&gt;&lt;div&gt;冒頭に書いたとおり月額払う事になりますが、「ホームページを運用していたサーバで、実は動作させられる。」と考えれば安いと考えられなくもありません。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4235201742937400899?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4235201742937400899/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/11/redmine.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4235201742937400899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4235201742937400899'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/11/redmine.html' title='タダ同然で自分専用のバグ・トラッキング・システムを立てたい (レンタル・サーバー「ロリポップ」上にRedmineを仕立てる)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-u1alpjmvgP0/TtGQOvSjG-I/AAAAAAAABpA/wtWDv37bpz4/s72-c/DSCF0478.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-315788004550024356</id><published>2011-11-24T21:39:00.001+09:00</published><updated>2011-11-25T12:42:47.508+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ET2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Natural Tiny Shell'/><title type='text'>ET2011でNatural Tiny Shell (NT-Shell)のデモ・キットを展示しました</title><content type='html'>御報告が遅くなりましたが、ET2011でNatural Tiny Shell (NT-Shell)のデモ・キットを展示しました。&lt;br /&gt;以下の写真が展示の様子です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_EwCFNck-DI/Ts47T3lR0mI/AAAAAAAABow/RRb9fMImm0c/s1600/DSC05508.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-_EwCFNck-DI/Ts47T3lR0mI/AAAAAAAABow/RRb9fMImm0c/s400/DSC05508.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;物凄く地味なデモですし、内容も内容ですから、本当に興味を持った人しか立ち止まらない感じで、逆にそれが個人的に面白かったです。&lt;br /&gt;&lt;br /&gt;私のプレゼンテーションを聞いてくれた人からも「実は私も同じようにシェルに不満を持っていました。」と声をかけてくれた人もいました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RCDJorH1ARY/Ts49YGDvvlI/AAAAAAAABo4/8Ku0MKkc6YI/s1600/DSC05514.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-RCDJorH1ARY/Ts49YGDvvlI/AAAAAAAABo4/8Ku0MKkc6YI/s400/DSC05514.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;さて、肝心の成果物ですが、本日Version 0.0.8をリリースしました。&lt;br /&gt;&lt;a href="http://sourceforge.jp/projects/ntshell/releases/"&gt;http://sourceforge.jp/projects/ntshell/releases/&lt;/a&gt;&amp;nbsp;からダウンロードできます。&lt;br /&gt;&lt;br /&gt;以前はシェル用ライブラリだけでしたが、今回から「ライブラリ」と「サンプル」の二本立て構成にしました。今のところ「サンプル」にはTOPPERS用の実装のみ追加しています。&lt;br /&gt;&lt;br /&gt;今回プレゼンテーションを作成するにあたって設計を振り返ったところ、まだまだ改良できる点が多くある事に気付きました。&lt;br /&gt;&lt;br /&gt;今後も継続的に改善を行ない、よりコンパクトで使いやすいシェルライブラリにする予定です。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;プレゼンテーションにもいらしてくれたmayaさんが&lt;a href="http://blog.goo.ne.jp/maduki_k/e/ede970a85157e8e4949b28614f76928f"&gt;Blackfinに移植したレポート&lt;/a&gt;をあげてくれています。感謝感謝です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-315788004550024356?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/315788004550024356/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/11/et2011natural-tiny-shell-nt-shell.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/315788004550024356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/315788004550024356'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/11/et2011natural-tiny-shell-nt-shell.html' title='ET2011でNatural Tiny Shell (NT-Shell)のデモ・キットを展示しました'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-_EwCFNck-DI/Ts47T3lR0mI/AAAAAAAABow/RRb9fMImm0c/s72-c/DSC05508.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-8837685113605200175</id><published>2011-11-09T05:16:00.002+09:00</published><updated>2011-11-10T06:07:41.811+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ET2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Natural Tiny Shell'/><title type='text'>小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』のデモ・キットをET2011のTOPPERSブースで展示します。</title><content type='html'>小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』のデモ・キットを&lt;a class="l vst" href="http://www.jasa.or.jp/et/" style="background-color: white; color: #6611cc; cursor: pointer; font-family: arial, sans-serif; white-space: nowrap;"&gt;Embedded Technology 2011&lt;/a&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;の&lt;a href="http://www.toppers.jp/et2011.html"&gt;TOPPERSブース&lt;/a&gt;で展示します。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;先日から「Natural Tiny Shell Taskがどうのこうの。」と煩いわけですが、実際に触っていない人にとっては「何がそんなに嬉しいんだ？」という感じです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-iInf8jKC-vQ/TrmNyZ46qtI/AAAAAAAABog/_uhwa8h_FKI/s1600/ntshell-animation.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="295" src="http://1.bp.blogspot.com/-iInf8jKC-vQ/TrmNyZ46qtI/AAAAAAAABog/_uhwa8h_FKI/s400/ntshell-animation.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;そこで、今回は実際に動作を体験して頂けるようにしようと考えました。&lt;br /&gt;下の写真がデモ・キットの外観です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DMATOwXYZpo/TrmHPCs1kMI/AAAAAAAABoA/CpJCdyL2mZ8/s1600/DSCF0441.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://3.bp.blogspot.com/-DMATOwXYZpo/TrmHPCs1kMI/AAAAAAAABoA/CpJCdyL2mZ8/s400/DSCF0441.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;NXPセミコンダクターズ社のARM Cortex-M3が搭載されたLPCXpresso LPC1768にUSB-UART変換基板が接続されたものです。今回はシェルのデモなのでこれだけでも良いのですが、あまり面白いデモと言えなかったので、カラーLEDを付けてシェルから操作できるようにしてみました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2vacGcxw6Ps/TrmJKiRWbQI/AAAAAAAABoI/X_byF4cRktw/s1600/ntshell-et2011.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://3.bp.blogspot.com/-2vacGcxw6Ps/TrmJKiRWbQI/AAAAAAAABoI/X_byF4cRktw/s400/ntshell-et2011.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;組み込みシステムのデバッグでは、コマンドをシステムに与えてデバッグする事がよくあります。今回はcolorコマンドに表示色を与えることで、カラーLEDの色が変化するというデモを用意しました。システムに対する要求が視覚的に判断できるので、楽しんでいただけるのではないでしょうか。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9JbPCeQ76PY/TrmJs09yOiI/AAAAAAAABoQ/Uso32PxUkfs/s1600/DSCF0442.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://1.bp.blogspot.com/-9JbPCeQ76PY/TrmJs09yOiI/AAAAAAAABoQ/Uso32PxUkfs/s400/DSCF0442.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;また、TOPPERSを触った事のない人にとって「きちんと動いているシェルっぽいもの」を見ても「何がそんなに良いわけ？」となります。そこで、このデモ・キットは、「適当に実装したシェル」と「Natural Tiny Shell」の二つを同時に体験できるように設計してあります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-V-J5dLNAmc4/TrmKyeqNxGI/AAAAAAAABoY/CbcH0sUd6AY/s1600/two-shell-tasks.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="57" src="http://2.bp.blogspot.com/-V-J5dLNAmc4/TrmKyeqNxGI/AAAAAAAABoY/CbcH0sUd6AY/s400/two-shell-tasks.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;「適当に実装したシェル」は、それこそ本当に適当で文字の入力を誤ると酷い事になるような実装になっています。「そんなのあるわけ？」と思うかもしれませんが、残念ながら小規模組み込みシステムでは実際によくある話です。&lt;br /&gt;&lt;br /&gt;当日は２つの端末を並べて実際に操作しながら比較する事ができるようにする予定です。&lt;br /&gt;&lt;br /&gt;ET2011の最終日である18日(金)の15時過ぎから「TOPPERS活用アイデア・アプリケーション開発コンテスト表彰式」と「コンテスト受賞作品の紹介」も行われる予定です。紹介のプレゼンテーションは私自身が担当する予定ですので皆様是非お越し下さい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-8837685113605200175?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/8837685113605200175/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/11/natural-tiny-shell-tasket2011toppers.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8837685113605200175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8837685113605200175'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/11/natural-tiny-shell-tasket2011toppers.html' title='小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』のデモ・キットをET2011のTOPPERSブースで展示します。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-iInf8jKC-vQ/TrmNyZ46qtI/AAAAAAAABog/_uhwa8h_FKI/s72-c/ntshell-animation.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4983083019980828524</id><published>2011-10-29T10:10:00.004+09:00</published><updated>2011-10-29T10:10:57.148+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ET2011'/><category scheme='http://www.blogger.com/atom/ns#' term='TOPPERS/ASPカーネル'/><category scheme='http://www.blogger.com/atom/ns#' term='Natural Tiny Shell'/><title type='text'>小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』が、TOPPERS活用アイデア・アプリケーション開発コンテストのアプリケーション開発部門で銀賞を受賞</title><content type='html'>小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』が、2011年度の&lt;a href="http://www.toppers.jp/contest.html"&gt;TOPPERS活用アイデア・アプリケーション開発コンテスト&lt;/a&gt;のアプリケーション開発部門で銀賞を受賞しました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-KuTNsduDKkg/TqtMwqdBIsI/AAAAAAAABkY/iyOHJPqAuiI/s1600/toppers-contest.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="282" src="http://1.bp.blogspot.com/-KuTNsduDKkg/TqtMwqdBIsI/AAAAAAAABkY/iyOHJPqAuiI/s400/toppers-contest.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-GqkeQZLuP_k/TqtPe3LH5YI/AAAAAAAABkg/imw3fKYVr7c/s1600/abc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://2.bp.blogspot.com/-GqkeQZLuP_k/TqtPe3LH5YI/AAAAAAAABkg/imw3fKYVr7c/s400/abc.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;関連して&lt;a href="http://www.jasa.or.jp/et/ET2011/index.html"&gt;ET2011&lt;/a&gt;のTOPPERS/SESSAMEパビリオンにおいて、アプリケーションについてのショート・プレゼンテーションとデモンストレーションも予定しています。TOPPERS（や、その他RTOS）を使った小規模組み込みシステムでシェルのようなものが欲しいけど、あまり良い物が見つからないとお困りの方は是非御来場下さい。&lt;br /&gt;&lt;br /&gt;詳しくは&lt;a href="http://www.toppers.jp/et2011.html"&gt;TOPPERSプロジェクト／ET2011のページ&lt;/a&gt;を御覧下さい。&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4983083019980828524?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4983083019980828524/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/natural-tiny-shell-tasktoppers.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4983083019980828524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4983083019980828524'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/natural-tiny-shell-tasktoppers.html' title='小規模組み込みシステム向けシェル・タスク『Natural Tiny Shell Task』が、TOPPERS活用アイデア・アプリケーション開発コンテストのアプリケーション開発部門で銀賞を受賞'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-KuTNsduDKkg/TqtMwqdBIsI/AAAAAAAABkY/iyOHJPqAuiI/s72-c/toppers-contest.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-1383992456140222894</id><published>2011-10-29T09:01:00.000+09:00</published><updated>2012-01-04T15:22:49.832+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='小規模組み込みシステムプラットフォーム研究部会'/><title type='text'>「小規模組み込みシステムプラットフォーム研究部会」開催のお知らせ</title><content type='html'>&lt;a href="http://atnd.org/events/21520"&gt;『小規模組み込みシステムプラットフォーム研究部会』&lt;/a&gt;開催のお知らせです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-swNnvwxrFSs/TqtBqkYn1NI/AAAAAAAABkQ/gjt5BxFn48g/s1600/DSC04600.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-swNnvwxrFSs/TqtBqkYn1NI/AAAAAAAABkQ/gjt5BxFn48g/s400/DSC04600.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;小規模の定義は参加者の方々それぞれで構いません。&lt;br /&gt;とにかくシステムのプラットフォームを考えるのが好きという方のための会です。&lt;br /&gt;&lt;br /&gt;詳しくはATNDを御覧下さい。&lt;br /&gt;&lt;a href="http://atnd.org/events/21520"&gt;http://atnd.org/events/21520&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-1383992456140222894?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/1383992456140222894/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1383992456140222894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1383992456140222894'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/blog-post.html' title='「小規模組み込みシステムプラットフォーム研究部会」開催のお知らせ'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-swNnvwxrFSs/TqtBqkYn1NI/AAAAAAAABkQ/gjt5BxFn48g/s72-c/DSC04600.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4981931121952230403</id><published>2011-10-23T11:26:00.003+09:00</published><updated>2011-10-29T10:29:02.453+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso Yokohama'/><category scheme='http://www.blogger.com/atom/ns#' term='MTM07'/><category scheme='http://www.blogger.com/atom/ns#' term='Make'/><title type='text'>MTM07出展のお知らせ</title><content type='html'>&lt;a href="http://www.oreilly.co.jp/mtm/07/"&gt;MTM07&lt;/a&gt;出展します。&lt;br /&gt;&lt;br /&gt;今回は「LPCXpresso横浜お楽しみ部会」併設「小規模組み込みシステムプラットフォーム研究部会」での出展です。(出展者名はCuBeatSystemsです。)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-m553Id9PSD8/TqN7LibV4NI/AAAAAAAABkE/6Luk7lbouV4/s1600/mtm07_logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="55" src="http://4.bp.blogspot.com/-m553Id9PSD8/TqN7LibV4NI/AAAAAAAABkE/6Luk7lbouV4/s400/mtm07_logo.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;小規模組み込みシステムを愛してやまない人達に向けた展示を目指しています。&lt;br /&gt;皆様とお会いできることを楽しみにしております。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4981931121952230403?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4981931121952230403/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/mtm07.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4981931121952230403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4981931121952230403'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/mtm07.html' title='MTM07出展のお知らせ'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-m553Id9PSD8/TqN7LibV4NI/AAAAAAAABkE/6Luk7lbouV4/s72-c/mtm07_logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-99367084362035347</id><published>2011-10-13T07:29:00.002+09:00</published><updated>2011-10-13T07:29:40.043+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WCA-009'/><category scheme='http://www.blogger.com/atom/ns#' term='WT32'/><category scheme='http://www.blogger.com/atom/ns#' term='Bluetooth'/><title type='text'>汎用BluetoothモジュールWT32搭載WCA-009を購入。</title><content type='html'>WCA-009とは、&lt;a href="http://www.bluegiga.com/WT32_Bluetooth_Audio_Module"&gt;Bluegiga社のBluetooth Audio Module&lt;/a&gt;であるWT32を搭載したモジュールです。&lt;br /&gt;&lt;a href="http://blog.goo.ne.jp/sirius506/d/20110728"&gt;マイコン工作実験日記の大野さんが頒布&lt;/a&gt;しています。&lt;br /&gt;&lt;br /&gt;私はというと「Bluetoothって何だべなぁ～。」という感じで素人もいいところなのですが、Bluetoothで繋がるということは手持ちのIS03と連携させて何かできるかもね！ということで購入して試してみる事にしました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hNitfX_Ejo0/TpYTndG3bRI/AAAAAAAABjw/dPyK8NEQpGM/s1600/DSCF0228.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-hNitfX_Ejo0/TpYTndG3bRI/AAAAAAAABjw/dPyK8NEQpGM/s400/DSCF0228.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;このモジュールは名称こそ「Bluetooth Audio Module」となっているものの、GPIOやUARTが出ていてマイコン基板のインターフェースとして色々な応用ができるようになっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ELT9sYxmP24/TpYUkud14DI/AAAAAAAABj4/gFjHle_fZHQ/s1600/wca-009-pins.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="383" src="http://1.bp.blogspot.com/-ELT9sYxmP24/TpYUkud14DI/AAAAAAAABj4/gFjHle_fZHQ/s400/wca-009-pins.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;うーん。&lt;br /&gt;MTM07でもこれを使った物がチラホラ見かけられるかもしれませんね！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-99367084362035347?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/99367084362035347/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/bluetoothwt32wca-009.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/99367084362035347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/99367084362035347'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/bluetoothwt32wca-009.html' title='汎用BluetoothモジュールWT32搭載WCA-009を購入。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-hNitfX_Ejo0/TpYTndG3bRI/AAAAAAAABjw/dPyK8NEQpGM/s72-c/DSCF0228.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-1062120390633596115</id><published>2011-10-08T22:21:00.003+09:00</published><updated>2011-11-05T08:47:05.542+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso Yokohama'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso'/><title type='text'>「LPCXpresso横浜お楽しみ部会」を開催しました～。</title><content type='html'>&lt;a href="http://atnd.org/events/17595"&gt;「LPCXpresso横浜お楽しみ部会」&lt;/a&gt;を開催しました。&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;本日は、もくもく会の傍らプレゼンテーション３本をゆるゆるとこなすという会でした。&lt;/div&gt;&lt;div&gt;ライブな感じを味わっていただくための写真を掲載しておきます。&lt;br /&gt;&lt;br /&gt;会場は神奈川県民活動サポートセンター 15階会議室(1501)でした。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-A1mhooYVsnU/TpBNzRIQHtI/AAAAAAAABjk/GPgkCIaj2lU/s1600/DSC_0125.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-A1mhooYVsnU/TpBNzRIQHtI/AAAAAAAABjk/GPgkCIaj2lU/s320/DSC_0125.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この会は「ゆるゆる」な会なので、イラストで来場者の方を和ませる作戦です。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-FKYHKjUErEI/TpBKc3Ki2TI/AAAAAAAABiw/SbQeFDzGxxo/s1600/kanban.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-FKYHKjUErEI/TpBKc3Ki2TI/AAAAAAAABiw/SbQeFDzGxxo/s320/kanban.JPG" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;とびっきりの風景・・・とはいきませんが、遠くに見える海を眺めながらのもくもく会でした。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-8EevYziKCs0/TpBKeYgr-9I/AAAAAAAABi0/olwq2bjmys8/s1600/view-from-the-room.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-8EevYziKCs0/TpBKeYgr-9I/AAAAAAAABi0/olwq2bjmys8/s320/view-from-the-room.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こちらは @h-kenken さん。&lt;br /&gt;シェルからコマンドで操作できる組み込み装置な感じが好きです！&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-SMNz9irlqZQ/TpBKjj09XpI/AAAAAAAABi4/FixGQ5IQiVc/s1600/h-kenken-san-no1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://3.bp.blogspot.com/-SMNz9irlqZQ/TpBKjj09XpI/AAAAAAAABi4/FixGQ5IQiVc/s320/h-kenken-san-no1.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-cTAfa_wUurw/TpBKkyiXVRI/AAAAAAAABi8/rzBh3DSgpuA/s1600/h-kenken-san-no2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-cTAfa_wUurw/TpBKkyiXVRI/AAAAAAAABi8/rzBh3DSgpuA/s320/h-kenken-san-no2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-v4FP-K3HBkw/TpBKlw9N0vI/AAAAAAAABjA/m2Oka1pqIZk/s1600/h-kenken-san-no3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/-v4FP-K3HBkw/TpBKlw9N0vI/AAAAAAAABjA/m2Oka1pqIZk/s320/h-kenken-san-no3.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こちらは @tabriSyu39 さん。&lt;br /&gt;気合十分で周辺デバイスの実装が完了しています。&lt;br /&gt;プログラムの実装フェーズに入っていました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-a5cTPNoG7AM/TpBKpvt4lnI/AAAAAAAABjE/d3r-WnSW20c/s1600/tabriSyu39-san-no1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-a5cTPNoG7AM/TpBKpvt4lnI/AAAAAAAABjE/d3r-WnSW20c/s320/tabriSyu39-san-no1.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Ph7wFYFKh7Y/TpBKqwJ8IaI/AAAAAAAABjI/B3kPiRJLxXw/s1600/tabriSyu39-san-no2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://3.bp.blogspot.com/-Ph7wFYFKh7Y/TpBKqwJ8IaI/AAAAAAAABjI/B3kPiRJLxXw/s320/tabriSyu39-san-no2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こちらは @todotani さん。&lt;br /&gt;どこかで見た事のある・・・と思った方。&lt;br /&gt;はい。あのブログのお方です。&lt;br /&gt;３階建ての構造ですが、シンプルに纏まっていて良い感じ。&lt;br /&gt;当日取り組んでいらっしゃった成果を&lt;a href="http://todotani.cocolog-nifty.com/blog/2011/10/xbee-apilpcxpre.html"&gt;「XBee APIモードライブラリのLPCXpressoへの移植」&lt;/a&gt;で公開して下さっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-7zadSF8JORM/TpBKttUgKdI/AAAAAAAABjM/I5AuR9cthM8/s1600/todotani-san-no1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://3.bp.blogspot.com/-7zadSF8JORM/TpBKttUgKdI/AAAAAAAABjM/I5AuR9cthM8/s320/todotani-san-no1.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-OVsugxqFuN0/TpBKu-_bkTI/AAAAAAAABjQ/Z9UkcP-LJcY/s1600/todotani-san-no2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/-OVsugxqFuN0/TpBKu-_bkTI/AAAAAAAABjQ/Z9UkcP-LJcY/s320/todotani-san-no2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こちらは @suikan_blackfin さん。&lt;br /&gt;オーディオプラットフォームUzumeの第１版のデバッグの様子です。&lt;br /&gt;プレゼンテーションでもプラットフォームの狙いについて熱く語って頂きました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XTJg98zfP44/TpBKwJWvC6I/AAAAAAAABjU/ybvc2c7z6TA/s1600/suikan_blackfin-san-no1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-XTJg98zfP44/TpBKwJWvC6I/AAAAAAAABjU/ybvc2c7z6TA/s320/suikan_blackfin-san-no1.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-EafKOx6oAyI/TpBKxdFBsrI/AAAAAAAABjY/Gj9cDOjLjxg/s1600/suikan_blackfin-san-no2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-EafKOx6oAyI/TpBKxdFBsrI/AAAAAAAABjY/Gj9cDOjLjxg/s320/suikan_blackfin-san-no2.JPG" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こちらは @noztos さん。&lt;br /&gt;おっと～。Androidとの連携か？！&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-CB17FfekJBA/TpBK1T1mF-I/AAAAAAAABjc/cmc9R7gWI5E/s1600/noztos-san-no1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-CB17FfekJBA/TpBK1T1mF-I/AAAAAAAABjc/cmc9R7gWI5E/s320/noztos-san-no1.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こちらは @hellslonghorn さん。&lt;br /&gt;おっと～。Smart Fusionとの連携か？！&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dc3cwNgBE4A/TpBK2SW_BcI/AAAAAAAABjg/e7njjnx21KA/s1600/hellslonghorn-san-no1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://3.bp.blogspot.com/-dc3cwNgBE4A/TpBK2SW_BcI/AAAAAAAABjg/e7njjnx21KA/s320/hellslonghorn-san-no1.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;私はというと、すっかり自分の物を撮影するのを忘れてしまいました。&lt;br /&gt;なので家に帰って撮影です。&lt;br /&gt;LPCXpresso ClockをGPS時計にしてみました。&lt;br /&gt;TOPPERS/ASP for LPCを使っています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-E5fJXhVJfOU/TpDk-ViMFGI/AAAAAAAABjs/gXUcEXPoc64/s1600/shintamainjp.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-E5fJXhVJfOU/TpDk-ViMFGI/AAAAAAAABjs/gXUcEXPoc64/s320/shintamainjp.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;色々なサプライズがありましたが、本編より夜の会合の方が盛り上がってしまったのは内緒です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--Sabf8MknBs/TpBOLFLzZfI/AAAAAAAABjo/T50EzqJ-OsU/s1600/DSC_0126.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/--Sabf8MknBs/TpBOLFLzZfI/AAAAAAAABjo/T50EzqJ-OsU/s320/DSC_0126.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;皆様お忙しい中の御参加ありがとうございました。&lt;br /&gt;非常に有意義な時間を過ごす事ができました。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-1062120390633596115?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/1062120390633596115/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/lpcxpresso.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1062120390633596115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1062120390633596115'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/10/lpcxpresso.html' title='「LPCXpresso横浜お楽しみ部会」を開催しました～。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-A1mhooYVsnU/TpBNzRIQHtI/AAAAAAAABjk/GPgkCIaj2lU/s72-c/DSC_0125.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-7194572700862882881</id><published>2011-09-28T23:33:00.000+09:00</published><updated>2011-09-29T21:04:16.254+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Break time'/><category scheme='http://www.blogger.com/atom/ns#' term='Makefile'/><title type='text'>makeを楽しく学ぶある１つの方法「makeで確認。幸せを作る方法。」</title><content type='html'>&lt;h1&gt;makeで確認。幸せを作る方法。&lt;/h1&gt;makeについて考えていた時に、ふと閃いたある１つのアイデアを共有したいと思います。&lt;br /&gt;&lt;br /&gt;エンジニアの卵達から耳にする事の多い「makeに慣れない。」という言葉。&lt;br /&gt;以前からどうすれば楽しく伝えられるかなぁと考えていました。&lt;br /&gt;&lt;br /&gt;先ほど少しだけ面白い方法を考えついたので御紹介します。&lt;br /&gt;名付けて「makeで確認。幸せを作る方法。」です。&lt;br /&gt;&lt;h1&gt;用意するもの&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;GNU make&lt;/li&gt;&lt;li&gt;テキストエディタ&lt;/li&gt;&lt;/ul&gt;&lt;h1&gt;基本ルール&lt;/h1&gt;&lt;ol&gt;&lt;li&gt;Makefileという名前のファイルをテキストエディタで作りましょう。&lt;/li&gt;&lt;li&gt;コロンを境に、左側に得たい事、右側に必要な事を書きましょう。&lt;/li&gt;&lt;li&gt;得たい事と必要な事の組は複数あっても構いません。&lt;/li&gt;&lt;li&gt;得たい事を実現するための記述は、組み合わせの下に書きます。&lt;/li&gt;&lt;/ol&gt;&lt;h1&gt;やってみよう（実例）&lt;/h1&gt;私は、最終的に「幸せ」を手に入れたいと考えました。&lt;br /&gt;基本ルールによると、コロンの左側に得たい事を書きますから以下のようになります。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;happy : &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;次に「幸せ」のために必要な要素を、コロンの右側に書きます。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;happy : time dream family friends&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;私は、幸せの実現のために、時間、夢、家族、友達を挙げることにしました。&lt;br /&gt;&lt;br /&gt;次に、幸せに必要な各要素にも、必要な事があるかもしれません。&lt;br /&gt;それについて書いてみます。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;time :&lt;br /&gt;&lt;br /&gt;dream :&lt;br /&gt;&lt;br /&gt;family :&lt;br /&gt;&lt;br /&gt;friends :&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;本当はこれらの要素にも必要な事があるのですが、無尽蔵に広がってしまうので、ここでは「いずれの要素についても、何も必要無し。」という事にします。&lt;br /&gt;&lt;br /&gt;実際にmakeを実行した時に楽しくなるように、上記の結果に加えて実際の動作を行うコードを付け加えます。&lt;br /&gt;&lt;br /&gt;実際の動作はコロンで結んだ関係図の一行下に記述するようになっています。&lt;br /&gt;この行だけ特別にTABを頭に入れるルールになっています。&lt;br /&gt;&lt;br /&gt;完成したのが以下のリストです。&amp;nbsp;(コードの中の「&amp;gt;-------」はTABに置き換えて下さい。)&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;happy : time dream family friends&lt;br /&gt;&amp;gt;-------cat elm_time elm_dream elm_family elm_friends &amp;gt; my_happy&lt;br /&gt;&lt;br /&gt;time :&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;-------echo "The time." &amp;gt; elm_time&lt;br /&gt;&lt;br /&gt;dream :&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;-------echo "The dream." &amp;gt; elm_dream&lt;br /&gt;&lt;br /&gt;family :&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;-------echo "The family." &amp;gt; elm_family&lt;br /&gt;&lt;br /&gt;friends :&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;&amp;gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;-------echo "The friends." &amp;gt; elm_friends&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;それでは実際に動作させてみましょう。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;&amp;gt; make&lt;br /&gt;echo "The time." &amp;gt; elm_time&lt;br /&gt;echo "The dream." &amp;gt; elm_dream&lt;br /&gt;echo "The family." &amp;gt; elm_family&lt;br /&gt;echo "The friends." &amp;gt; elm_friends&lt;br /&gt;cat elm_time elm_dream elm_family elm_friends &amp;gt; my_happy&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;見事に「私の幸せ(my_happy)」が完成しました。&lt;br /&gt;ちょっと幸せの中身を覗いてみましょう。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;&amp;gt; cat my_happy &lt;br /&gt;The time.&lt;br /&gt;The dream.&lt;br /&gt;The family.&lt;br /&gt;The friends.&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;こんな感じで幸せが完成しました。&lt;br /&gt;&lt;br /&gt;Makefileは基本的に「コロンで結んだ依存関係」を「解決するための実行」を記述するようになっています。上記の例のように最終的に欲しいものが４つから構成されていても、１つずつ丁寧に依存関係とその解決方法を書いてあげれば良いのです。&lt;br /&gt;&lt;br /&gt;ここでもう１つ実験してみましょう。&lt;br /&gt;&lt;br /&gt;必要な要素が足りないケースを作ってみます。&lt;br /&gt;先ほどの「幸せ」に必要な要素に「お金」を加えてみます。世知辛いですね。&lt;br /&gt;&lt;br /&gt;(コードの中の「&amp;gt;-------」はTABに置き換えて下さい。)&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;happy : time dream family friends money&lt;br /&gt;&amp;gt;-------cat elm_time elm_dream elm_family elm_friends &amp;gt; my_happy&lt;br /&gt;&lt;br /&gt;time :&lt;br /&gt;&amp;gt;-------echo "The time." &amp;gt; elm_time&lt;br /&gt;&lt;br /&gt;dream :&lt;br /&gt;&amp;gt;-------echo "The dream." &amp;gt; elm_dream&lt;br /&gt;&lt;br /&gt;family :&lt;br /&gt;&amp;gt;-------echo "The family." &amp;gt; elm_family&lt;br /&gt;&lt;br /&gt;friends :&lt;br /&gt;&amp;gt;-------echo "The friends." &amp;gt; elm_friends&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;上記にお金の作り方は示されていません。&lt;br /&gt;この状態でmakeを実行してみます。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;&amp;gt; make&lt;br /&gt;echo "The time." &amp;gt; elm_time&lt;br /&gt;echo "The dream." &amp;gt; elm_dream&lt;br /&gt;echo "The family." &amp;gt; elm_family&lt;br /&gt;echo "The friends." &amp;gt; elm_friends&lt;br /&gt;make: *** `happy' に必要なターゲット `money' を make するルールがありません.  中止.&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;あらら。&lt;br /&gt;&lt;br /&gt;幸せの生成が中止されてしまいました。&lt;br /&gt;お金の作り方がわからなかったからです。&lt;br /&gt;&lt;br /&gt;実際にお金の作り方を教えてあげます。&lt;br /&gt;(コードの中の「&amp;gt;-------」はTABに置き換えて下さい。)&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;happy : time dream family friends money&lt;br /&gt;&amp;gt;-------cat elm_time elm_dream elm_family elm_friends elm_money &amp;gt; my_happy&lt;br /&gt;&lt;br /&gt;time :&lt;br /&gt;&amp;gt;-------echo "The time." &amp;gt; elm_time&lt;br /&gt;&lt;br /&gt;dream :&lt;br /&gt;&amp;gt;-------echo "The dream." &amp;gt; elm_dream&lt;br /&gt;&lt;br /&gt;family :&lt;br /&gt;&amp;gt;-------echo "The family." &amp;gt; elm_family&lt;br /&gt;&lt;br /&gt;friends :&lt;br /&gt;&amp;gt;-------echo "The friends." &amp;gt; elm_friends&lt;br /&gt;&lt;br /&gt;money :&lt;br /&gt;&amp;gt;-------echo "The money." &amp;gt; elm_money&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;これで改造版の幸せが生成されるはずです。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;&amp;gt; make &lt;br /&gt;echo "The time." &amp;gt; elm_time&lt;br /&gt;echo "The dream." &amp;gt; elm_dream&lt;br /&gt;echo "The family." &amp;gt; elm_family&lt;br /&gt;echo "The friends." &amp;gt; elm_friends&lt;br /&gt;echo "The money." &amp;gt; elm_money&lt;br /&gt;cat elm_time elm_dream elm_family elm_friends elm_money &amp;gt; my_happy&lt;br /&gt;&amp;gt; cat my_happy &lt;br /&gt;The time.&lt;br /&gt;The dream.&lt;br /&gt;The family.&lt;br /&gt;The friends.&lt;br /&gt;The money.&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;幸せの中身に「お金」が追加されていますね。&lt;br /&gt;成功です。&lt;br /&gt;&lt;br /&gt;こんな風にmakeはシンプルなルールの組み合わせで多彩な出来事を作り出すことができるようになっています。プログラムのコンパイルのためだけでなく、様々な事に応用して楽しむことができるのです。&lt;br /&gt;&lt;br /&gt;今回の記事では、構造に慣れ親しむ要素に絞って御紹介しました。&lt;br /&gt;上記要素が骨格を成して、様々な便利な機能を実現できるようになっています。&lt;br /&gt;次の機会にそれらについても触れてみたいと思います。&lt;br /&gt;&lt;br /&gt;是非みなさんもmakeで遊んでみて下さい。&lt;br /&gt;そして、makeで悩んでいるエンジニアの卵達には、是非楽しい教え方を試してみて下さい。&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-7194572700862882881?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/7194572700862882881/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/makemake.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/7194572700862882881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/7194572700862882881'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/makemake.html' title='makeを楽しく学ぶある１つの方法「makeで確認。幸せを作る方法。」'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-1535499791641203254</id><published>2011-09-16T19:08:00.002+09:00</published><updated>2011-09-16T19:08:50.773+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Digilent'/><category scheme='http://www.blogger.com/atom/ns#' term='Xilinx'/><category scheme='http://www.blogger.com/atom/ns#' term='LX9 MicroBoard'/><title type='text'>LX9 MicroBoardでSoCを体験しよう！</title><content type='html'>米国Avnet社のLX9サポートページには、使い始めるのに必要な資料が殆ど揃っています。&lt;br /&gt;今日はその中から面白そうな物をピックアップして試してみることにしました。&lt;br /&gt;&lt;br /&gt;LX9で遊びたい事の一つはやはりSoC(System On Chip)ということになるでしょう。&lt;br /&gt;&lt;br /&gt;そこで登場するのが「uC/OS-III Example Application - Software 301 for the Spartan-6 LX9 MicroBoard」というチュートリアルです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-wa-Zq0rlYL4/TnMXR-CFBVI/AAAAAAAABiM/MLHE6L9eTTk/s1600/sw301.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-wa-Zq0rlYL4/TnMXR-CFBVI/AAAAAAAABiM/MLHE6L9eTTk/s320/sw301.png" width="249" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;このチュートリアルを辿ればLX9を使ってSoCに関連する一連の作業（の一部）を楽しむことができます。&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;ハードウェア定義ファイル(system.xml)を読み込んでハードウェアプロジェクトを作成する。&lt;/li&gt;&lt;li&gt;ハードウェアプロジェクトを指定して新しいボードサポートパッケージプロジェクトを作成する。&lt;/li&gt;&lt;li&gt;ソフトウェアプロジェクトを作成する。&lt;/li&gt;&lt;/ul&gt;と書いてしまえば３段階なのですが、資料なしでこのステップをIDEのインターフェースのみから汲み取ることはできません。そういう意味でこの資料は有用な内容になっています。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;この資料では、Xilinx Software Development Kitを使ったRTOS上でのLEDチカチカを行います。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bookcsViNwg/TnMaqc761mI/AAAAAAAABiQ/_qCxI1VStJo/s1600/xilinx-sdk.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-bookcsViNwg/TnMaqc761mI/AAAAAAAABiQ/_qCxI1VStJo/s1600/xilinx-sdk.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;まずはXilinx Software Development Kitを起動します。&lt;/div&gt;&lt;div&gt;資料に従って作業するとワークスペースには形態の異なる３つのプロジェクトが出来上がります。&lt;/div&gt;&lt;div&gt;例えば、以下のケースでは、上からハードウェアプロジェクト、ボードサポートパッケージ、ソフトウェアプロジェクトです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yaSogeEcEwA/TnMb_RyeBqI/AAAAAAAABiU/qwisaBB_n4g/s1600/projects.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-yaSogeEcEwA/TnMb_RyeBqI/AAAAAAAABiU/qwisaBB_n4g/s1600/projects.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Xilinx ToolsからProgram FPGAを選択して、予め用意されたビットストリームファイルを使って回路を定義します。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Qvctz1hWuAc/TnMcyX5TqjI/AAAAAAAABiY/rHWYb-LQpk0/s1600/progfpga.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Qvctz1hWuAc/TnMcyX5TqjI/AAAAAAAABiY/rHWYb-LQpk0/s1600/progfpga.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ダイアログにはハードウェアプロジェクトを作成する時に与えたxmlによって必要な値が与えられていますので、特に何も入力する必要はないはずです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JiyE34RDcZ4/TnMdTJfpiNI/AAAAAAAABic/XEauQCVhLMo/s1600/progfpga-dialog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="167" src="http://1.bp.blogspot.com/-JiyE34RDcZ4/TnMdTJfpiNI/AAAAAAAABic/XEauQCVhLMo/s400/progfpga-dialog.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ちなみに、このビットストリームを流し込む事によってボード上のLEDをチカチカさせるための回路やレジスタが定義され、プログラムのブート待ち状態にすることができます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;やってしまいがちな誤りが、このビットストリームを流し込む前にプログラムのデバッグを始めようとしてしまうこと。それは動きませんです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Doneを確認したらプログラムを動作させてみましょう。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6A64CuYCeMw/TnMeHN8KmvI/AAAAAAAABig/kNxh5P-BBbY/s1600/applaunch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="278" src="http://3.bp.blogspot.com/-6A64CuYCeMw/TnMeHN8KmvI/AAAAAAAABig/kNxh5P-BBbY/s320/applaunch.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;これで仲良く並んだ２つのLEDが適当な間隔で点滅することが確認できるはずです。&lt;/div&gt;&lt;div&gt;ふむふむと動作を楽しんだ後は、コードを見て楽しみましょう。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BSPには主にMicroBlazeのレジスタを操作するインターフェースを定義したヘッダファイルが配置されています。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-J28EooCzUrg/TnMfHXoJf1I/AAAAAAAABik/in0H9nkDBfs/s1600/bspincs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-J28EooCzUrg/TnMfHXoJf1I/AAAAAAAABik/in0H9nkDBfs/s400/bspincs.png" width="168" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OS側はプロセッサ周り、ライブラリ、カーネル、アプリケーションと綺麗に階層化されていますね。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-kSsMNTP_ywM/TnMfkLiEobI/AAAAAAAABio/VEYGk04lalg/s1600/oscodes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-kSsMNTP_ywM/TnMfkLiEobI/AAAAAAAABio/VEYGk04lalg/s400/oscodes.png" width="163" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;このように、従来では色々な環境整備に時間がかかりがちだったSoC体験を、いとも簡単に実現してしまうのがLX9 MicroBoardなのです。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-1535499791641203254?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/1535499791641203254/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/lx9-microboardsoc.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1535499791641203254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1535499791641203254'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/lx9-microboardsoc.html' title='LX9 MicroBoardでSoCを体験しよう！'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-wa-Zq0rlYL4/TnMXR-CFBVI/AAAAAAAABiM/MLHE6L9eTTk/s72-c/sw301.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-6809341083727049659</id><published>2011-09-14T20:20:00.005+09:00</published><updated>2011-09-14T20:20:54.482+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Digilent'/><category scheme='http://www.blogger.com/atom/ns#' term='Xilinx'/><category scheme='http://www.blogger.com/atom/ns#' term='LX9 MicroBoard'/><title type='text'>LX9のXilinx SDKからの書き込み</title><content type='html'>&lt;h1&gt;LX9にビットファイルを流し込む方法&lt;/h1&gt;LX9は何と言ってもお手軽にSoCを試す事が出来るのが魅力の１つです。&lt;br /&gt;&lt;br /&gt;Xilinx SDKから書き込む場合には予め設定が必要なのですが、どっからどうすんだ？となった方のために整理してみましょう。&lt;br /&gt;&lt;br /&gt;まずは&lt;a href="http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,66,768&amp;amp;Prod=DIGILENT-PLUGIN"&gt;http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,66,768&amp;amp;Prod=DIGILENT-PLUGIN&lt;/a&gt;からプラグインをダウンロードします。&lt;br /&gt;今日現在ではISE 11, ISE 12, ISE 13に対するプラグインが完備されていました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QWHmS4J_JXo/TnCLU5xESwI/AAAAAAAABhs/kNo8p6dC6pY/s1600/digilent-website.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="259" src="http://2.bp.blogspot.com/-QWHmS4J_JXo/TnCLU5xESwI/AAAAAAAABhs/kNo8p6dC6pY/s400/digilent-website.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;後は付属のPDFに従ってインストールすれば完了！です。（え？）&lt;br /&gt;プラグインをISEのプラグインディレクトリにコピーする作業の実行です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-iCt_DcNvpnY/TnCMXGCYHFI/AAAAAAAABh8/OqIX50K1UVM/s1600/plugin-dir.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="146" src="http://3.bp.blogspot.com/-iCt_DcNvpnY/TnCMXGCYHFI/AAAAAAAABh8/OqIX50K1UVM/s400/plugin-dir.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;後は各種ツールでの設定を残すのみです。&lt;br /&gt;（このページの設定において、シリアルナンバー指定は割愛しています。詳しくは付属のPDFをご覧ください。）&lt;br /&gt;&lt;br /&gt;例えば、Xilinx SDKの場合。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-gyTTr3662dc/TnCL6LioW4I/AAAAAAAABh0/IoDQA1k1PKA/s1600/configure-jtag-settings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="261" src="http://3.bp.blogspot.com/-gyTTr3662dc/TnCL6LioW4I/AAAAAAAABh0/IoDQA1k1PKA/s400/configure-jtag-settings.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;iMPACTの場合。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dFzvULvGOZw/TnCM-ezfy6I/AAAAAAAABiE/suwzCHkllwU/s1600/the_keyword_is_digilent_plugin.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-dFzvULvGOZw/TnCM-ezfy6I/AAAAAAAABiE/suwzCHkllwU/s400/the_keyword_is_digilent_plugin.png" width="343" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;こんな感じで設定することでJTAG接続ができるようになります。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4iKMNTi9nqI/TnCN6zKWIPI/AAAAAAAABiI/jDtIEedOLEA/s1600/hi-lx9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/-4iKMNTi9nqI/TnCN6zKWIPI/AAAAAAAABiI/jDtIEedOLEA/s320/hi-lx9.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-6809341083727049659?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/6809341083727049659/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/lx9xilinx-sdk.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6809341083727049659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6809341083727049659'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/lx9xilinx-sdk.html' title='LX9のXilinx SDKからの書き込み'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-QWHmS4J_JXo/TnCLU5xESwI/AAAAAAAABhs/kNo8p6dC6pY/s72-c/digilent-website.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-3361687433643556272</id><published>2011-09-03T09:35:00.001+09:00</published><updated>2011-09-03T20:56:04.715+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xilinx'/><category scheme='http://www.blogger.com/atom/ns#' term='LX9 MicroBoard'/><title type='text'>AVNET Spartan-6 FPGA LX9 MicroBoardの電源を入れてみる</title><content type='html'>&lt;h1&gt;付属する2つのUSBケーブル&lt;/h1&gt;LX9 MicroBoardには2つのUSBケーブルが付属しています。&lt;br /&gt;&lt;br /&gt;1つは延長ケーブルになっていて、「Direct USB Programming」用のUSBコネクタに接続します。&lt;br /&gt;このコネクタは主にFPGAをプログラムするときに使用し、ボード上のAtmel AT90USB162に接続されています。&lt;br /&gt;&lt;br /&gt;もう1つのUSBケーブルは小さい方のUSBコネクタに接続して使用します。&lt;br /&gt;こちらはボード上のSilicon Laboratories CP2102に接続されています。&lt;br /&gt;&lt;br /&gt;LX9 MicroBoardに予め書き込まれたデザインはMicroBlazeを使ったものになっていて、CP2102経由でブートの様子を見ることができるようです。&lt;br /&gt;今回はこれを試してみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-q0BoZD3xy3w/TmF8_xAkELI/AAAAAAAABg8/E5TzIy1xDQs/s1600/DSC05275.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-q0BoZD3xy3w/TmF8_xAkELI/AAAAAAAABg8/E5TzIy1xDQs/s400/DSC05275.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;使っているOSによって、CP2102に対するデバイスドライバが必要になることがあります。&lt;br /&gt;ちなみにWindows7の場合には特別なインストールなしで使用することができます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-uKA76DPKWPA/TmF9k_o6_5I/AAAAAAAABhA/5LygvUUMkbw/s1600/cp210x.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="46" src="http://1.bp.blogspot.com/-uKA76DPKWPA/TmF9k_o6_5I/AAAAAAAABhA/5LygvUUMkbw/s400/cp210x.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;ブートさせる&lt;/h1&gt;&lt;div&gt;シリアルポート（115200/8/n/1)を開いてSW4を押すとリセットがかかるようになっています。&lt;/div&gt;&lt;div&gt;ブートした時の様子は以下のようになります。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-9q7iC0qmaTM/TmF-Seiy1XI/AAAAAAAABhE/PMFV_3iu01A/s1600/console-output.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-9q7iC0qmaTM/TmF-Seiy1XI/AAAAAAAABhE/PMFV_3iu01A/s400/console-output.png" width="292" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;私は他人の作ったコマンドを見るのが大好きです。&lt;/div&gt;&lt;div&gt;見てみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-erSBCAlXm1s/TmGC2dRLYJI/AAAAAAAABhI/zPEbkyq7IXA/s1600/command.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://3.bp.blogspot.com/-erSBCAlXm1s/TmGC2dRLYJI/AAAAAAAABhI/zPEbkyq7IXA/s400/command.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;と、こんな感じのコマンドが並んでいます。&lt;br /&gt;&lt;br /&gt;まぁ、だから何だという話ですが、組み込み装置として見た場合、この手のコマンドが整備されているかいないかで、メインテナンスやデバッグなどの効率を左右します。&lt;br /&gt;ここまでのサンプルを用意することで、敷居を下げようとしている感じが見てとれます。回路図やUCFなどは米国AVNETのサイトへログインすることでダウンロードできます。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-3361687433643556272?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/3361687433643556272/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/avnet-spartan-6-fpga-lx9-microboardno.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3361687433643556272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3361687433643556272'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/avnet-spartan-6-fpga-lx9-microboardno.html' title='AVNET Spartan-6 FPGA LX9 MicroBoardの電源を入れてみる'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-q0BoZD3xy3w/TmF8_xAkELI/AAAAAAAABg8/E5TzIy1xDQs/s72-c/DSC05275.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-7327181037629863279</id><published>2011-09-02T21:15:00.006+09:00</published><updated>2011-09-04T09:01:13.298+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Xilinx'/><category scheme='http://www.blogger.com/atom/ns#' term='LX9 MicroBoard'/><title type='text'>AVNET Spartan-6 FPGA LX9 MicroBoardの開発環境をセットアップする</title><content type='html'>&lt;h1&gt;安価なFPGA開発プラットフォーム&lt;/h1&gt;FPGA評価ボードと言えば一万円前後の物が簡単に入手できるような贅沢な時代です。&lt;br /&gt;Spartan-6 FPGA LX9 MicroBoardはソフトコアマイクロプロセッサ開発環境を付属して一万円を切る値段です。&lt;br /&gt;実はこの評価ボードとEDKの特別パッケージなんて噂もあったので購入を控えていましたが、限定的なSDKでも良いかということで購入に踏み切ることにしました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Odrh36F9zKQ/TmC92aviMYI/AAAAAAAABgE/J37CvR81V_I/s1600/DSC05272.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-Odrh36F9zKQ/TmC92aviMYI/AAAAAAAABgE/J37CvR81V_I/s400/DSC05272.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;市場に出回るFPGA評価ボードの中ではかなり小さい部類に入ります。&lt;br /&gt;&lt;br /&gt;従来の評価ボードにあるような機能がかなり盛り込まれています。&lt;br /&gt;ソフトコアマイクロプロセッサを動作させる事を念頭に置いたDDR SDRAMもあります。&lt;br /&gt;&lt;h1&gt;開発環境のセットアップ&lt;/h1&gt;&lt;div&gt;開発環境のセットアップはXilinx社のツールに慣れている人であれば戸惑うことはありません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;が、このボードが初めてのXilinxという方は少し戸惑うかもしれません。&lt;/div&gt;&lt;div&gt;何せセットアップのドキュメントが・・・どこにあるの？という感じです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VqGkRcN-1EU/TmC_c9pe-2I/AAAAAAAABgI/acscTNHJkUk/s1600/DSC05270.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-VqGkRcN-1EU/TmC_c9pe-2I/AAAAAAAABgI/acscTNHJkUk/s400/DSC05270.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;参考までに幾つかのシーンをピックアップしてポイントを示しておきます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;まず、LX9 MicroBoardには開発ツールのライセンスが付いてきます。&lt;/div&gt;&lt;div&gt;これは「Spartan-6 LX9 MicroBoard Kit - ISE Design Suite: WebPack and SDK Device Locked, Node-Locked License」という名称が付けられています。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;パッケージを開けると付いてくる「重要！(IMPORTANT!)」と書かれた養子に書いてあるコードがユーザ固有のライセンスコードです。これは間違っても捨てないように。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XdIDFeIvtik/TmDAt5lpIFI/AAAAAAAABgM/9qFgum679M0/s1600/DSC05271.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-XdIDFeIvtik/TmDAt5lpIFI/AAAAAAAABgM/9qFgum679M0/s400/DSC05271.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;付属していたISEのバージョンは12.4でした。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-IfGfkQueDzY/TmDBDPC3k7I/AAAAAAAABgQ/eXJw4B03r-I/s1600/ise-install.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-IfGfkQueDzY/TmDBDPC3k7I/AAAAAAAABgQ/eXJw4B03r-I/s400/ise-install.png" width="377" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;インストールするエディションを選択する画面が出ます。&lt;/div&gt;&lt;div&gt;これは「ISE Design Suite : System Edition」が正解です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-AwX6DMq4fR0/TmDBWw0K8xI/AAAAAAAABgU/Z-Oinrb_FFE/s1600/ise-edition.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="193" src="http://4.bp.blogspot.com/-AwX6DMq4fR0/TmDBWw0K8xI/AAAAAAAABgU/Z-Oinrb_FFE/s400/ise-edition.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;インストールするオプションの選択が促されると思います。&lt;/div&gt;&lt;div&gt;私はとりあえず全部入れておきました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ShMIwI0ZucI/TmDBugqFSiI/AAAAAAAABgY/kpNYl0S4cFo/s1600/ise-tools.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="96" src="http://3.bp.blogspot.com/-ShMIwI0ZucI/TmDBugqFSiI/AAAAAAAABgY/kpNYl0S4cFo/s400/ise-tools.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;LX9 MicroBoardにはRJ-45が付いています。&lt;/div&gt;&lt;div&gt;ネットワークを絡めた何かができるはずです。&lt;/div&gt;&lt;div&gt;インストーラもネットワークのあれこれに備えてネットワークパケットキャプチャツールのインストールを促してきます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nN2feYCaNSw/TmDCGbpVq1I/AAAAAAAABgc/Z9fINCYzDHM/s1600/winpcap.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="305" src="http://2.bp.blogspot.com/-nN2feYCaNSw/TmDCGbpVq1I/AAAAAAAABgc/Z9fINCYzDHM/s400/winpcap.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;この後ライセンスを登録して完了です。&lt;/div&gt;&lt;div&gt;まず、Xilinx社のサイトで自分用のアカウントを取得しておいてください。&lt;/div&gt;&lt;div&gt;これは無償でできます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ツールのインストールが完了するとライセンスマネージャが起動します。&lt;/div&gt;&lt;div&gt;ライセンスを登録する場合、以下のようにライセンスマネージャ経由でウェブサイトにアクセスすることで簡単に行なえます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vOu7vcopk0Y/TmDEFQ9HvlI/AAAAAAAABgg/_RtWU5oJqow/s1600/licensestep.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="378" src="http://4.bp.blogspot.com/-vOu7vcopk0Y/TmDEFQ9HvlI/AAAAAAAABgg/_RtWU5oJqow/s400/licensestep.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ログインしていない場合、ログイン画面が表示されます。&lt;/div&gt;&lt;div&gt;ログインするとライセンスを入れる画面がブラウザに表示されるはずです。&lt;/div&gt;&lt;div&gt;ここに箱に同梱されていたライセンス番号を入力し、「Redeem Now」を押します。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zSHep2Ti4ss/TmDEi8CHOuI/AAAAAAAABgk/K-vM2pfxRMw/s1600/xilinx-website.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="391" src="http://4.bp.blogspot.com/-zSHep2Ti4ss/TmDEi8CHOuI/AAAAAAAABgk/K-vM2pfxRMw/s400/xilinx-website.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ノードライセンスの生成画面が表示されます。&lt;/div&gt;&lt;div&gt;ノードロックのハードウェア固有情報は「ディスク」と「ネットワーク」から選択できます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;過去にライセンスを取得した事がある場合、複数のノードが表示されますので、今回のライセンスを使って開発するマシンを選んで下さい。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bOamg7dlOkg/TmDFPa2hY4I/AAAAAAAABgo/iltwf9gAy9c/s1600/genlic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-bOamg7dlOkg/TmDFPa2hY4I/AAAAAAAABgo/iltwf9gAy9c/s400/genlic.png" width="350" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;生成が終わるとライセンスファイルがメールで送られてきます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-KgKEUBQ5prI/TmDFnQQrwXI/AAAAAAAABgs/pkW-VUf4Jrs/s1600/xlicfile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-KgKEUBQ5prI/TmDFnQQrwXI/AAAAAAAABgs/pkW-VUf4Jrs/s1600/xlicfile.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;これを先ほどのライセンスマネージャで読み込んで完了です。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BkllZpVUZXU/TmDGHeehVZI/AAAAAAAABgw/npbyyywqN-I/s1600/lx9license.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="220" src="http://4.bp.blogspot.com/-BkllZpVUZXU/TmDGHeehVZI/AAAAAAAABgw/npbyyywqN-I/s400/lx9license.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;ライセンスの状態が気になればライセンスマネージャでいつでも確認することができます。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;今回のライセンスには「Xilinx Software Development Kit」のライセンスも含まれるようです。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;気になる人はこちらも起動して問題ないことを確認しましょう。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-bUXOoYEUXnI/TmDIch0B4mI/AAAAAAAABg0/jbObPNXJFGI/s1600/xsdk.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="251" src="http://4.bp.blogspot.com/-bUXOoYEUXnI/TmDIch0B4mI/AAAAAAAABg0/jbObPNXJFGI/s400/xsdk.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h1&gt;まとめ&lt;/h1&gt;今回は勢いで購入したLX9 MicroBoardの開発環境セットアップについて触れました。EDKのシュリンク版っぽいものは、デバイスロックだけが制限かと思っていました。ですが、実際にインストールしてみると１年の限定ライセンスのように見えますね。このあたりはどうなんでしょうか？個人的に期間限定ライセンスには何の魅力も感じないので少し気になります。&lt;br /&gt;&lt;br /&gt;ライセンス周りは意外に面倒ですね。&lt;br /&gt;このあたり、私は考えすぎるとやらなくなるので、細かいことを気にせずにザクザクやるようにしています。&lt;br /&gt;今回の記事もかなり適当ですので、参考にする場合にはくれぐれも自己責任でお願いします。&lt;br /&gt;何があっても責任は取れません。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-7327181037629863279?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/7327181037629863279/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/avnet-spartan-6-fpga-lx9-microboard.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/7327181037629863279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/7327181037629863279'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/09/avnet-spartan-6-fpga-lx9-microboard.html' title='AVNET Spartan-6 FPGA LX9 MicroBoardの開発環境をセットアップする'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Odrh36F9zKQ/TmC92aviMYI/AAAAAAAABgE/J37CvR81V_I/s72-c/DSC05272.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4394877172045369819</id><published>2011-08-21T19:07:00.004+09:00</published><updated>2011-08-21T20:11:40.585+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EAGLE'/><category scheme='http://www.blogger.com/atom/ns#' term='Proteus'/><title type='text'>Proteus 7のデモバージョンを試す（EAGLEの上にも10年）</title><content type='html'>&lt;h1&gt;EAGLEの上にも10年&lt;/h1&gt;まだ日本国内でEALGEの知名度がそんなに高くなかった頃からのノン・プロフィット・ライセンス・ユーザなのですが、最近は色んな事を考えて他のCADかあるいはライセンス形態を変更しようと検討を進めています。&lt;br /&gt;&lt;br /&gt;具体的には&lt;br /&gt;&lt;ul&gt;&lt;li&gt;作った基板を販売できるようにしたい。&lt;/li&gt;&lt;li&gt;階層化設計に対応したCADを使いたい。&lt;/li&gt;&lt;li&gt;もうちょっと楽に配線できたらなぁ。&lt;/li&gt;&lt;li&gt;ネットリストでPCB CADにデザインを渡したい！（どんな欲求だ！）&lt;/li&gt;&lt;li&gt;実はEAGLE・・・ちょっと設計が大きくなると重い。&lt;/li&gt;&lt;li&gt;その他。&lt;/li&gt;&lt;/ul&gt;など、どれも切実とは言えませんが、少し前に設計したARM Cortex-M3基板設計時に「もうちょっと楽したいなぁ。」というのが発端になっています。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;EAGLEの気になるところ&lt;/h1&gt;どんな事がネックになったのかをちょっと整理してみましょう。&lt;br /&gt;回路図はA3のシートにゆったり書いて8ページのデザインです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-2qdG3V_EejI/TlDHBS9g1pI/AAAAAAAABfI/zsb6Nf6uK7w/s1600/eagle-sch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-2qdG3V_EejI/TlDHBS9g1pI/AAAAAAAABfI/zsb6Nf6uK7w/s400/eagle-sch.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;気になる事の1点目はクロスリファレンスです。&lt;br /&gt;&lt;br /&gt;複数ページに渡る図面で「いつも何か気になる事。」の1つはクロスリファレンスの扱いです。&lt;br /&gt;現行のバージョン(バージョン5系)までのEAGLEにおいて、クロスリファレンスは「ULPでなんとかがんばりましょう。」というものです。ULPを使って最終的に仕上がる図面としては「それっぽく」なるのですが、所詮ULPで付けたクロスリファレンス、後からネット名を変えた日には即座に破たんです。本来であれば変更に追従して欲しいところです。&lt;br /&gt;&lt;br /&gt;最近のバージョンでは、ネットにラベル名を付ける機能に「クロスリファレンスっぽいタグ」が選択できるようになりました。が、これは現状のバージョンでバスには使えませんでした。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-wIyawtj4gQU/TlDJl5UbS-I/AAAAAAAABfQ/SSMPvwzI5Ds/s1600/eagle-label.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="http://3.bp.blogspot.com/-wIyawtj4gQU/TlDJl5UbS-I/AAAAAAAABfQ/SSMPvwzI5Ds/s400/eagle-label.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;次に気になるのはデザインの再利用性です。&lt;br /&gt;&lt;br /&gt;一度設計してデバッグが完了した回路ブロックは、より大きなデザインに対しての単一モジュールとして再利用したいものです。しかし、EAGLEにそんな機能はありません。&lt;br /&gt;&lt;br /&gt;例えば、「このオーディオ回路ブロックを再利用したいなぁ。」なんていう時、まぁなんというかコピーするしかないのです。で、よくある間違いが電源系だけ間違えたとか、そんな話です。そもそもコピーなんていうのは対処法としてお世辞にも良いと言える理由が見つかりません。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-uiJpx_QeUv8/TlDLjXjRaaI/AAAAAAAABfU/WebznjBKrTM/s1600/b063_audio-circuit.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-uiJpx_QeUv8/TlDLjXjRaaI/AAAAAAAABfU/WebznjBKrTM/s400/b063_audio-circuit.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;基板側は4層基板でデザインは小さい部類に入ります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-YNl2qPOaOqA/TlDHQ2XuATI/AAAAAAAABfM/gWhOAGjF8Ho/s1600/eagle-brd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-YNl2qPOaOqA/TlDHQ2XuATI/AAAAAAAABfM/gWhOAGjF8Ho/s400/eagle-brd.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;例えば、EAGLEで基板配線している時に気になるのは、DRCを通すまで重なりに気付かない事があるという点。CADにもよりますが自動的にピンなりビアなりを避けてルーティングして欲しいものです。最近はEAGLEにもFollow-me配線があるのですが、なんというかちょっと違うような気がしています。（適当な書き方ですいません。）&lt;br /&gt;&lt;br /&gt;DRCを通さない事ありませんので良いと言えば良いのですが、本当は既存の配線に沿ってルーティングしてくれれば4層の基板を趣味とはいえ引くのに1週間もかかったりしないのでは？と考えたりしています。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Proteus 7&lt;/h1&gt;&lt;div&gt;Proteus 7は&lt;a href="http://www.labcenter.com/index.cfm"&gt;http://www.labcenter.com/index.cfm&lt;/a&gt;が製造販売しているCADです。&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.labcenter.com/ordering/cprices.cfm"&gt;スターターキットは150ユーロから&lt;/a&gt;と導入の敷居はかなり低そうです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;一部の機能に制限があるというデモ版をダウンロードできるようなので試してみる事にしました。&lt;/div&gt;&lt;div&gt;電気設計はISISという名称のツールを使います。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-DpucaTNmFWk/TlDPV2eo29I/AAAAAAAABfY/n7RdpWAHlUs/s1600/Proteus7-ISIS.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://2.bp.blogspot.com/-DpucaTNmFWk/TlDPV2eo29I/AAAAAAAABfY/n7RdpWAHlUs/s400/Proteus7-ISIS.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;基板設計はARESというツールです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-cUdMmmWdy8s/TlDPgYivOmI/AAAAAAAABfc/XU3KJX-ArdE/s1600/Proteus7-ARES.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-cUdMmmWdy8s/TlDPgYivOmI/AAAAAAAABfc/XU3KJX-ArdE/s400/Proteus7-ARES.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h1&gt;基板設計側を見る&lt;/h1&gt;&lt;div&gt;この手のツールは個人的に、電気設計側が良いと基板設計側がダメだったりとバランスが悪い印象があります。まずは基板設計側で思った通りに操作できるかどうかを確かめます。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;黄色の矢印は「主にこっち側に配線が伸びているよ。」というものを示すもののようです。&lt;/div&gt;&lt;div&gt;ルーティングはルーティング用アイコンを選択してピンをクリックすれば始まります。&lt;/div&gt;&lt;div&gt;「おっと。意外にも良い感じだ。」なんてこの時点で感じました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XZXSchFrJN0/TlDQhYgylDI/AAAAAAAABfg/nftWoSxMTtU/s1600/routing.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://1.bp.blogspot.com/-XZXSchFrJN0/TlDQhYgylDI/AAAAAAAABfg/nftWoSxMTtU/s400/routing.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;で、情けない話ですが・・・&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-b-LUNv9Hk8o/TlDRVCp2OkI/AAAAAAAABfk/Vn3WFVPkBjM/s1600/net-name.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="302" src="http://2.bp.blogspot.com/-b-LUNv9Hk8o/TlDRVCp2OkI/AAAAAAAABfk/Vn3WFVPkBjM/s400/net-name.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;引いたところでネット名が即座に確認できる！なんて感動してしまうわけです。&lt;/div&gt;&lt;div&gt;まぁ、EAGLEの常識がCADの常識なんてこれっぽっちも思っていないわけですが、それでも「なんだかなぁ、自分。」という感じです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;当然のようにデザインルールで定めた範囲で的確にルーティングさせるようになっています。&lt;/div&gt;&lt;div&gt;配線できない所には行かせません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-rZ2SwHoQfpw/TlDTbJgtXyI/AAAAAAAABfo/Qcx0a3iPn-w/s1600/route-stop.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="132" src="http://4.bp.blogspot.com/-rZ2SwHoQfpw/TlDTbJgtXyI/AAAAAAAABfo/Qcx0a3iPn-w/s400/route-stop.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;当然のように予めネットにつけておいたアトリビュートに従って配線幅も適切なものになるようになっています。EAGLEだと後から自分で修正したり、引く前に選択したりしていました。で、最後にDRCの結果を見て修正するなど・・・。これが時間がかかるのと神経質な操作になったりして意外にストレスになったりします。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h1&gt;電気設計側を見る&lt;/h1&gt;&lt;/div&gt;&lt;div&gt;基板設計側が「パッ見て」良さそうなので電気設計側も見てみる事にしました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;既存の電気図面にシートを1枚追加して、コンポーネントを適当に配置し、配線してみます。&lt;/div&gt;&lt;div&gt;配線したネットにネット名を付けて「デザインエクスプローラ」なるものでネットの配線状況を確認してみました。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UKGNeOPqqHk/TlDXF5XWdmI/AAAAAAAABfs/JCmqjfTHoRY/s1600/net-ref.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://3.bp.blogspot.com/-UKGNeOPqqHk/TlDXF5XWdmI/AAAAAAAABfs/JCmqjfTHoRY/s400/net-ref.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;どこのCADとは言いませんがネットに名前を付ける程度で戸惑うようなユーザインターフェースになっているCADも少なくありません。まともに機能しないというのもその一つです。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ですが、少なくともISISにはそういった点は見つかりませんでした。&lt;/div&gt;&lt;div&gt;事前調査に進む為の第1関門突破といったところでしょうか。&lt;/div&gt;&lt;br /&gt;そして、嬉しいのが階層化設計が表現できる機能。&lt;br /&gt;回路ブロックを定義し、「Goto Child Sheet」でそのブロックに飛べるようになっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1Pu7WAesssk/TlDaOsaMl3I/AAAAAAAABf0/3ePdWDWUTP4/s1600/goto-child-sheet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://1.bp.blogspot.com/-1Pu7WAesssk/TlDaOsaMl3I/AAAAAAAABf0/3ePdWDWUTP4/s400/goto-child-sheet.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;子シートに飛ぶと内部設計が表示されますね。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZWR4bxGG6zU/TlDanAJbhvI/AAAAAAAABf4/yKhIdeLvPMA/s1600/child-sheet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-ZWR4bxGG6zU/TlDanAJbhvI/AAAAAAAABf4/yKhIdeLvPMA/s400/child-sheet.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;これが実現できているのですから、きっとクロスリファレンスもうまくやってくるでしょうと期待してしまいます。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;いずれにせよ&lt;/h1&gt;&lt;div&gt;そうは言ってもEAGLEは私にとって身分相応のCADで、費用対効果はこれまでの実績から十分なものと言えるでしょう。本当に小規模な設計であれば、道具として使えない事は全くありません。道具は使う人によって生きたり死んだりしますから、CADの選択が全てを決めるわけではないというのは言うまでもありません。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;今回のProteus 7の評価は最初の一歩ですが、時間を見てもう少し触ってみたいものです。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;番外編&lt;/h1&gt;&lt;div&gt;このCADにはシミュレーション機能もあるのですが、これが気持ち悪い。&lt;/div&gt;&lt;div&gt;どうやって実現しているのかまだよくわかっていませんが、例えばuClinuxが走ります。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hx5jVQg3ojQ/TlDkNQPgmkI/AAAAAAAABf8/sVueTV0gsZM/s1600/uclinux-terminal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-hx5jVQg3ojQ/TlDkNQPgmkI/AAAAAAAABf8/sVueTV0gsZM/s400/uclinux-terminal.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;私個人的には「自分で作ったライブラリ類」でできない限り、この手の機能は「ふーん。」程度にしか見ないのですが、それにしても気になります。&lt;br /&gt;&lt;br /&gt;3D表示はなかなか使えそうです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CArnh_NBS4o/TlDn3bxi0aI/AAAAAAAABgA/g3XmRM7vCKU/s1600/proteus-3d.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-CArnh_NBS4o/TlDn3bxi0aI/AAAAAAAABgA/g3XmRM7vCKU/s400/proteus-3d.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4394877172045369819?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4394877172045369819/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/proteus-7eagle10.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4394877172045369819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4394877172045369819'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/proteus-7eagle10.html' title='Proteus 7のデモバージョンを試す（EAGLEの上にも10年）'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-2qdG3V_EejI/TlDHBS9g1pI/AAAAAAAABfI/zsb6Nf6uK7w/s72-c/eagle-sch.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-1128656885695337649</id><published>2011-08-10T21:51:00.001+09:00</published><updated>2011-08-16T20:16:13.254+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso Clock'/><title type='text'>設計基板にアクリルを付けてお洒落度アップ！「アクリ屋ドットコム」さんにアクリルを発注してみる。</title><content type='html'>&lt;h1&gt;外装にも少しは気を配りたい&lt;/h1&gt;&lt;br /&gt;おもてなしの心は日本人の得意分野かと思っていましたが、コスト削減要求の嵐の中そんなことは忘れ去られてしまったかのように見える今日。&lt;br /&gt;ちょっとした評価基板の天面にアクリル板なんかが載っていると思わず「おぉー。」なんて思ってしまうのも情けない話です。&lt;br /&gt;&lt;br /&gt;例えば、Terasic Technologiesのボードなんかの仕上がりは、かなり私好みです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-lCcxsqakcdM/Tjvdr1hByOI/AAAAAAAABeg/THYpVE1FGEI/s1600/DE0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="307" src="http://2.bp.blogspot.com/-lCcxsqakcdM/Tjvdr1hByOI/AAAAAAAABeg/THYpVE1FGEI/s400/DE0.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;それはともかく、今回設計したLPCXpresso Clockでは、予め簡単な外装を付ける事を前提に設計を進めていました。&lt;br /&gt;&lt;br /&gt;アクリルなどで簡単な養生があるだけでも何かのメリットがあるわけです。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;基板の隅々に埃が被るような事がない。&lt;/li&gt;&lt;li&gt;埃が被りにくいので「何か古臭くなったなぁ」なんて感じる事がない。&lt;/li&gt;&lt;li&gt;水滴が飛んでもある程度大丈夫。&lt;/li&gt;&lt;li&gt;少しおしゃれ。 &lt;/li&gt;&lt;li&gt;その他。&lt;/li&gt;&lt;/ul&gt;少し無理矢理ですが色々なメリットが考えられますね。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;アクリ屋ドットコムさん&lt;/h1&gt;&lt;br /&gt;基板製造が海外で数十ドルから出来るようになった今、相対的に外装にかかる費用は大きくなっていると言わざるを得ないのが現状です。&lt;br /&gt;&lt;br /&gt;そんな中、国内で面白いサービスを展開されている企業があります。&lt;br /&gt;私は今回&lt;a href="http://www.acry-ya.com/"&gt;「アクリ屋ドットコム」&lt;/a&gt;さんにアクリルの加工依頼をしてみました。&lt;br /&gt;&lt;br /&gt;アクリル板加工でセミオーダー形式でウェブから注文ができるサービスを展開しています。&lt;br /&gt;&lt;a href="http://www.acry-ya.com/acry-ya_new/semiorder/order_ita_form.htm"&gt;ちょっとした加工までをウェブから行う事ができ、その場で値段がわかる&lt;/a&gt;のが特徴です。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;LPCXpresso Clockの場合&lt;/h1&gt;&lt;br /&gt;「アクリ屋ドットコム」さんのセミオーダーの場合、穴位置などの指定単位が0.5mm単位です。&lt;br /&gt;また、アクリル端からの穴位置に若干の制約があります。&lt;br /&gt;&lt;br /&gt;LPCXpresso Clockの場合、以下のようにして対応しました。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;穴位置はアクリル板の端面からの距離で指定することになっている。&lt;/li&gt;&lt;li&gt;0.5mm単位のグリッドに載せると若干ずれる。&lt;/li&gt;&lt;li&gt;穴位置が許容される誤差に収まるようにアクリル板のサイズを調整する。&lt;/li&gt;&lt;/ul&gt;要するに穴位置がアクリル板の端からの位置で決まるので、アクリル板のサイズを調整して許容される範囲に穴位置を調整しようという対応です。（こんなのは機械屋さんから見ると最低だろうと思うのですが、私は機械に関して詳しいとは言えないのでよくわかりません。）&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;出来上がってきたアクリルを付けると以下のようになります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-GaqcdIq-5w4/TkJ9cj8IdLI/AAAAAAAABfA/sJHKJEXbIxg/s1600/LPCXpressoClock.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://2.bp.blogspot.com/-GaqcdIq-5w4/TkJ9cj8IdLI/AAAAAAAABfA/sJHKJEXbIxg/s400/LPCXpressoClock.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;基板だけの時と比べると、与える印象がまるで違いますね。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yhl6sVpHDUY/TkJ99KzKVdI/AAAAAAAABfE/lXN5uU1SIjI/s1600/LPCXpressoClock_PCB-only.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-yhl6sVpHDUY/TkJ99KzKVdI/AAAAAAAABfE/lXN5uU1SIjI/s400/LPCXpressoClock_PCB-only.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今回のアクリルパネルは一枚で約700円程度です。&lt;br /&gt;基板の原価と同じくらいの費用が外装にかかるわけですが、実際に完成してみると良い効果を生み出していると言えるのではないでしょうか。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-1128656885695337649?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/1128656885695337649/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1128656885695337649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1128656885695337649'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/blog-post.html' title='設計基板にアクリルを付けてお洒落度アップ！「アクリ屋ドットコム」さんにアクリルを発注してみる。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-lCcxsqakcdM/Tjvdr1hByOI/AAAAAAAABeg/THYpVE1FGEI/s72-c/DE0.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-1263067008091290634</id><published>2011-08-09T21:42:00.001+09:00</published><updated>2011-08-09T21:44:55.802+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eagle3D'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso Clock'/><title type='text'>LPCXpresso Clockに部品を搭載して動作させてみる</title><content type='html'>&lt;h1&gt;動作させてみる&lt;/h1&gt;先日到着したLPCXpresso Clock基板に部品を搭載してLED周辺回路の動作確認を行いました。&lt;br /&gt;点灯させた状態で以下のようになります。&lt;br /&gt;&lt;br /&gt;まだ基板だけの状態なのです。&lt;br /&gt;これにアクリルパネルを取り付けて外装の完成となる予定です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KGrpJRvDxbw/TkEnYduvU5I/AAAAAAAABe0/QFTZHeNdAPk/s1600/LPCXpressoClock.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://4.bp.blogspot.com/-KGrpJRvDxbw/TkEnYduvU5I/AAAAAAAABe0/QFTZHeNdAPk/s400/LPCXpressoClock.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;もちろんLPCXpresso IDEを使ったデバッグを行うこともできます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/LXtlnIpG4oY/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LXtlnIpG4oY?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/LXtlnIpG4oY?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;LPCXpresso IDEでデバッグもできる他、外部電源で独立運転もできるように設計しました。&lt;br /&gt;デバッグを楽しんだ後は普通に時計として使用する事ができるようになっています。&lt;br /&gt;&lt;h1&gt;Eagle3D + POV-RayによるCGとの比較&lt;/h1&gt;折角なので先日Eagle3D + POV-Rayで作ったCGとも見比べてみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yBHF4VvHHcU/TkEq4FShemI/AAAAAAAABe4/g96QzTM4U6c/s1600/lpcxclk-povray.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="78" src="http://3.bp.blogspot.com/-yBHF4VvHHcU/TkEq4FShemI/AAAAAAAABe4/g96QzTM4U6c/s320/lpcxclk-povray.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-DpmV-B7IXGU/TkEq5WRspaI/AAAAAAAABe8/U6v2FYMDCsM/s1600/lpcxclk-real.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="79" src="http://2.bp.blogspot.com/-DpmV-B7IXGU/TkEq5WRspaI/AAAAAAAABe8/U6v2FYMDCsM/s320/lpcxclk-real.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;そっくりですね。&lt;br /&gt;Eagle3D + POV-Rayでの確認は、なかなか有用そうです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-1263067008091290634?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/1263067008091290634/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/lpcxpresso-clock_09.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1263067008091290634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1263067008091290634'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/lpcxpresso-clock_09.html' title='LPCXpresso Clockに部品を搭載して動作させてみる'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-KGrpJRvDxbw/TkEnYduvU5I/AAAAAAAABe0/QFTZHeNdAPk/s72-c/LPCXpressoClock.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-6090739504685626533</id><published>2011-08-05T17:14:00.000+09:00</published><updated>2011-08-05T17:14:49.805+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EAGLE'/><category scheme='http://www.blogger.com/atom/ns#' term='Eagle3D'/><title type='text'>Eagle3D + POV-Rayをもっと活用してリアルな完成イメージ図を得る</title><content type='html'>&lt;h1&gt;Eagle3Dって何だっけ？&lt;/h1&gt;Eagle3Dは、EAGLEで設計した基板データから写真で撮影したようなリアルな３次元CG画像を作る事のできるツールです。&lt;br /&gt;実際に基板製造をする前に完成イメージ図が得られますので、好んで使用しています。&lt;br /&gt;&lt;br /&gt;リアルな３次元CG画像を得るためには３次元モデルが欠かせませんが、EAGLEに標準で添付されているライブラリの多くに対応しているのもEagle3Dが人気の理由の一つになっています。&lt;br /&gt;&lt;br /&gt;裏を返すと、標準で添付されていないような自作ライブラリなどの部品は、生成された３次元CG画像に含まれないことになります。&lt;br /&gt;何を隠そう私も先日まで「面倒だなぁ。」とか「良いんですよ、基板の感じが掴めれば。」とか思う事にして、自作ライブラリに対するケアは全くしていない状態でした。&lt;br /&gt;そして、自作ライブラリだけ歯抜けになっているとかっこ悪いので、「部品を載せない」設定にして出力です。&lt;br /&gt;&lt;br /&gt;ですから、以下のように何か足りない寂しい出力になっていたわけです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OMZT5efSNBc/TjuF-qWrobI/AAAAAAAABd8/cCAgNa_Y3AM/s1600/eagle3d-no-components.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="91" src="http://1.bp.blogspot.com/-OMZT5efSNBc/TjuF-qWrobI/AAAAAAAABd8/cCAgNa_Y3AM/s400/eagle3d-no-components.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;しかし、所詮は四角や丸の多い電子部品の３次元モデル。&lt;br /&gt;POV-Rayのスクリプトを実装するのもそんなに難しいはずがありません。&lt;br /&gt;&lt;br /&gt;基板だけの出力に甘んじている現状にも我慢できなくなってきたので「もっと活用してリアルな完成イメージ図を得る」という目標を立てて実践する事にしました。&lt;br /&gt;&lt;h1&gt;Eagle3Dの処理構成&lt;/h1&gt;Eagle3Dの処理構成についておさらいしてみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-koN6lz_0Fs8/TjuJZBuPnKI/AAAAAAAABeA/uY9pH2r5J_o/s1600/eagle3d-steps.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="112" src="http://2.bp.blogspot.com/-koN6lz_0Fs8/TjuJZBuPnKI/AAAAAAAABeA/uY9pH2r5J_o/s400/eagle3d-steps.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;大まかにみると２段階の構成になっていて、EAGLE上でPOV-Rayで実行するレンダリング用スクリプトファイルを生成し、POV-Rayで実際にレンダリングを実行するという形になっています。&lt;br /&gt;&lt;br /&gt;整理すると&lt;br /&gt;&lt;ul&gt;&lt;li&gt;EAGLE側：部品のパッケージ名とレンダリング処理の関連付け。&lt;/li&gt;&lt;li&gt;POV-Ray側：レンダリング処理の実行。&lt;/li&gt;&lt;/ul&gt;ということになります。&lt;br /&gt;&lt;h1&gt;コンポーネントの追加&lt;/h1&gt;&lt;h2&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;EAGLE&lt;/span&gt;&lt;/h2&gt;Eagle3Dを展開するとulpディレクトリがあります。&lt;br /&gt;この中にある3dusrpac.datというファイルがユーザパッケージ情報を定義することのできるファイルとして用意されています。&lt;br /&gt;ここにパッケージ名とレンダリング処理を関連付けるための記述を1行追加します。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;A-551UB:0:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:DIODE_LED_7SEG_A551UB(::&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;上記の場合、「A-551UB」というパッケージと「DIODE_LED_7SEG_A551UB」というレンダリング処理が関連付けられた事になります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Y65UJZBXmX8/TjuOYatvV0I/AAAAAAAABeE/22FX02mNDIo/s1600/eagle3d-component-property.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="http://3.bp.blogspot.com/-Y65UJZBXmX8/TjuOYatvV0I/AAAAAAAABeE/22FX02mNDIo/s400/eagle3d-component-property.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;これでEAGLE側の準備は完了です。&lt;br /&gt;早速Eagle3DのULPを実行してPOVファイルを生成します。&lt;br /&gt;&lt;h2&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;POV-Ray&lt;/span&gt;&lt;/h2&gt;POV-Ray側は指定されたレンダリング処理に対する実装が必要です。&lt;br /&gt;Eagle3Dを展開したディレクトリにあるe3d_user.incがユーザ拡張用に設けられたファイルです。&lt;br /&gt;&lt;br /&gt;先ほどDIODE_LED_7SEG_A551UBというレンダリング処理と結びつけたので、ここにマクロとして実装します。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;#declare e3d_environment = off;&lt;br /&gt;&lt;br /&gt;#macro DIODE_LED_7SEG_A551UB(value)&lt;br /&gt;&lt;br /&gt;    // ピンオブジェクトを定義する。&lt;br /&gt;    #local leg = object{&lt;br /&gt; cylinder {&amp;lt;0,-3,0&amp;gt;,&amp;lt;0,1,0&amp;gt;,0.25 texture{col_silver}}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // コーナーを作る。&lt;br /&gt;    #local corner = object{&lt;br /&gt; box {&amp;lt;0,0,0&amp;gt;&amp;lt;2.5,1,2.5&amp;gt; pigment{White}}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    union{&lt;br /&gt; // ピンを配置する。&lt;br /&gt; object{ leg translate&amp;lt; -5.08,0,7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt; -2.54,0,7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt;     0,0,7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt;  2.54,0,7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt;  5.08,0,7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt; -5.08,0,-7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt; -2.54,0,-7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt;     0,0,-7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt;  2.54,0,-7.935&amp;gt;}&lt;br /&gt; object{ leg translate&amp;lt;  5.08,0,-7.935&amp;gt;}&lt;br /&gt;&lt;br /&gt; // 本体を作る。&lt;br /&gt; box {&lt;br /&gt;     &amp;lt;-6.35,1,-9.5&amp;gt;,&amp;lt;6.35,8,9.5&amp;gt; pigment{White}&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; // ４つのコーナーを配置する。&lt;br /&gt; object{ corner translate&amp;lt;-6.35,0,-9.5&amp;gt;}&lt;br /&gt; object{ corner rotate&amp;lt;0,90,0&amp;gt; translate&amp;lt;-6.35,0,9.5&amp;gt;}&lt;br /&gt; object{ corner rotate&amp;lt;0,180,0&amp;gt; translate&amp;lt;6.35,0,9.5&amp;gt;}&lt;br /&gt; object{ corner rotate&amp;lt;0,270,0&amp;gt; translate&amp;lt;6.35,0,-9.5&amp;gt;}&lt;br /&gt;&lt;br /&gt; // 本体の情面に７セグメントLEDの画像ファイルを貼る。&lt;br /&gt; box {&lt;br /&gt;     &amp;lt;-6.35,8,-9.5&amp;gt;,&amp;lt;6.35,8.1,9.5&amp;gt;&lt;br /&gt;     pigment{&lt;br /&gt;  image_map{png "a551ub.png" once}  rotate&amp;lt;90,0,0&amp;gt; scale&amp;lt;12.7,0,19&amp;gt; &lt;br /&gt;  // 左下に画像を貼ってから全てのオブジェクトを移動させて中心にもっていく。&lt;br /&gt;  translate&amp;lt;-6.35,0,-9.5&amp;gt;&lt;br /&gt;     }&lt;br /&gt; }&lt;br /&gt;    }&lt;br /&gt;#end&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;こんな風に２つのファイルを編集するだけで、手軽に自作コンポーネントに対する３次元モデルを生成できるようになります。&lt;br /&gt;部品面の描画を記述するのが面倒なら、部品をデジタルカメラなどで撮影し、その映像を貼りつけるだけで構いません。&lt;br /&gt;&lt;br /&gt;先ほどの例では以下のような画像を部品本体に貼りつけています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bFTkALOhR9U/TjuX_dAkERI/AAAAAAAABeQ/67acJn40J4E/s1600/a551ub.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-bFTkALOhR9U/TjuX_dAkERI/AAAAAAAABeQ/67acJn40J4E/s200/a551ub.png" width="131" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;上記の手順を経て得られた出力画像を見てみましょう。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-xY5QKeX9kg0/TjuXhmfYrSI/AAAAAAAABeM/x4e2c93aEW0/s1600/eagle3d-added-component.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="97" src="http://4.bp.blogspot.com/-xY5QKeX9kg0/TjuXhmfYrSI/AAAAAAAABeM/x4e2c93aEW0/s400/eagle3d-added-component.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;これで先日までの基板だけの完成イメージよりもリアリティを感じられるようになりました。&lt;/div&gt;&lt;h1&gt;動画&lt;/h1&gt;POV-Rayではレンダリング用のiniファイルを作ってアニメーションを生成するための複数画像ファイル生成ができるようになっています。&lt;br /&gt;&lt;br /&gt;例えば、以下のようなiniファイルを作ってPOV-Rayで使用してみます。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;Initial_Frame = 1&lt;br /&gt;Final_Frame = 360&lt;br /&gt;Initial_Clock = 0&lt;br /&gt;Final_Clock = 360&lt;br /&gt;Cyclic_Animation=off&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;ここでポイントとなるのは、POVファイルの変更です。&lt;br /&gt;clockという変数は描画毎にカウントアップされる値で、これを基板の回転変数に入れる事で基板を回転させて見る事ができるようになります。&lt;br /&gt;先ほどのiniファイルでは「初期クロック=0」、「最終クロック=360」としました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wOkNiXa2vSA/TjuaVk6MjvI/AAAAAAAABeU/_heSjtzKJx0/s1600/eagle3d-ini-file.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://1.bp.blogspot.com/-wOkNiXa2vSA/TjuaVk6MjvI/AAAAAAAABeU/_heSjtzKJx0/s400/eagle3d-ini-file.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今回はPCBをX軸を中心に回転させてみました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-WtJAxhe9aWI/TjubfAdF5UI/AAAAAAAABeY/muM9MaldsF4/s1600/eagle3d-clock.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-WtJAxhe9aWI/TjubfAdF5UI/AAAAAAAABeY/muM9MaldsF4/s1600/eagle3d-clock.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;画像は複数枚のBMPファイルになって出てきます。&lt;br /&gt;これを動画に変換してみたものが以下です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/QK47PUnpEp4/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/QK47PUnpEp4?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/QK47PUnpEp4?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;動画にすることで更に実在する物体として認識しやすくなりました。&lt;br /&gt;基板を製造に出す前に「どんな感じになるのかなぁ。」と体感したい時に便利ですね。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;更なる応用も可能&lt;/h1&gt;今回は手始めに自作部品に対するレンダリングについてのみ触れました。&lt;br /&gt;実はPOV-Rayのレンダリングスクリプトをもっと有効に活用すれば、任意の表示パターンを作るようにできたりします。&lt;br /&gt;これを使えば取り扱い説明書の画像を作ったり、オペレーションガイドのような動画を生成したりすることもできるでしょう。&lt;br /&gt;使いこなせば従来ではできなかった品質をドキュメントの領域でも発揮できるかもしれません。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-6090739504685626533?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/6090739504685626533/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/eagle3d-pov-ray.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6090739504685626533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/6090739504685626533'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/eagle3d-pov-ray.html' title='Eagle3D + POV-Rayをもっと活用してリアルな完成イメージ図を得る'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-OMZT5efSNBc/TjuF-qWrobI/AAAAAAAABd8/cCAgNa_Y3AM/s72-c/eagle3d-no-components.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-1443910152443219709</id><published>2011-08-02T19:32:00.004+09:00</published><updated>2011-08-02T19:36:12.285+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso Clock'/><title type='text'>僕たちのファームウェア戦略 (LPCXpresso Clockを使って、組み込み機器開発特有の問題解決を楽しもう！)</title><content type='html'>&lt;h1&gt;戦略なしではいられない&lt;/h1&gt;LPCXpresso Clockは、現状でほぼ全てのLPCXpressoにドッキングする事を考えています。&lt;br /&gt;この時、LPCXpressoの各モデルに対するライブラリを個別に提供しても構わないのですが、管理や設計から見ると美しいとは言えません。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-qdZrgSbjlj0/TjfJxy3zQeI/AAAAAAAABds/a1U297c5_dU/s1600/firmware-design.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/-qdZrgSbjlj0/TjfJxy3zQeI/AAAAAAAABds/a1U297c5_dU/s400/firmware-design.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;例えば・・・&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;「このウルトラミラクル輝度制御機能は全モデルに搭載されている機能なんだけど、あのモデルでは"ABC"になっていて、このモデルでは"DEF"になっている。」&lt;/li&gt;&lt;li&gt;「あぁ、そのモデルは全然保守されていなくて、別のインターフェースになっているんだ。」&lt;/li&gt;&lt;li&gt;「え？このモデルでしか動かせないハッピータイマー機能を加えたけどだめだった？」&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;など、実際の製品開発においては、シリーズとして相応しいインターフェースを提供しているのかなどの検討も欠かせないのです。&lt;br /&gt;「あのモデルのためにABCインターフェースを追加したら、別のモデルで致命的な矛盾が生じた。」なんて笑うに笑えないわけです。&lt;br /&gt;&lt;br /&gt;今回の設計に関して言うと、殆どの機能は共通なのですから、アプリケーションロジックは共通にしておきたいところです。そのためには、下層ライブラリを適切なインターフェースで切って、実体を抽象的に扱う事が欠かせません。これは今後触れていくであろう「僕たちのクロスプラットフォーム戦略」にも関連があります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qClXZGJ2gTg/TjfLhyBoc4I/AAAAAAAABdw/bZ3Tfi8qgO8/s1600/firmware-idea.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="202" src="http://3.bp.blogspot.com/-qClXZGJ2gTg/TjfLhyBoc4I/AAAAAAAABdw/bZ3Tfi8qgO8/s400/firmware-idea.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;考えられる様々な要求を簡単に箇条書きにしてみましょう。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;使いやすいライブラリを提供して欲しい。(ユーザ要求)&lt;/li&gt;&lt;li&gt;インターフェースの学習コストを最小限にしたい。(ユーザ要求)&lt;/li&gt;&lt;li&gt;アプリケーションロジックは共通化して、開発コスト対効果を最大限に高めたい。(ユーザ要求)&lt;/li&gt;&lt;li&gt;優先度の高いモデルや機能から実装して、要求に応じて他のモデルも開発したい。(開発者要求)&lt;/li&gt;&lt;li&gt;「私はCで書きたいんだ。」、「私はC++で書きたいんだ。」(ユーザ要求)&lt;/li&gt;&lt;li&gt;その他&lt;/li&gt;&lt;/ul&gt;他にも様々な要求が考えられるわけです。&lt;br /&gt;要求は、顧客から来るもの、設計から来るもの、実装から来るもの、様々です。&lt;br /&gt;&lt;br /&gt;いずれにせよ言えるのは重複するような内容が物事に含まれている場合、何かと問題が生じるという事実です。&lt;br /&gt;&lt;br /&gt;ここを美しく解決する事が「僕たちのファームウェア戦略」であり、１つの製品設計で複数のラインナップを揃える事のできる土台となるわけです。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;設計の土台を作る(分割し、整理し、統治する)&lt;/h1&gt;では、具体的にどうすれば良いのかという話になります。&lt;br /&gt;基本的には「分割し、整理し、統治する」という流れです。&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;分割(あるいは統合)&lt;/span&gt;&lt;/h2&gt;同じものと違うものを分割します。あるいは同じものを統合します。&lt;br /&gt;分類に迷ったら、基準となる視点を定めて分割するか統合するかを判定します。&lt;br /&gt;&lt;br /&gt;例えば、LPCXpresso Clockの場合、分割可能な要素の例には以下の２つがあります。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;LPCXpresso Clock基板固有の機能。 (時計のインターフェースを実現するハードウェア。)&lt;/li&gt;&lt;li&gt;ドッキングさせるLPCXpresso基板固有の機能。 (時計の制御を実現するハードウェア。)&lt;/li&gt;&lt;/ul&gt;簡単ですね？&lt;br /&gt;ドッキングして使用するのですが、2つの基板の役割は明確にわかれています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-XkwocArYWHo/Tje_sUfZmXI/AAAAAAAABdo/hqTY3GlybIo/s1600/firmware-structure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="112" src="http://3.bp.blogspot.com/-XkwocArYWHo/Tje_sUfZmXI/AAAAAAAABdo/hqTY3GlybIo/s400/firmware-structure.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;LPCXpresso Clock基板+LPCXpresso基板=LPCXpresso Clockですから、上記の視点は非常にシンプルなものです。&lt;br /&gt;(一見下らない要素を大げさに取り上げているように見えるかもしれませんが、これが後々の設計と綿密な関わりを持ってきます。)&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;整理(あるいは破棄)&lt;/span&gt;&lt;/h2&gt;分割した要素の詳細を整理します。&lt;br /&gt;詳細といっても実装レベルの詳細ではなく、「だいたいこんな感じかなぁ？」程度の整理で構いません。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VclqNM3_AU0/TjfOxD19irI/AAAAAAAABd0/TJXAY1-Gp80/s1600/design-note.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-VclqNM3_AU0/TjfOxD19irI/AAAAAAAABd0/TJXAY1-Gp80/s320/design-note.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;例えば、LPCXpresso Clockの場合、以下のような感じです。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;LPCXpresso Clock基板&lt;/li&gt;&lt;ul&gt;&lt;li&gt;7セグメントLED (出力)&lt;/li&gt;&lt;li&gt;赤外線受信回路 (入力)&lt;/li&gt;&lt;li&gt;照度センサ&amp;nbsp;(入力)&lt;/li&gt;&lt;li&gt;スイッチ&amp;nbsp;(入力)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;LPCXpresso基板&lt;/li&gt;&lt;ul&gt;&lt;li&gt;GPIO (入出力)&lt;/li&gt;&lt;li&gt;RTC (入力) - 無いモデルもある。&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;h2&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;統治(あるいは留保)&lt;/span&gt;&lt;/h2&gt;統治の段階でインターフェースを定義してみます。&lt;br /&gt;&lt;br /&gt;Cならヘッダファイルにインターフェースを定義します。&lt;br /&gt;C++ならヘッダファイルにクラスを定義します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-p26A8u5q1Zg/TjfQncB0NhI/AAAAAAAABd4/2dw2Aw8byKc/s1600/prototype-interface.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="366" src="http://2.bp.blogspot.com/-p26A8u5q1Zg/TjfQncB0NhI/AAAAAAAABd4/2dw2Aw8byKc/s400/prototype-interface.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この時点で統治できないような内容があっても構いません。&lt;br /&gt;意味不明な物体は、この時点で無理して統治する必要はありません。&lt;br /&gt;少し変な名前を付けて残したりすれば良いです。&lt;br /&gt;&lt;br /&gt;これは検討の方向性を確認するためのプロトタイプ実装です。&lt;br /&gt;実際に動作させるところまで持っていく必要はありません。&lt;br /&gt;&lt;br /&gt;これが「僕たちのファームウェア戦略」における実用的な出発点です。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;そ・れ・で・？&lt;br /&gt;&lt;/h1&gt;子供騙しのような整理をしてどうなるのか？と感じる方もいるでしょう。&lt;br /&gt;でも、上記の３ステップの整理をするだけで&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;システムが何を提供しようとしているのかが明確になる。&lt;/li&gt;&lt;li&gt;シリーズ並行展開の視野を身につける事ができる。&lt;/li&gt;&lt;li&gt;自身の設計が何のプラットフォームに依存しているのかを明確に認識できる。&lt;/li&gt;&lt;li&gt;その他&lt;/li&gt;&lt;/ul&gt;様々な効果が得られます。&lt;br /&gt;&lt;br /&gt;今回は「僕たちのファームウェア戦略」の出発点を示し、その効果について概略を解説しました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-1443910152443219709?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/1443910152443219709/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/lpcxpresso-clock.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1443910152443219709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/1443910152443219709'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/08/lpcxpresso-clock.html' title='僕たちのファームウェア戦略 (LPCXpresso Clockを使って、組み込み機器開発特有の問題解決を楽しもう！)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-qdZrgSbjlj0/TjfJxy3zQeI/AAAAAAAABds/a1U297c5_dU/s72-c/firmware-design.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4625796073694636790</id><published>2011-07-23T21:11:00.002+09:00</published><updated>2011-07-30T07:33:33.057+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FusionPCB'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso Clock'/><title type='text'>EAGLEで設計した基板の製造をFusion PCB Serviceに頼む。(EAGLE用の一発生成CAMファイルや、ガーバデータの検証方法もあります。)</title><content type='html'>&lt;h1&gt;概要&lt;/h1&gt;LPCXpresso Clockを設計して早くも1週間が経ちました。&lt;br /&gt;その間に色々な試行錯誤を経て若干の機能追加をしたりしました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-pbOHsOmiN-Q/TiqxusdgmrI/AAAAAAAABcE/dCeP9dwsITU/s1600/fusion-pcb-sch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-pbOHsOmiN-Q/TiqxusdgmrI/AAAAAAAABcE/dCeP9dwsITU/s400/fusion-pcb-sch.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今回の基板(LPCXpresso Clock)の製造は、激安基板製造でお馴染みのFusion PCB Serviceに頼むことにしました。&lt;br /&gt;&lt;h1&gt;EAGLE用の一発生成CAMファイル&lt;/h1&gt;EAGLEでガーバを出力する場合にはCAMプロセッサというものを使います。&lt;br /&gt;&lt;br /&gt;まずは基板設計側の画面を表示します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ZbkhcOUWwCM/TiqxpvpywyI/AAAAAAAABb8/CMT4jLGLsL4/s1600/fusion-pcb-brd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://1.bp.blogspot.com/-ZbkhcOUWwCM/TiqxpvpywyI/AAAAAAAABb8/CMT4jLGLsL4/s400/fusion-pcb-brd.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;CAMプロセッサのアイコンをクリックします。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-S4yYwolK2DQ/TiqxN_YalkI/AAAAAAAABb0/Wt6azY1mfhk/s1600/fusion-pcb-cam-icon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="126" src="http://2.bp.blogspot.com/-S4yYwolK2DQ/TiqxN_YalkI/AAAAAAAABb0/Wt6azY1mfhk/s400/fusion-pcb-cam-icon.png" width="151" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;CAMプロセッサのダイアログが表示されます。&lt;br /&gt;ここでCAMプロセッサに対する作業を定義したファイルを読み込みます。&lt;br /&gt;&lt;br /&gt;ここでは、Funsion PCB Service向けのCAMプロセッサ用ファイルを自作してガーバ出力作業に使用することにしました。&lt;br /&gt;&lt;br /&gt;名付けてFusionPCB-gerb274x-excellon.camです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-huLI4P2nMYU/Tiqy7SymdFI/AAAAAAAABcY/a1WNTi8RFUQ/s1600/fusion-pcb-camfile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="14" src="http://1.bp.blogspot.com/-huLI4P2nMYU/Tiqy7SymdFI/AAAAAAAABcY/a1WNTi8RFUQ/s320/fusion-pcb-camfile.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;それでは読み込んでみます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Ortk4wqi0fY/TiqyDVcNpeI/AAAAAAAABcM/mD32Gvs3FVM/s1600/fusion-pcb-open-job.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://3.bp.blogspot.com/-Ortk4wqi0fY/TiqyDVcNpeI/AAAAAAAABcM/mD32Gvs3FVM/s400/fusion-pcb-open-job.png" width="349" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Fusion PCB Serviceでは生成したガーバデータの拡張子名が指定されています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hLzympbAUuQ/TiqzRzhQuGI/AAAAAAAABcc/yVPclN7_kXo/s1600/fusion-pcb-needed-files.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-hLzympbAUuQ/TiqzRzhQuGI/AAAAAAAABcc/yVPclN7_kXo/s1600/fusion-pcb-needed-files.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;自作したCAMプロセッサ用ファイルには以下の特徴があります。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fusion PCB Serviceで指定された拡張子名で自動生成してくれるようにしました。&lt;/li&gt;&lt;li&gt;CAMプロセッサジョブ名は、Fusion PCB Serviceで指定された名称にしてあります。&lt;/li&gt;&lt;li&gt;ドリルデータも一緒に生成するようにしました。&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-X5W0ilPN8PE/Tiqyfsz3H1I/AAAAAAAABcU/M9HYiUs5Yuw/s1600/fusion-pcb-cam-jobs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="293" src="http://2.bp.blogspot.com/-X5W0ilPN8PE/Tiqyfsz3H1I/AAAAAAAABcU/M9HYiUs5Yuw/s400/fusion-pcb-cam-jobs.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;「Process」ボタンを押したら出力されたファイルをFusion PCB Serviceに書かれた内容で照合します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Kn7ccHG-Iqs/Tiqz967louI/AAAAAAAABck/lz_J6LDviyY/s1600/fusion-pcb-generated-files.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="119" src="http://1.bp.blogspot.com/-Kn7ccHG-Iqs/Tiqz967louI/AAAAAAAABck/lz_J6LDviyY/s400/fusion-pcb-generated-files.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ドリルラックファイルなどは不要なのかもしれませんが、添付しても問題ないでしょう。&lt;br /&gt;&lt;h1&gt;出力されたデータを確かめる&lt;/h1&gt;この手の作業は、複数のツールを組み合わせたダブルチェックが欠かせません。&lt;br /&gt;出力したデータファイルのみで(←ここ重要)期待した結果が得られるのか？が確認するポイントとなります。&lt;br /&gt;&lt;br /&gt;私は工場に提出するガーバデータの確認を&lt;a href="http://www.graphicode.com/"&gt;GraphiCode社&lt;/a&gt;の&lt;a href="http://gc-prevue.com/"&gt;GC-Prevue&lt;/a&gt;で行っています。&lt;br /&gt;早速先ほど出力したデータファイルを開いてみましょう。&lt;br /&gt;&lt;br /&gt;「ファイル」メニューから「インポート」を選択します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-knsbczq5HWU/Tiq3sV_X35I/AAAAAAAABcs/gL1DmVDqJOs/s1600/gc-prevue-no1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="380" src="http://1.bp.blogspot.com/-knsbczq5HWU/Tiq3sV_X35I/AAAAAAAABcs/gL1DmVDqJOs/s400/gc-prevue-no1.png" width="269" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;GC-Prevueのインポート機能は非常に手軽で、Ctrlキーを押しながら所望のファイルを選択することで複数のファイルを一括読み込みすることができるようになっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-L7og3YHoWQQ/Tiq3sgMCXsI/AAAAAAAABc0/-0TSRpFa0nk/s1600/gc-prevue-no2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://1.bp.blogspot.com/-L7og3YHoWQQ/Tiq3sgMCXsI/AAAAAAAABc0/-0TSRpFa0nk/s400/gc-prevue-no2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;インポートを実行するとファイル情報の検証が行われます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CDMNLvUXcqs/Tiq3sgo9VXI/AAAAAAAABc8/yxJ0QkXpOz0/s1600/gc-prevue-no3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="234" src="http://4.bp.blogspot.com/-CDMNLvUXcqs/Tiq3sgo9VXI/AAAAAAAABc8/yxJ0QkXpOz0/s400/gc-prevue-no3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;その後、ツールの管理テーブルへのマッピングが表示されるようになっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Go7Xuh6M3Wo/Tiq3s3iTLZI/AAAAAAAABdE/h0ef-epMrrk/s1600/gc-prevue-no4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="209" src="http://3.bp.blogspot.com/-Go7Xuh6M3Wo/Tiq3s3iTLZI/AAAAAAAABdE/h0ef-epMrrk/s400/gc-prevue-no4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;最後にファイル毎のインポート結果の詳細が示されるダイアログが出現します。&lt;br /&gt;ここで表示色や形式などを選択する事ができるようになっています。&lt;br /&gt;この時点でお気に入りのツールと表示色をあわせると見やすいですね。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-FK6Xvq-KVvE/Tiq3tFG9FvI/AAAAAAAABdM/xmDFv1Tw-ts/s1600/gc-prevue-no5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="376" src="http://2.bp.blogspot.com/-FK6Xvq-KVvE/Tiq3tFG9FvI/AAAAAAAABdM/xmDFv1Tw-ts/s400/gc-prevue-no5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ガーバデータは複数のファイルで1つの基板の情報を管理しますので、「間違って同じデータを違う拡張子で送っちゃった！」とか、「全然関係ないデータを送っちゃったよ！」なんてあるかもしれません。&lt;br /&gt;&lt;br /&gt;読み込み時に画面で確認しながら読み込めるGC-Prevueはそういう意味で非常に便利です。&lt;br /&gt;例えば、シルクレイヤを見てみると以下のようになります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-lrFlgQQhO0g/Tiq4mBk5sFI/AAAAAAAABdU/CcqB0sAOjEo/s1600/gc-prevue-no6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="206" src="http://2.bp.blogspot.com/-lrFlgQQhO0g/Tiq4mBk5sFI/AAAAAAAABdU/CcqB0sAOjEo/s400/gc-prevue-no6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こちらは部品面のガーバ。&lt;br /&gt;ベタ面の描画が粗いように見えますが、拡大すればきちんと表示されます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zVebTivpVFk/Tiq4mZUEajI/AAAAAAAABdc/qyZtvR_zzPQ/s1600/gc-prevue-no7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="208" src="http://2.bp.blogspot.com/-zVebTivpVFk/Tiq4mZUEajI/AAAAAAAABdc/qyZtvR_zzPQ/s400/gc-prevue-no7.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;レイヤー毎の表示・非表示は画面左側のツリー表示の部分で切り換えることができます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yg1ieyXKrfw/Tiq4mur2HbI/AAAAAAAABdk/ojwUalPGD2Q/s1600/gc-prevue-no8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="260" src="http://1.bp.blogspot.com/-yg1ieyXKrfw/Tiq4mur2HbI/AAAAAAAABdk/ojwUalPGD2Q/s400/gc-prevue-no8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;リソース&lt;/h1&gt;EAGLE用のFusion PCB Service向けCAMプロセッサファイルは&lt;a href="https://sites.google.com/site/cubeatsystems/resources/FusionPCB-gerb274x-excellon.cam?attredirects=0&amp;amp;d=1"&gt;こちらからダウンロード&lt;/a&gt;できます。&lt;br /&gt;自己責任でお使い下さい。&lt;br /&gt;&lt;h1&gt;まとめ&lt;/h1&gt;今回はEAGLEで設計した基板の製造をFusion PCB Serviceに頼む過程を示してみました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4625796073694636790?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4625796073694636790/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/eaglefusion-pcb-serviceeaglecam.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4625796073694636790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4625796073694636790'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/eaglefusion-pcb-serviceeaglecam.html' title='EAGLEで設計した基板の製造をFusion PCB Serviceに頼む。(EAGLE用の一発生成CAMファイルや、ガーバデータの検証方法もあります。)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-pbOHsOmiN-Q/TiqxusdgmrI/AAAAAAAABcE/dCeP9dwsITU/s72-c/fusion-pcb-sch.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-7520138019295287224</id><published>2011-07-18T20:21:00.003+09:00</published><updated>2011-09-18T18:51:01.029+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso Clock'/><title type='text'>LPCXpresso Clockの設計</title><content type='html'>&lt;h1&gt;概要&lt;/h1&gt;&lt;a href="http://atnd.org/events/17595"&gt;LPCXpresso横浜お楽しみ部会(LPCXpressoでモクモクしよう！)&lt;/a&gt;は、参加者の方々が各自で取り組んでいることを持ち込んでモクモクと何かをしようという会合ですが、具体的なTODOがない方にとっては参加しづらいものです。&lt;br /&gt;&lt;br /&gt;そこで、今回はLPCXpressoを手にしてみたけど具体的なTODOが思いつかないなぁという方でも参加しやすいような小道具を考えてみました。&lt;br /&gt;&lt;br /&gt;名付けて「LPCXpresso Clock」です。&lt;br /&gt;先の部会に参加される方の中で、希望される方に基板を無償で配布します。（先着５名様）&lt;br /&gt;&lt;h1&gt;LPCXpresso Clockの特徴&lt;/h1&gt;LPCXpresso Clockの特徴を以下に示します。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;リアルLPCXpressoサイズ。&lt;/li&gt;&lt;li&gt;製作後は完全なスタンドアロン動作が可能。&lt;/li&gt;&lt;li&gt;見やすい7セグメントLEDによるディジタル表示時計。&lt;/li&gt;&lt;li&gt;4つの入力スイッチ付き。&lt;/li&gt;&lt;li&gt;LEDのダイナミック表示を学びたい方に最適。&lt;/li&gt;&lt;/ul&gt;LPCXpressoに合体させるだけでオリジナルクロックの出来上がりという算段です。&lt;br /&gt;LPCXpressoを使って小規模組み込みシステム開発を楽しんだ後はリビングのおしゃれ時計に変身するという1粒で2度美味しい作戦です。&lt;br /&gt;&lt;br /&gt;以下は完成した時のイメージ図です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-V9M-iD8N9LY/TiQWeSXgNlI/AAAAAAAABbs/IgwP3_Ls7Ps/s1600/DSC05132.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-V9M-iD8N9LY/TiQWeSXgNlI/AAAAAAAABbs/IgwP3_Ls7Ps/s320/DSC05132.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;現在のところ基板設計の初版を終わらせた状態。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-tyLsVKjo5cQ/TiQUfIGzPBI/AAAAAAAABbo/KQOaXvXk7fQ/s1600/lpcxpresso-clock.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://2.bp.blogspot.com/-tyLsVKjo5cQ/TiQUfIGzPBI/AAAAAAAABbo/KQOaXvXk7fQ/s400/lpcxpresso-clock.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;LPCXpressoはCPU周辺回路が完成しているので、こういった試作基板は簡単に設計が済んでしまいます。&lt;br /&gt;この回路も約1時間ほどで電気設計と基板設計が完了しました。&lt;br /&gt;忙しい毎日でも時間を作って試してみることができるのが嬉しいところ。&lt;br /&gt;&lt;br /&gt;単なるディジタル時計ですが、自分でプログラムを組めるし、基板外形はLPCXpressoとピッタンコ同じで、少しカッコイイ！・・・というのが目論見です。&lt;br /&gt;&lt;br /&gt;今回は「リアルLPCXpressoサイズ」に（だけ）こだわって設計しています。&lt;br /&gt;完成したらどんな風になるのか楽しみです。&lt;br /&gt;&lt;h1&gt;備考&lt;/h1&gt;この基板は&lt;a href="http://atnd.org/events/17595"&gt;LPCXpresso横浜お楽しみ部会(LPCXpressoでモクモクしよう！)&lt;/a&gt;にも持っていこうと考えています。&lt;br /&gt;興味のある方は&lt;a href="http://twitter.com/#!/shintamainjp"&gt;@shintamainjp&lt;/a&gt;まで御連絡下さい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-7520138019295287224?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/7520138019295287224/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpcxpresso-clock.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/7520138019295287224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/7520138019295287224'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpcxpresso-clock.html' title='LPCXpresso Clockの設計'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-V9M-iD8N9LY/TiQWeSXgNlI/AAAAAAAABbs/IgwP3_Ls7Ps/s72-c/DSC05132.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4408959691269997772</id><published>2011-07-03T21:24:00.001+09:00</published><updated>2011-07-04T07:29:18.333+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpressoDay'/><title type='text'>LPCXpresso横浜お楽しみ部会(LPCXpressoでモクモクしよう！)</title><content type='html'>LPCXpresso横浜お楽しみ部会(LPCXpressoでモクモクしよう！)は横浜近郊に在住していて、「都内に出てモクモクする気力はないけれど横浜なら行ってもいいかな？」という方のためのLPCXpressoモクモク会です。もちろん都内からの参加も歓迎です。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-sDJHKOFs4R0/ThBfDYj3YjI/AAAAAAAABbg/daehSnUhvQE/s1600/lpcxpresso-yokohama.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="186" src="http://1.bp.blogspot.com/-sDJHKOFs4R0/ThBfDYj3YjI/AAAAAAAABbg/daehSnUhvQE/s400/lpcxpresso-yokohama.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;詳しくはATNDで！&lt;br /&gt;&lt;a href="http://atnd.org/events/17595"&gt;http://atnd.org/events/17595&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4408959691269997772?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4408959691269997772/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpcxpressolpcxpresso_9086.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4408959691269997772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4408959691269997772'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpcxpressolpcxpresso_9086.html' title='LPCXpresso横浜お楽しみ部会(LPCXpressoでモクモクしよう！)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-sDJHKOFs4R0/ThBfDYj3YjI/AAAAAAAABbg/daehSnUhvQE/s72-c/lpcxpresso-yokohama.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-8265940233640109507</id><published>2011-07-03T19:39:00.006+09:00</published><updated>2011-07-09T19:54:31.998+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='USB研究部会'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpressoDay'/><title type='text'>LPC11U14 LPCXpressoを使ってUSBを研究しよう！ - USB研究部会 - (LPCXpresso週間)</title><content type='html'>&lt;h1&gt;USB! USB! USB!&lt;/h1&gt;以前の記事、&lt;a href="http://shinta-main-jp.blogspot.com/2011/06/lpcxpressolpcxpresso_25.html"&gt;LPCXpressoの放置を防ぐお勧め取り組み方法(LPCXpresso週間)&lt;/a&gt;では、放置を防ぐアイデアの１つとして「具体的な目標に繋げる」というものを挙げました。&lt;br /&gt;今回はLPC11U14 LPCXpressoを使って、USBを研究する例を取り上げてみましょう。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;LPC11U14の概要&lt;/h1&gt;LPC11U14は最大クロック周波数50MHzのARM Cortex-M0をコアに持つNXPセミコンダクターズ社のプロセッサです。&lt;br /&gt;LPC11U14の場合、内臓フラッシュは32KB、SRAMは6KBあり、そのうち2KBがUSB用となっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9l5OrS6_GPc/Tg-WEH3y40I/AAAAAAAABZQ/aG_etnvdhZg/s1600/lpc11u14-board.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-9l5OrS6_GPc/Tg-WEH3y40I/AAAAAAAABZQ/aG_etnvdhZg/s400/lpc11u14-board.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;GPIOは40本、ADCも8チャンネル搭載されており、USBも接続できるため様々な応用例が考えられます。&lt;br /&gt;&lt;br /&gt;まずはデータシートからブロック図を見てみましょう。&lt;br /&gt;おっと、データシートはまだドラフトのようですね。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Q5SOgj6vnt4/Tg-aj0ZYFJI/AAAAAAAABZY/EuayJk7_LX4/s1600/lpc11u14-block-diagram.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-Q5SOgj6vnt4/Tg-aj0ZYFJI/AAAAAAAABZY/EuayJk7_LX4/s400/lpc11u14-block-diagram.png" width="303" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;USARTやI2C、SPI(SSP)はもとより、SMARTCARD INTERFACEやPMU(Power Management Unit)が搭載されています。&lt;br /&gt;PMUはLPC11U14では特徴的な機能の１つと言えそうです。&lt;br /&gt;&lt;br /&gt;メモリマップは以下のようになっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-tYM9edDcaJI/Tg-jTo8Hq4I/AAAAAAAABZg/wqeiYo2KzHI/s1600/lpc11u14-memory-map.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-tYM9edDcaJI/Tg-jTo8Hq4I/AAAAAAAABZg/wqeiYo2KzHI/s400/lpc11u14-memory-map.png" width="301" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;メモリマップを見てもわかるように6KBのSRAMは連続した領域ではなく、2KBのUSB用RAMと残りの4KBに分かれていることがわかります。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;で？USBは？&lt;/h1&gt;ひとくにちUSBといってもホストやらデバイスやら色々あるわけです。&lt;br /&gt;LPC11U14で言うUSBは「USB 2.0デバイス」を指します。&lt;br /&gt;&lt;br /&gt;LPC11U14に搭載されたUSB 2.0デバイス・コントローラの機能は以下の通りです。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;USB 2.0フル・スピード・デバイス・コントローラ搭載。&lt;/li&gt;&lt;li&gt;1つのコントロール・エンド・ポイントを含む、10個の物理(5個の論理)エンド・ポイントをサポート。&lt;/li&gt;&lt;li&gt;シングル・バッファリングとダブル・バッファリングをサポート。&lt;/li&gt;&lt;li&gt;非コントロール・エンド・ポイントはそれぞれ、バルク、インタラプトかアイソクロナス・エンド・ポイントをサポートします。&lt;/li&gt;&lt;li&gt;USB動作におけるディープ・スリープ・モードからのウェイク・アップとリモート・ウェイク・アップをサポートします。&lt;/li&gt;&lt;li&gt;ソフト・コネクトをサポートします。&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;h1&gt;LPC11U14のUSBハードウェア&lt;/h1&gt;ここで、ハードウェア・ブロック図を見てみましょう。&lt;br /&gt;&lt;br /&gt;アナログ・トランシーバが内臓されているおかげで、外付けデバイスなしでUSB接続ができます。&lt;br /&gt;DMAエンジンはAHB_MASTERに接続されています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-eN6gx3_MJJw/Tg_1mJJ1ktI/AAAAAAAABZk/3QAr34FRSyU/s1600/lpc11u14-usb-block-diagram.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://2.bp.blogspot.com/-eN6gx3_MJJw/Tg_1mJJ1ktI/AAAAAAAABZk/3QAr34FRSyU/s320/lpc11u14-usb-block-diagram.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;SERIAL INTERFACE ENGINE(SIE)はUSBプロトコル層をハードウェアで実現したものです。&lt;br /&gt;このため、ソフトウェアの介在なしにUSBプロトコル層を処理できるようになっています。&lt;br /&gt;USB用RAMとUSBバスにおけるエンド・ポイント・バッファ間のデータ転送はこのハードウェアによって処理されます。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;LPC11U14のUSBソフトウェア&lt;/h1&gt;エンド・ポイント・リスト・ポインタはアドレス0x20004000にあるUSB用RAMブロック内を指すようにします。&lt;br /&gt;データはどのSRAMにも格納することができます。&lt;br /&gt;&lt;br /&gt;これらを図示したのが以下の図です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-eP16HRcRNjY/Tg_5yHgpckI/AAAAAAAABZs/D2tWS8x0NdM/s1600/lpc11u14-usb-software-interface.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="206" src="http://3.bp.blogspot.com/-eP16HRcRNjY/Tg_5yHgpckI/AAAAAAAABZs/D2tWS8x0NdM/s400/lpc11u14-usb-software-interface.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;上記のようにレジスタにアドレスを設定しておけば、SRAMにデータが格納するまでを勝手にやってくれるという仕組みです。&lt;br /&gt;このUSBコントローラにはUSB IRQ割り込み(USB_Int_Req_IRQ)とUSB FIQ割り込み(USB_Int_Req_FIQ)の2つの割り込み線が存在します。&lt;br /&gt;リクエストの処理は通常これらの割り込みを使って処理することになります。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;どこから手を付ける？&lt;/h1&gt;「じゃあ、始めましょう！」と言って笑顔でコーディングを始めても良いのですが、出来上がるまでに何回くらい日が暮れるのかわかりません。&lt;br /&gt;&lt;br /&gt;幸いにもNXPセミコンダクターズがLPC11U14で使えるUSB HIDのサンプルを提供してくれています。&lt;br /&gt;今回はこれを使ってUSBの研究を始めることにします。&lt;br /&gt;&lt;br /&gt;情報が豊富で頻繁にアップデートされているサポートサイトは &lt;a href="http://ics.nxp.com/support/lpcxpresso/"&gt;http://ics.nxp.com/support/lpcxpresso/&lt;/a&gt; にあります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-d8SRKaxIZYo/Tg_7zJj_-ZI/AAAAAAAABZ0/cpmVcnRd2Is/s1600/lpc11u14-nxp-examples.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-d8SRKaxIZYo/Tg_7zJj_-ZI/AAAAAAAABZ0/cpmVcnRd2Is/s400/lpc11u14-nxp-examples.png" width="350" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;上記ページにある「&lt;a href="http://ics.nxp.com/support/documents/microcontrollers/zip/lpcxpresso.examples.usb.hid.lpc11u14.zip"&gt;LPCXpresso USB HID Example Project for LPC11U14&lt;/a&gt;」を選択してクリックして下さい。&lt;br /&gt;アーカイブされたプロジェクトをダウンロードすることができます。&lt;br /&gt;アーカイブされたプロジェクトの使い方は私の記事「&lt;a href="http://shinta-main-jp.blogspot.com/2011/07/lpcxpressolpcxpresso_03.html"&gt;LPCXpressoのサンプルを使ってみよう(LPCXpresso週間)&lt;/a&gt;」も参考にして下さい。&lt;br /&gt;&lt;br /&gt;先ほどのアーカイブ・プロジェクトにはCMSISが含まれていませんが、実際には必要です。&lt;br /&gt;これも &lt;a href="http://ics.nxp.com/support/lpcxpresso/zip/CMSISv2p00_LPC11Uxx.zip"&gt;http://ics.nxp.com/support/lpcxpresso/zip/CMSISv2p00_LPC11Uxx.zip&lt;/a&gt;&amp;nbsp;からダウンロードして読み込んでおきましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-7kUdzA3ueDw/ThAAs1L98FI/AAAAAAAABZ8/sWkQI9UVPQs/s1600/lpc11u14-usb-hid-project.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="http://3.bp.blogspot.com/-7kUdzA3ueDw/ThAAs1L98FI/AAAAAAAABZ8/sWkQI9UVPQs/s400/lpc11u14-usb-hid-project.png" width="328" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ビルドしたバイナリを書き込んで、LPC11U14側に接続されたUSBコネクタに接続するとUSB入力デバイスとして認識されることがわかります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-M5edbjiS5Ec/ThABQzETzsI/AAAAAAAABaA/5J8EuKNPzHE/s1600/lpc11u14-usb-hid-popup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://4.bp.blogspot.com/-M5edbjiS5Ec/ThABQzETzsI/AAAAAAAABaA/5J8EuKNPzHE/s320/lpc11u14-usb-hid-popup.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;デバイス・ディスクリプタのソースコードと見比べてみても、ふむふむ確かに同じだということがわかると思います。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-U1sq5K_anyI/ThACTWLHxrI/AAAAAAAABaI/srXcXtdLwUg/s1600/lpc11u14-usbdesc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="http://3.bp.blogspot.com/-U1sq5K_anyI/ThACTWLHxrI/AAAAAAAABaI/srXcXtdLwUg/s400/lpc11u14-usbdesc.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;USB HIDサンプル・プロジェクトの中身&lt;/h1&gt;今度はUSB HIDサンプル・プロジェクトの中身について調べてみます。&lt;br /&gt;まずは「一体このサンプルは何をすることができるのか？」興味のあるところです。&lt;br /&gt;&lt;br /&gt;HIDと言っても色々あるので、一体何と主張しているのかを調べます。&lt;br /&gt;これはディスクリプタを見ればすぐにわかるはずです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1BVtsr0V0CI/ThAFioUsucI/AAAAAAAABaM/8YADAaAHiUU/s1600/lpc11u14-usbdesc-protocol.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="274" src="http://1.bp.blogspot.com/-1BVtsr0V0CI/ThAFioUsucI/AAAAAAAABaM/8YADAaAHiUU/s320/lpc11u14-usbdesc-protocol.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;キーボードかマウスかな？と思いましたが、両方外れでした。&lt;br /&gt;HID_PROTOCOL_NONE(値：0)が指定されています。&lt;br /&gt;&lt;br /&gt;では、具体的にどんな実装になっているのかプロジェクトからdemo.cを見てみましょう。&lt;br /&gt;demo.cのGetInReportとSetOutReportはリクエストがあった時点で呼ばれる処理関数です。&lt;br /&gt;これを見る限り1ビットの入力と4ビットの出力をサポートしているようです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9r-73yPEdt0/ThAm2FZhv4I/AAAAAAAABaU/FGMQsDR2K-E/s1600/lpc11u14-usbhid-demo-source.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-9r-73yPEdt0/ThAm2FZhv4I/AAAAAAAABaU/FGMQsDR2K-E/s400/lpc11u14-usbhid-demo-source.png" width="396" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;1つずつ調べていくと色々なことがわかってきます。&lt;br /&gt;楽しいですね。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;やりたいのはPCとの連携(USBなんだから)&lt;/h1&gt;さて、先ほどのSetOutReportに気になる記述があります。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;/* port1, bit 14~17 are used as LED indication from&lt;br /&gt;HID utility. */&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;HIDユティリティとは何だ？ということで調べてみました。&lt;br /&gt;が、それが何を指すのかいまいちよくわかりません。&lt;br /&gt;&lt;br /&gt;今、非常にやりたいのはこの独自デバイス(今は評価基板ですが)をPCから制御できるようにしたいわけです。&lt;br /&gt;&lt;br /&gt;実はWindows Driver Kit (WDK)にUSB HIDクライアントのサンプルがあります。&lt;br /&gt;今回はターゲットがUSB HIDとして動作しているので、デバイスドライバを開発する必要はありません。&lt;br /&gt;&lt;br /&gt;今回はUSB HIDクライアントのサンプル目当てでWDKを使います。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-h8BUyXwSFRA/ThA1kRIO9SI/AAAAAAAABaY/8sMiIz1rJkg/s1600/lpc11u14-usb-hid-wdk.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="219" src="http://3.bp.blogspot.com/-h8BUyXwSFRA/ThA1kRIO9SI/AAAAAAAABaY/8sMiIz1rJkg/s320/lpc11u14-usb-hid-wdk.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;まずは&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/windows/hardware/gg487428"&gt;Windows Driver Kit (WDK)&lt;/a&gt;&amp;nbsp;をダウンロードします。(2011/07/03現在、バージョンは7600.16385.1 でした。)&lt;br /&gt;ダウンロードしたisoファイルに含まれるセットアップを実行します。&lt;br /&gt;isoファイルをファイルシステムをマウントするツールもあるのですが、そのツールの信頼性を確認したりするのが面倒なので私はCD-Rに焼いてから実行しました。&lt;br /&gt;&lt;br /&gt;次に&amp;nbsp;&lt;a href="http://www.microsoft.com/japan/msdn/vstudio/express/"&gt;VisualStudio 2010 Express&lt;/a&gt;&amp;nbsp;から &lt;a href="http://go.microsoft.com/fwlink/?LinkId=190490&amp;amp;clcid=0x411"&gt;Visual C++ 2010 Express&lt;/a&gt; をダウンロードします。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QgIQGjclUwc/ThA4L3W_L8I/AAAAAAAABac/wOglJN_L16I/s1600/lpc11u14-vc2010-express.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="http://2.bp.blogspot.com/-QgIQGjclUwc/ThA4L3W_L8I/AAAAAAAABac/wOglJN_L16I/s320/lpc11u14-vc2010-express.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;VisualStudioも通常通りインストールしておきましょう。&lt;br /&gt;&lt;br /&gt;次にWDKに含まれるHIDのサンプルをビルドします。&lt;br /&gt;USB HIDのサンプルは幾つかあります。&lt;br /&gt;今回は C:\WinDDK\7600.16385.1\src\hid\hclient を試します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-3KGfB5hC-R0/ThBAjup3EbI/AAAAAAAABak/kbGoim5GF2I/s1600/lpc11u14-wdk-build-environment.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://4.bp.blogspot.com/-3KGfB5hC-R0/ThBAjup3EbI/AAAAAAAABak/kbGoim5GF2I/s400/lpc11u14-wdk-build-environment.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;コンソール画面が出ます。&lt;br /&gt;先ほどのディレクトリにcdしてbuildを実行します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-3nDCIie206c/ThBA7V9JZnI/AAAAAAAABas/5nDR17Ul0yQ/s1600/lpc11u14-wdk-hclient-build.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-3nDCIie206c/ThBA7V9JZnI/AAAAAAAABas/5nDR17Ul0yQ/s400/lpc11u14-wdk-hclient-build.png" width="393" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;これで hclient なるサンプルのビルドが完了しました。&lt;br /&gt;ターゲットディレクトリの下を見るとディレクトリが生成されていると思います。&lt;br /&gt;その中の hclient.exe を実行して下さい。&lt;br /&gt;以下のような画面が現れます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XkqXAX_4l2g/ThBBkMDpICI/AAAAAAAABa0/JRqNqeXvqxk/s1600/lpc11u14-hclient-main-window.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="283" src="http://4.bp.blogspot.com/-XkqXAX_4l2g/ThBBkMDpICI/AAAAAAAABa0/JRqNqeXvqxk/s400/lpc11u14-hclient-main-window.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;さて、LPC11U14の入力ポートの状態をこのクライアントアプリケーションで見てみましょう。&lt;br /&gt;まずは、接続したLPC11U14を探し出します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QJK8Z5AJlqc/ThBCVGXmHsI/AAAAAAAABa8/Wx0hoREXaGg/s1600/lpc11u14-find-your-target.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="388" src="http://1.bp.blogspot.com/-QJK8Z5AJlqc/ThBCVGXmHsI/AAAAAAAABa8/Wx0hoREXaGg/s400/lpc11u14-find-your-target.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;見つかったら、VID、PIDを確認して、同じVIDとPIDを持つデバイスをSample HID client appのウィンドウ上で探します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-THRpvJMVM5w/ThBDThf_SGI/AAAAAAAABbE/9BlFueOY2mM/s1600/lpc11u14-check-the-id.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="155" src="http://4.bp.blogspot.com/-THRpvJMVM5w/ThBDThf_SGI/AAAAAAAABbE/9BlFueOY2mM/s400/lpc11u14-check-the-id.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;これで準備ができました。&lt;br /&gt;早速ポートの値を読んでみましょう。&lt;br /&gt;&lt;br /&gt;ウィンドウにある「Blocked Read Data」を選択します。&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3wfREkmQgbQ/ThBDrIcvUMI/AAAAAAAABbM/hT2SzAzubA0/s1600/lpc11u14-blocked-read-data.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="282" src="http://2.bp.blogspot.com/-3wfREkmQgbQ/ThBDrIcvUMI/AAAAAAAABbM/hT2SzAzubA0/s400/lpc11u14-blocked-read-data.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;以下のようなダイアログが出現します。&lt;br /&gt;このダイアログの「連続読みだし」ボタンを押すとデバイスからのブロック・データ読みだしが実行できます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-pQWyXugwVq4/ThBER0uqMSI/AAAAAAAABbU/Bmz4mIkUfsY/s1600/lpc11u14-read-port.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://4.bp.blogspot.com/-pQWyXugwVq4/ThBER0uqMSI/AAAAAAAABbU/Bmz4mIkUfsY/s400/lpc11u14-read-port.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;それではLPCXpressoの入力ポートの状態を変化させてみましょう。&lt;br /&gt;基板上にある「P0_1」ポートに対して入力を与えると、上記のダイアログのように出力内容が変化します。&lt;br /&gt;&lt;br /&gt;要するにターゲットのHIDがホスト上のアプリケーションの要求に応答してポートの状態を返しているのです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-MKVwXstN4GE/ThBFXGZKFpI/AAAAAAAABbc/pLoJgrnoZJM/s1600/lpc11u14-p0_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-MKVwXstN4GE/ThBFXGZKFpI/AAAAAAAABbc/pLoJgrnoZJM/s400/lpc11u14-p0_1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Sample HID client appはMicrosoftからソースコードが公開されているアプリケーションで、今回は提供されているサンプルをそのまま使いました。&lt;br /&gt;この中で使われているAPIを調べる事で、自分のデバイスに対する自分だけのライブラリやアプリケーションを仕立てることも可能になります。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;まとめ(何が揃ったのか)&lt;/h1&gt;我々は、LPCXpresso評価基板１つの投資で以下の物を手に入れました。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;自由にいじれるUSB HIDのデバイス側。&lt;/li&gt;&lt;li&gt;自由にいじれるUSB HIDのホスト側アプリケーション。&lt;/li&gt;&lt;/ul&gt;マイコンの世界でクローズするのではなく、今回のようにアプリケーションを組み合わせることで沢山の応用例に発展させることができるようになります。&lt;br /&gt;&lt;br /&gt;デバイス・ドライバを開発することなく、独自のUSBデバイスを接続できる手軽さは、かなり魅力的です。また、今回のようにホスト側もターゲット側も自由に改造して楽しむことができますので、USBをもっと身近に感じてみたいエンジニアにとっては格好の材料となりそうです。&lt;br /&gt;&lt;br /&gt;皆さんも是非「USBは難しそう」と思わずに気軽に挑戦してみませんか？&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;他にどんな情報が必要ですか？&lt;/h1&gt;何か必要な情報があれば、本家も訪ねてみてください。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.usb.org/home"&gt;http://www.usb.org/home&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/hardware/gg487428"&gt;Windows Driver Kit (WDK)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/japan/msdn/vstudio/express/"&gt;VisualStudio 2010 Express&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-8265940233640109507?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/8265940233640109507/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpc11u14-lpcxpressousb-usb-lpcxpresso.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8265940233640109507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8265940233640109507'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpc11u14-lpcxpressousb-usb-lpcxpresso.html' title='LPC11U14 LPCXpressoを使ってUSBを研究しよう！ - USB研究部会 - (LPCXpresso週間)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-9l5OrS6_GPc/Tg-WEH3y40I/AAAAAAAABZQ/aG_etnvdhZg/s72-c/lpc11u14-board.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-5116635041871572851</id><published>2011-07-03T06:34:00.000+09:00</published><updated>2011-07-03T06:34:38.630+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpressoDay'/><title type='text'>LPCXpressoのサンプルを使ってみよう(LPCXpresso週間)</title><content type='html'>&lt;h1&gt;はじめに&lt;/h1&gt;LPCXpressoを始めた人にとって、「IDEが立ち上がった後どうすれば良いか？」は大きな問題です。&lt;br /&gt;ここでは、プリインストールされたサンプルプログラムを読み込んで実行するまでをご紹介します。&lt;br /&gt;&lt;h1&gt;プロジェクトの読み込み&lt;/h1&gt;LPCXpresso IDEには便利な「Quickstart Panel」というものがあります。&lt;br /&gt;LPCXpresso用の専用パネルで、カテゴリ別に操作可能な項目が並べられています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XmNjmIT9Vv4/Tg-HPiIFnTI/AAAAAAAABXo/8JHkMZUovKU/s1600/lpc11u14-example1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="361" src="http://1.bp.blogspot.com/-XmNjmIT9Vv4/Tg-HPiIFnTI/AAAAAAAABXo/8JHkMZUovKU/s400/lpc11u14-example1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;今回はここから、アーカイブされたプロジェクトの実行機能を試してみましょう。&lt;br /&gt;実はLPCXpresso IDEをインストールすると幾つかのサンプルプログラムが含まれています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mEk8zQ5F7T0/Tg-JV1EoXNI/AAAAAAAABXw/XXY51C1avIk/s1600/lpc11u14-example2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="361" src="http://1.bp.blogspot.com/-mEk8zQ5F7T0/Tg-JV1EoXNI/AAAAAAAABXw/XXY51C1avIk/s400/lpc11u14-example2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Windowsにインストールした場合、通常はシステムドライブの直下にnxpというディレクトリを作ってインストールしていると思います。この中に含まれるLPCXpresso IDEのExamplesディレクトリがサンプルが含まれるディレクトリです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-E2m7_vGDmms/Tg-JcuHB5PI/AAAAAAAABX4/YxHq0nopxAQ/s1600/lpc11u14-example3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-E2m7_vGDmms/Tg-JcuHB5PI/AAAAAAAABX4/YxHq0nopxAQ/s400/lpc11u14-example3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ファイルを選択後にFinishボタンを押すとプロジェクト画面にプロジェクトが出現します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-fgIwY0Qdy8o/Tg-KVxl2XSI/AAAAAAAABYA/65Gk_LltG20/s1600/lpc11u14-example4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://3.bp.blogspot.com/-fgIwY0Qdy8o/Tg-KVxl2XSI/AAAAAAAABYA/65Gk_LltG20/s400/lpc11u14-example4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;プロジェクトのビルドと実行&lt;/h1&gt;それではさっそくプロジェクトをビルドしてみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-lE5J4morJSk/Tg-KfVpSZmI/AAAAAAAABYI/HnZ99if7OKA/s1600/lpc11u14-example5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="243" src="http://1.bp.blogspot.com/-lE5J4morJSk/Tg-KfVpSZmI/AAAAAAAABYI/HnZ99if7OKA/s400/lpc11u14-example5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;以上でサンプルプロジェクトを実行するための準備ができました。&lt;br /&gt;早速LPCXpressoを接続します。&lt;br /&gt;&lt;br /&gt;初回接続時にはドライバが自動的にロードされると思います。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KHNFvc4VpHc/Tg-K0BamC0I/AAAAAAAABYQ/o8K_ozswcgI/s1600/lpc11u14-example6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="116" src="http://4.bp.blogspot.com/-KHNFvc4VpHc/Tg-K0BamC0I/AAAAAAAABYQ/o8K_ozswcgI/s400/lpc11u14-example6.png" width="368" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;「Quickstart Panel」は状況に応じて表示内容や操作可能な項目が変化する仕組みです。&lt;br /&gt;サンプルプロジェクトを使ってデバッグを実行する時には以下のようにします。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Vud8fOKLrrE/Tg-LC_u8HyI/AAAAAAAABYY/lfFIlal5iao/s1600/lpc11u14-example7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-Vud8fOKLrrE/Tg-LC_u8HyI/AAAAAAAABYY/lfFIlal5iao/s400/lpc11u14-example7.png" width="390" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Windowsの場合、ファイアウォールに関する警告が出るかもしれません。&lt;br /&gt;この時には「アクセスを許可する」を選択して下さい。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ZGKEyAF44hM/Tg-LT5wNMvI/AAAAAAAABYg/EDdl8lAh36w/s1600/lpc11u14-example8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="230" src="http://2.bp.blogspot.com/-ZGKEyAF44hM/Tg-LT5wNMvI/AAAAAAAABYg/EDdl8lAh36w/s400/lpc11u14-example8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;これでめでたくソースコード表示付きのデバッグが楽しめます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-uN2FkgUML9U/Tg-Lx3Pu49I/AAAAAAAABYo/gJO7K-XI5FI/s1600/lpc11u14-example9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="354" src="http://3.bp.blogspot.com/-uN2FkgUML9U/Tg-Lx3Pu49I/AAAAAAAABYo/gJO7K-XI5FI/s400/lpc11u14-example9.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;デバッグしてみる&lt;/h1&gt;ソースコードをステップ毎に実行したい時には・・・&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-YM_jPPjfv88/Tg-MGLwC3eI/AAAAAAAABYw/wTzSBaSIPKk/s1600/lpc11u14-example10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="http://4.bp.blogspot.com/-YM_jPPjfv88/Tg-MGLwC3eI/AAAAAAAABYw/wTzSBaSIPKk/s400/lpc11u14-example10.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;こんな風に簡単にステップ実行できます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--n0xNE6qrbo/Tg-M2t_sTII/AAAAAAAABY4/zxyD7NTGCGI/s1600/lpc11u14-example11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://4.bp.blogspot.com/--n0xNE6qrbo/Tg-M2t_sTII/AAAAAAAABY4/zxyD7NTGCGI/s400/lpc11u14-example11.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;続けて実行したい場合には、「Resume」を選択します。&lt;br /&gt;通常の実行に近い形で実行することができます。&lt;br /&gt;この時、ブレークポイントを設定してあれば、そこで停止させることができます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XCt-Xp9JF6o/Tg-NFairQBI/AAAAAAAABZA/GP4bBhrPHSg/s1600/lpc11u14-example12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="179" src="http://2.bp.blogspot.com/-XCt-Xp9JF6o/Tg-NFairQBI/AAAAAAAABZA/GP4bBhrPHSg/s400/lpc11u14-example12.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;デバッグを終了したい時には「Terminate」を選択して下さい。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-7EilHlr6dIk/Tg-NR8aDCyI/AAAAAAAABZI/GlojjBaDk1w/s1600/lpc11u14-example13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="178" src="http://4.bp.blogspot.com/-7EilHlr6dIk/Tg-NR8aDCyI/AAAAAAAABZI/GlojjBaDk1w/s400/lpc11u14-example13.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;まとめ&lt;/h1&gt;前回の&lt;a href="http://shinta-main-jp.blogspot.com/2011/07/lpcxpressolpcxpresso.html"&gt;LPCXpressoのライセンス登録方法(LPCXpresso週間)&lt;/a&gt;に続き、初めてマイコン開発される方のためのコンテンツとしてサンプルプロジェクトの実行について触れてみました。&lt;br /&gt;&lt;br /&gt;LPCXpressoは3千円ほどで購入できるARMマイコンが搭載された評価基板です。&lt;br /&gt;みなさんも今年の夏休みはLPCXpressoで何か新しいことに挑戦してみませんか？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-5116635041871572851?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/5116635041871572851/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpcxpressolpcxpresso_03.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5116635041871572851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5116635041871572851'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpcxpressolpcxpresso_03.html' title='LPCXpressoのサンプルを使ってみよう(LPCXpresso週間)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XmNjmIT9Vv4/Tg-HPiIFnTI/AAAAAAAABXo/8JHkMZUovKU/s72-c/lpc11u14-example1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-8286309671342105203</id><published>2011-07-02T19:35:00.000+09:00</published><updated>2011-07-02T19:35:26.016+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpressoDay'/><title type='text'>LPCXpressoのライセンス登録方法(LPCXpresso週間)</title><content type='html'>&lt;h1&gt;概要&lt;/h1&gt;LPCXpressoは低価格(3千円程度)で購入できることから、中学生、高校生など、エンジニアの卵達にも教材としてもお勧めしたい一品です。&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;このIDEですが、単にインストールした状態では8Kバイトを超えるコードを生成実行することはできません。例えば、mbedに搭載されているプロセッサLPC1768の場合、512KBのフラッシュロムを持ちますから、単純計算で1/64しか楽しめないのです。&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;しかし、ライセンス登録するだけで128Kバイトまでのコードを生成実行することができるようになります。&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;先の例ですと1/2まで楽しめるようになるわけです。&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;エンジニアの卵達の中には、英語がネックになってライセンス登録を躊躇しているかもしれません。&lt;br /&gt;ということで、今回はライセンスを取って128KBまでのコードに対応できるようにしましょう。&lt;br /&gt;&lt;h1&gt;初回起動時のメッセージ&lt;/h1&gt;初回起動時、ライセンス登録が行われていない事を示すダイアログが表示されます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OiZZA6PL4N4/Tg7oYA2A0kI/AAAAAAAABWo/rRMkvaAO0nA/s1600/license-type.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="139" src="http://1.bp.blogspot.com/-OiZZA6PL4N4/Tg7oYA2A0kI/AAAAAAAABWo/rRMkvaAO0nA/s400/license-type.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;これには&lt;/div&gt;&lt;ul&gt;&lt;li&gt;未登録LPCXpressoは評価目的のみで使用可能であること。&lt;/li&gt;&lt;li&gt;登録とアクティベートによって上記制限が取り除かれること。&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;と書かれています。&lt;/div&gt;&lt;h1&gt;ライセンスの登録方法&lt;/h1&gt;まずはシリアル番号を生成します。&lt;br /&gt;&lt;br /&gt;「Help(ヘルプ)」メニューから「Product activation(製品活性化)」を選択します。&lt;br /&gt;そこにある「Create Serial number and Activate...(シリアル番号の生成と活性化)」を実行します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-jc_M0mNYldE/Tg7rUX9MlsI/AAAAAAAABWw/Ym0Y8Pj4v8o/s1600/license-create-serial-number.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://2.bp.blogspot.com/-jc_M0mNYldE/Tg7rUX9MlsI/AAAAAAAABWw/Ym0Y8Pj4v8o/s400/license-create-serial-number.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;以下のようなダイアログが表示されます。&lt;br /&gt;ここに表示されたSerial number(シリアル番号)は、LPCXpresso IDEが自動的に生成したシリアル番号です。&lt;br /&gt;このシリアル番号を選択してCtrl + Cなどで、クリップボードにコピーしておきます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-lc-m13PMPiE/Tg7tX1M_-RI/AAAAAAAABW8/BLfa_J8n0v4/s1600/license-dialog-serial-number.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="146" src="http://3.bp.blogspot.com/-lc-m13PMPiE/Tg7tX1M_-RI/AAAAAAAABW8/BLfa_J8n0v4/s400/license-dialog-serial-number.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Copy Serial Number to clipboard(クリップボードへシリアル番号をコピーする)にチェックを付けておけばOKボタンを押した時にクリップボードにシリアル番号を自動的にコピーしてくれます。&lt;br /&gt;&lt;br /&gt;次に&lt;a href="http://lpcxpresso.code-red-tech.com/LPCXpresso/Home"&gt;code_redのサイト&lt;/a&gt;にログインします。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-O4rlh3C-dFI/Tg7tt_2g_lI/AAAAAAAABXE/z1WIZaRTXSo/s1600/license-code_red-site.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/-O4rlh3C-dFI/Tg7tt_2g_lI/AAAAAAAABXE/z1WIZaRTXSo/s400/license-code_red-site.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ログイン後にメニューにある「My Registrations(登録)」を選択します。&lt;br /&gt;&lt;br /&gt;「Enter serial number here(シリアル番号をここに入力)」と表示されています。&lt;br /&gt;ここに先ほどコピーしたシリアル番号をペーストします。&lt;br /&gt;&lt;br /&gt;シリアル番号をペーストしたら「Send me my activation code(活性化コードを送る)」ボタンを押します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-bTW7nI-wEIc/Tg7uQCmGCAI/AAAAAAAABXM/lb6dJSnvAt0/s1600/license-input-your-serial-number.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="257" src="http://3.bp.blogspot.com/-bTW7nI-wEIc/Tg7uQCmGCAI/AAAAAAAABXM/lb6dJSnvAt0/s400/license-input-your-serial-number.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;code_redのサイトに登録してあるメールアカウントに活性化コードが送信されます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-TZjS_8m1X40/Tg7wmbFl4zI/AAAAAAAABXQ/Z5vFGTzt_U0/s1600/license-activation-code-has-been-sent.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="190" src="http://4.bp.blogspot.com/-TZjS_8m1X40/Tg7wmbFl4zI/AAAAAAAABXQ/Z5vFGTzt_U0/s320/license-activation-code-has-been-sent.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;英文のメールですので、日本国内のメールサービスの中には誤ってスパムメールとして識別されてしまうかもしれません。&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QtjdMMQiptk/Tg7xvzhvfYI/AAAAAAAABXU/M6QgY4WOUJc/s1600/license-activation-code.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="113" src="http://4.bp.blogspot.com/-QtjdMMQiptk/Tg7xvzhvfYI/AAAAAAAABXU/M6QgY4WOUJc/s320/license-activation-code.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;メールの中にある「Your activation code is:（あなたの活性化コードは：）」の下に書いてある文字列が活性化コードです。&lt;br /&gt;&lt;br /&gt;「Help(ヘルプ)」から「Product activation(製品活性化)」を選択し、今度は「Enter Activation code(活性化コードを入力)」を実行します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-1QHO3zph4Pc/Tg7yXZiqmAI/AAAAAAAABXY/ke0Lkb-oXps/s1600/license-enter-activation-code.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="151" src="http://3.bp.blogspot.com/-1QHO3zph4Pc/Tg7yXZiqmAI/AAAAAAAABXY/ke0Lkb-oXps/s320/license-enter-activation-code.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ダイアログが表示されますので、先ほどコピーした活性化コードをペーストして下さい。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-F_ksy9ARwXY/Tg7yhBsH97I/AAAAAAAABXc/EhFvQLFnc7w/s1600/license-activation-code-dialog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="115" src="http://4.bp.blogspot.com/-F_ksy9ARwXY/Tg7yhBsH97I/AAAAAAAABXc/EhFvQLFnc7w/s320/license-activation-code-dialog.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;活性化コードを入力してOKボタンを押すと製品活性化が完了します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RXfOKdT_rAo/Tg7yqdykmaI/AAAAAAAABXg/z-9wE-63YZ4/s1600/license-fully-activated.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="153" src="http://4.bp.blogspot.com/-RXfOKdT_rAo/Tg7yqdykmaI/AAAAAAAABXg/z-9wE-63YZ4/s320/license-fully-activated.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;以上でめでたく128KBまでのコード生成とデバッグができるようになりました。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;まとめ&lt;/h1&gt;今回は、エンジニアの卵達にも気軽に使ってほしいとの思いで、ライセンス登録について触れてみました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-8286309671342105203?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/8286309671342105203/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpcxpressolpcxpresso.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8286309671342105203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8286309671342105203'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/07/lpcxpressolpcxpresso.html' title='LPCXpressoのライセンス登録方法(LPCXpresso週間)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-OiZZA6PL4N4/Tg7oYA2A0kI/AAAAAAAABWo/rRMkvaAO0nA/s72-c/license-type.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-3000723180946840052</id><published>2011-06-25T18:57:00.001+09:00</published><updated>2011-06-25T19:05:40.341+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpressoDay'/><title type='text'>LPCXpressoの放置を防ぐお勧め取り組み方法(LPCXpresso週間)</title><content type='html'>&lt;h1&gt;購入後に放置してしまいがちな評価ボード&lt;/h1&gt;評価ボードの類は書籍などと同様で取り組むための時間の捻出が欠かせません。&lt;br /&gt;購入したものの部品箱の奥底に埋もれてしまう事はよくあることです。&lt;br /&gt;&lt;br /&gt;ありそうな理由を挙げてみましょう。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;本当に忙しくて時間を捻出できない。(それって本当？)&lt;/li&gt;&lt;li&gt;購入した時点で興味を失ってしまった。(何がしたかったの？)&lt;/li&gt;&lt;li&gt;LEDをチカチカさせた後、どうして良いかわからない。(いかにもありそう。)&lt;/li&gt;&lt;li&gt;XXXを試したら興味を失ってしまった。(そのXXXを試す事が目的なら良いけど・・・。)&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-dnmg8zMxm-U/TgWwyndJeYI/AAAAAAAABWQ/VSUlkGGxtzg/s1600/DSC04799.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-dnmg8zMxm-U/TgWwyndJeYI/AAAAAAAABWQ/VSUlkGGxtzg/s400/DSC04799.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;流石に沢山の人が毎年同じようなループに陥るのは地球資源にも優しくありません。&lt;br /&gt;まず、上記のようになってしまう原因を探ってみましょう。&lt;br /&gt;&lt;h1&gt;自分のためになる何かを考える&lt;/h1&gt;マイコン評価ボードは「そのマイコンを使ってみる」というところの主眼を置くと、ほとんどの場合触らなくなってしまいます。その触らなくなる瞬間までに何かが得られれば良いのですが、用意された環境を実行して終わりになってしまっては勿体無い限りです。&lt;br /&gt;&lt;br /&gt;そこで、評価ボードを使うということに必然性のある理由を追加します。&lt;br /&gt;例を挙げてみましょう。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;この評価ボードを使ってネットワーク機能の実装方法を習得しよう。&lt;/li&gt;&lt;li&gt;この評価ボードを使ってUSBに関する理解を深めよう。&lt;/li&gt;&lt;li&gt;この評価ボードを使ってCANに関する理解を深めよう。&lt;/li&gt;&lt;li&gt;この評価ボードを使ってOSをポーティングし、アセンブラやOSに関する理解を深めよう。&lt;/li&gt;&lt;/ul&gt;「この評価ボードに搭載されたXXXというマイコンを使う」というだけでは漠然とした目的になってしまいがちです。これでは忙しい毎日の生活の中で時間の捻出に繋がる動機を生み出せません。&lt;br /&gt;&lt;br /&gt;そこで、各自の「最終的に実現したいこと(学習のターゲット)」を要素として加えることで具体的な目標にします。&lt;br /&gt;これにより時間の捻出をしようという動機に繋げるという仕組みです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-HGr--s0bDnM/TgWuEZVd_GI/AAAAAAAABWE/550m0DoIz2E/s1600/DSC05079.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-HGr--s0bDnM/TgWuEZVd_GI/AAAAAAAABWE/550m0DoIz2E/s320/DSC05079.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;例えば、上記は「FATファイルシステムの動作を確かめればそれで良い。」という方向で使用した例です。（ぐちゃぐちゃですが、きれいに実装することが目的ではないので気にしません。）&lt;br /&gt;&lt;h1&gt;LPCXpressoがなぜお勧めなの？&lt;/h1&gt;単に「マイコンを使う」という視点で見た場合、もっと他に楽しいボードが沢山ありそうです。&lt;br /&gt;LPCXpressoをお勧めするのは、&lt;br /&gt;&lt;ul&gt;&lt;li&gt;「具体的な目標」に適切なボードが存在。&lt;/li&gt;&lt;li&gt;開発環境のセットアップに比較的容易。&lt;/li&gt;&lt;li&gt;実現したいことに対する投資としては安価。&lt;/li&gt;&lt;li&gt;可搬性に優れた設計。&lt;/li&gt;&lt;li&gt;ターゲット回路構成がシンプル。&lt;/li&gt;&lt;/ul&gt;など妥当な理由が存在するからです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-m51PSKFShNI/TgWv_qBjFzI/AAAAAAAABWI/JzkdX_eojQY/s1600/DSC05080.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-m51PSKFShNI/TgWv_qBjFzI/AAAAAAAABWI/JzkdX_eojQY/s320/DSC05080.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;例えばLPCXpressoの場合であれば、以下のような選択肢が考えられます。&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;最終的に実現したいこと&lt;br /&gt;(学習のターゲット)&lt;/th&gt;&lt;th&gt;ボード&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ネットワーク&lt;/td&gt;&lt;td&gt;&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/lpc1769_xpr.php"&gt;LPC1769 LPCXpresso&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;USB&lt;/td&gt;&lt;td&gt;&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/lpc11U14_xpr.php"&gt;LPC11U14 LPCXpresso&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CAN&lt;/td&gt;&lt;td&gt;&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/lpc11C24_xpr.php"&gt;LPC11C24 LPCXpresso&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;OS&lt;/td&gt;&lt;td&gt;&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/"&gt;LPCXpresso全般&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;組み込みエンジニアとしてネットワークやUSB、そしてOSに関する学習は外したくないところです。&lt;br /&gt;車載系装置のエンジニアならばCANも加わることでしょう。&lt;br /&gt;&lt;br /&gt;こんな風に、最終的に実現したいことを学習のターゲットとして設定し、LPCXpressoを購入することで、学習への第１段階に到達することができるのがLPCXpressoをお勧めする１つの理由です。&lt;br /&gt;&lt;br /&gt;もし、ご自宅で眠っているLPCXpressoがあれば、視点を変えて再度取り組んでみませんか？&lt;br /&gt;次回以降は環境の構築と具体的な学習への取り組みについて触れて行こうと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-3000723180946840052?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/3000723180946840052/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/lpcxpressolpcxpresso_25.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3000723180946840052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3000723180946840052'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/lpcxpressolpcxpresso_25.html' title='LPCXpressoの放置を防ぐお勧め取り組み方法(LPCXpresso週間)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-dnmg8zMxm-U/TgWwyndJeYI/AAAAAAAABWQ/VSUlkGGxtzg/s72-c/DSC04799.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4398510705609555043</id><published>2011-06-24T05:04:00.003+09:00</published><updated>2011-06-25T21:11:50.932+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpressoDay'/><title type='text'>LPCXpressoを選ぶ(LPCXpresso週間)</title><content type='html'>&lt;h1&gt;色々あるけど全部一緒でしょ？&lt;/h1&gt;前回の記事で現状で６つのLPCXpressoが存在することをお伝えしました。&lt;br /&gt;実は、単に搭載されているプロセッサが異なるだけというわけではありません。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-svbcq8w1aCo/TgOb-jekddI/AAAAAAAABWA/J6vscYe9SPE/s1600/lpcxpresso-series.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="279" src="http://4.bp.blogspot.com/-svbcq8w1aCo/TgOb-jekddI/AAAAAAAABWA/J6vscYe9SPE/s400/lpcxpresso-series.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;モデルによって搭載されている外部デバイスが異なったり、興味深い工夫が施されていたりします。今回はそれらを１つずつ見て行くことにしましょう。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;LPC1769 LPCXpresso&lt;/h1&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Ao__vNUa2Dc/TgOJoFjtURI/AAAAAAAABUA/eT77_MPTz2M/s1600/lpc1769.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://3.bp.blogspot.com/-Ao__vNUa2Dc/TgOJoFjtURI/AAAAAAAABUA/eT77_MPTz2M/s400/lpc1769.png" width="188" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;現在のラインナップでの兄貴分と言えるのがLPC1769 LPCXpressoです。&lt;br /&gt;このボードにはイーサネット物理層デバイスも搭載されています。&lt;br /&gt;要するにRJ-45コネクタを外部に接続するだけでネットワーク機能を試す事ができます。&lt;br /&gt;搭載されているデバイスは&lt;a href="http://www.smsc.com/index.php?pid=59&amp;amp;tid=149"&gt;SMSCのLAN8720A&lt;/a&gt;です。&lt;br /&gt;ボード上にはネットワーク動作確認用のLEDも搭載されています。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/LPCXpressoLPC1769revB.pdf"&gt;回路図&lt;/a&gt;から少し抜粋してみます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4YsFrm0JIPs/TgOL0dQ5_uI/AAAAAAAABUw/DlDtgvVA4x0/s1600/lpc1769-lan8720.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="323" src="http://4.bp.blogspot.com/-4YsFrm0JIPs/TgOL0dQ5_uI/AAAAAAAABUw/DlDtgvVA4x0/s400/lpc1769-lan8720.png" width="334" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;LAN8720AとLPC1769との間は、RMII(Reduced Media Independent Interface)で接続されています。RMIIは、主にMII(Media Independent Interface)の接続端子数を削減するために作られたものです。この辺りは興味深い事が沢山ありますので、色々と調べてみると面白そうです。&lt;br /&gt;&lt;br /&gt;また、EEPROMも搭載されています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nQcUnNd5wZY/TgOPviHqF0I/AAAAAAAABU4/mtV53bwZPkQ/s1600/lpc1769-24lc64.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="205" src="http://2.bp.blogspot.com/-nQcUnNd5wZY/TgOPviHqF0I/AAAAAAAABU4/mtV53bwZPkQ/s400/lpc1769-24lc64.png" width="295" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I2Cペリフェラルを使ってみたい人は、このボード１つ購入するだけで試す事ができます。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;LPC1343 LPCXpresso&lt;/h1&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-5BYf-IwPgcU/TgOJs0nuP5I/AAAAAAAABUI/36hUUrIBn58/s1600/lpc1343.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://3.bp.blogspot.com/-5BYf-IwPgcU/TgOJs0nuP5I/AAAAAAAABUI/36hUUrIBn58/s400/lpc1343.png" width="188" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;幾つかのデバイスが搭載されていたLPC1769 LPCXpressoと対象的なのがLPC1343 LPCXpressoです。&lt;br /&gt;ターゲット側の&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/LPCXpressoLPC1343revA.pdf"&gt;回路図&lt;/a&gt;を見てみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-IokyZguMnmU/TgORSki52kI/AAAAAAAABVA/TjUnKJOfgGo/s1600/lpc1343-target.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="273" src="http://1.bp.blogspot.com/-IokyZguMnmU/TgORSki52kI/AAAAAAAABVA/TjUnKJOfgGo/s400/lpc1343-target.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;デバイスに接続されているのはLEDのみです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-vGyrBWhYOdU/TgORop22API/AAAAAAAABVI/VsPZXsV1WRs/s1600/lpc1343-led.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="141" src="http://2.bp.blogspot.com/-vGyrBWhYOdU/TgORop22API/AAAAAAAABVI/VsPZXsV1WRs/s400/lpc1343-led.png" width="222" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;LPC1227 LPCXpresso&lt;/h1&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GmKNvOQWOq0/TgOJxb99bBI/AAAAAAAABUQ/pUnVlyHQAtU/s1600/lpc1227.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="211" src="http://4.bp.blogspot.com/-GmKNvOQWOq0/TgOJxb99bBI/AAAAAAAABUQ/pUnVlyHQAtU/s400/lpc1227.png" width="187" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;LPC1227 LPCXpressoはパッと見ると何も面白くないのですが、中々興味深い工夫が施されています。&lt;br /&gt;その部分を&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/LPCXpressoLPC1200revB.pdf"&gt;回路図&lt;/a&gt;から抜粋します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-BT1xcW7dzGE/TgOUXMjCgpI/AAAAAAAABVQ/3pdSgS5DNwQ/s1600/lpc1227-current-consumption-measurements.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="374" src="http://4.bp.blogspot.com/-BT1xcW7dzGE/TgOUXMjCgpI/AAAAAAAABVQ/3pdSgS5DNwQ/s400/lpc1227-current-consumption-measurements.png" width="385" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;低消費電力アプリケーション向けに意図されている事もあって、この評価ボードで簡単に消費電力を計測できるように意図されています。&lt;br /&gt;&lt;br /&gt;チカチカさせたい人のためのLEDももちろんあります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9rvMDvYRRTA/TgOUyTsl5lI/AAAAAAAABVY/GlhRXGwQHhk/s1600/lpc1227-led.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="163" src="http://4.bp.blogspot.com/-9rvMDvYRRTA/TgOUyTsl5lI/AAAAAAAABVY/GlhRXGwQHhk/s400/lpc1227-led.png" width="118" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;LPC11C24 LPCXpresso&lt;/h1&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6R-RMIAiP1o/TgOJ2UxE_-I/AAAAAAAABUY/okk5mvdUQ24/s1600/lpc11c24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="184" src="http://3.bp.blogspot.com/-6R-RMIAiP1o/TgOJ2UxE_-I/AAAAAAAABUY/okk5mvdUQ24/s400/lpc11c24.png" width="188" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;LPC11C24 LPCXpressoのターゲットにはCANが実装されています。&lt;br /&gt;そうです。LPC11C24のCはCANのCなんです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MoRMXvtFhEs/TgOVafk7meI/AAAAAAAABVg/qMun2QRpiig/s1600/lpc11c24-target.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="354" src="http://2.bp.blogspot.com/-MoRMXvtFhEs/TgOVafk7meI/AAAAAAAABVg/qMun2QRpiig/s400/lpc11c24-target.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この評価ボードでお手軽にCANが試せると言うわけです。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;LPC11U14 LPCXpresso&lt;/h1&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Q0BMnpTAdfM/TgOJ6-UpVgI/AAAAAAAABUg/ad-I2FVPk6o/s1600/lpc11u14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="184" src="http://2.bp.blogspot.com/-Q0BMnpTAdfM/TgOJ6-UpVgI/AAAAAAAABUg/ad-I2FVPk6o/s400/lpc11u14.png" width="189" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;LPC11C24 LPCXpressoのCはCANのCでした。&lt;br /&gt;このLPC11U14 LPCXpressoに搭載されているデバイス、LPC11U14のUは何でしょうか？&lt;br /&gt;答えは・・・&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-fMmHrcIJQbc/TgOX5rpqV5I/AAAAAAAABVo/0Jb-cjzUzHo/s1600/lpc11u14-usb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="289" src="http://2.bp.blogspot.com/-fMmHrcIJQbc/TgOX5rpqV5I/AAAAAAAABVo/0Jb-cjzUzHo/s400/lpc11u14-usb.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;USBなのです。&lt;br /&gt;LPC11U14 LPCXpressoにはターゲット側にUSBコネクタまでが搭載されています。&lt;br /&gt;小型アプリケーションをプロセッサで実現したい時にUSBデバイスとして扱いたい事があります。&lt;br /&gt;そんな実験にもってこいなのがLPC11U14 LPCXpressoというわけです。&lt;br /&gt;&lt;br /&gt;LPC11U14 LPCXpressoの&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/LPCXpressoLPC11U14revA.pdf"&gt;回路図&lt;/a&gt;にも低消費電力アプリケーション向けを意識した工夫を見つける事ができます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-89AiWKa27Z4/TgOYm1f5orI/AAAAAAAABVw/YH1MvYPvKWM/s1600/lpc11u14-current-consumption-measurements.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://2.bp.blogspot.com/-89AiWKa27Z4/TgOYm1f5orI/AAAAAAAABVw/YH1MvYPvKWM/s400/lpc11u14-current-consumption-measurements.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;LPC1114 LPCXpresso&lt;/h1&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3wSnSLCJqqA/TgOJ-gJqwiI/AAAAAAAABUo/yQX5bAHE0mw/s1600/lpc1114.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://2.bp.blogspot.com/-3wSnSLCJqqA/TgOJ-gJqwiI/AAAAAAAABUo/yQX5bAHE0mw/s400/lpc1114.png" width="187" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;LPC1114 LPCXpressoはC(CAN)もU(USB)もない普通のLPC1100シリーズのデバイスです。&lt;br /&gt;&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/LPCXpressoLPC1114revA.pdf"&gt;回路図&lt;/a&gt;にはLPC1343 LPCXpressoとの互換性に関する配慮がされています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-D4eE7TtyWtc/TgOaDHBLdbI/AAAAAAAABV4/P8g5kPHFXTY/s1600/lpc1114-target.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="275" src="http://1.bp.blogspot.com/-D4eE7TtyWtc/TgOaDHBLdbI/AAAAAAAABV4/P8g5kPHFXTY/s400/lpc1114-target.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;h1&gt;今回のまとめ&lt;/h1&gt;一口にLPCXpressoと言っても、ご覧の通りデバイスの特徴に合わせてちょっとした工夫が施されているのがLPCXpresso評価基板の特徴です。(LPC1343 LPCXpressoやLPC1114 LPCXpressoでさえも、際立った特徴を持たせないのが特徴だったりします。)&lt;br /&gt;&lt;br /&gt;LPCXpressoには沢山の種類があってどれを選んで良いのかわからなくなりそうですが、実際にやってみたい事や評価してみたい事を思い浮かべて回路図を眺めてみると、「これかな？」という候補が浮かんできたりします。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-svbcq8w1aCo/TgOb-jekddI/AAAAAAAABWA/J6vscYe9SPE/s1600/lpcxpresso-series.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="279" src="http://4.bp.blogspot.com/-svbcq8w1aCo/TgOb-jekddI/AAAAAAAABWA/J6vscYe9SPE/s400/lpcxpresso-series.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;是非みなさんも「これがやってみたい！」ということを頭に思い浮かべて、モデル選択を楽しんでみませんか？&lt;br /&gt;全ての回路図はボードを設計されている&lt;a href="http://www.embeddedartists.com/"&gt;Embedded Artists社&lt;/a&gt;のサイトから&lt;a href="http://www.embeddedartists.com/products/lpcxpresso/"&gt;ダウンロード&lt;/a&gt;することができます。&lt;br /&gt;&lt;br /&gt;参考までに簡単な比較表を用意しました。&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;名称&lt;/th&gt;&lt;th&gt;搭載プロセッサ&lt;/th&gt;&lt;th&gt;シリーズ&lt;/th&gt;&lt;th&gt;SRAM[KB]&lt;/th&gt;&lt;th&gt;Flash[KB]&lt;/th&gt;&lt;th&gt;最大クロック周波数[MHz]&lt;/th&gt;&lt;th&gt;デバッグLED&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LPC1114 LPCXpresso&lt;/td&gt;&lt;td&gt;LPC1114&lt;/td&gt;&lt;td&gt;Cortex-M0&lt;/td&gt;&lt;td align="right"&gt;8&lt;/td&gt;&lt;td align="right"&gt;32&lt;/td&gt;&lt;td align="right"&gt;50&lt;/td&gt;&lt;td&gt;PIO0_7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LPC11U14 LPCXpresso&lt;/td&gt;&lt;td&gt;LPC11U14&lt;/td&gt;&lt;td&gt;Cortex-M0&lt;/td&gt;&lt;td align="right"&gt;6&lt;/td&gt;&lt;td align="right"&gt;32&lt;/td&gt;&lt;td align="right"&gt;50&lt;/td&gt;&lt;td&gt;PIO0_7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LPC11U24 LPCXpresso&lt;/td&gt;&lt;td&gt;LPC1124&lt;/td&gt;&lt;td&gt;Cortex-M0&lt;/td&gt;&lt;td align="right"&gt;8&lt;/td&gt;&lt;td align="right"&gt;32&lt;/td&gt;&lt;td align="right"&gt;50&lt;/td&gt;&lt;td&gt;PIO0_7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LPC1227 LPCXpresso&lt;/td&gt;&lt;td&gt;LPC1227&lt;/td&gt;&lt;td&gt;Cortex-M0&lt;/td&gt;&lt;td align="right"&gt;8&lt;/td&gt;&lt;td align="right"&gt;128&lt;/td&gt;&lt;td align="right"&gt;45&lt;/td&gt;&lt;td&gt;PIO0_7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LPC1343 LPCXpresso&lt;/td&gt;&lt;td&gt;LPC1343&lt;/td&gt;&lt;td&gt;Cortex-M3&lt;/td&gt;&lt;td align="right"&gt;8&lt;/td&gt;&lt;td align="right"&gt;32&lt;/td&gt;&lt;td align="right"&gt;72&lt;/td&gt;&lt;td&gt;PIO0_7&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;LPC1769 LPCXpresso&lt;/td&gt;&lt;td&gt;LPC1769&lt;/td&gt;&lt;td&gt;Cortex-M3&lt;/td&gt;&lt;td align="right"&gt;64&lt;/td&gt;&lt;td align="right"&gt;512&lt;/td&gt;&lt;td align="right"&gt;120&lt;/td&gt;&lt;td&gt;PIO0_22&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4398510705609555043?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4398510705609555043/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/lpcxpressolpcxpresso_24.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4398510705609555043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4398510705609555043'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/lpcxpressolpcxpresso_24.html' title='LPCXpressoを選ぶ(LPCXpresso週間)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-svbcq8w1aCo/TgOb-jekddI/AAAAAAAABWA/J6vscYe9SPE/s72-c/lpcxpresso-series.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-8699670238855365876</id><published>2011-06-22T06:35:00.002+09:00</published><updated>2011-06-24T05:21:56.707+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpresso'/><category scheme='http://www.blogger.com/atom/ns#' term='LPCXpressoDay'/><title type='text'>LPCXpressoを皆でいじり倒そう！(LPCXpresso週間)</title><content type='html'>&lt;h1&gt;LPCXpresso週間のイントロダクション&lt;/h1&gt;ここ最近&lt;a href="http://www.embeddedartists.com/"&gt;Embedded Artists社&lt;/a&gt;のLPCXpressoシリーズの動きが活発です。&lt;br /&gt;気付いたら６つものプロセッサから選択できるようになっていました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hv42m8UbNmE/TgEDCdQ-uII/AAAAAAAABTw/kCiu03fTXKY/s1600/lpcxpresso-series.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="280" src="http://3.bp.blogspot.com/-hv42m8UbNmE/TgEDCdQ-uII/AAAAAAAABTw/kCiu03fTXKY/s400/lpcxpresso-series.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;そこでCuBeatSystemsとしても何かやろうということで、「LPCXpressoを皆でいじり倒そう！」と題してLPCXpresso週間を始めることにしました。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;8ビット、16ビットマイコンを使っているけれど、ARMマイコンにも興味がある。&lt;/li&gt;&lt;li&gt;とりあえずARMマイコンを使っているけれど、もっと中身を知りたい。&lt;/li&gt;&lt;li&gt;その他。&lt;/li&gt;&lt;/ul&gt;色々な方に楽しんで頂けるようなメニュー構成で進めたいと思います。&lt;br /&gt;&lt;h1&gt;LPCXpressoって何？&lt;/h1&gt;事前知識の無い方に「LPCXpresso」と言っても何が何だかですので、簡単に特徴を整理しておきましょう。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.jp.nxp.com/"&gt;NXPセミコンダクターズ社&lt;/a&gt;のARMマイコンが搭載された評価ボードです。&lt;/li&gt;&lt;li&gt;デバッガとターゲットが１つのコンパクトな基板になっています。（持ち運びが便利です。）&lt;/li&gt;&lt;li&gt;パソコンのUSBポートに接続するだけで使えます。（どこでもデバッグが楽しめます。）&lt;/li&gt;&lt;li&gt;国内でも&lt;a href="http://akizukidenshi.com/catalog/default.aspx"&gt;秋月電子通商&lt;/a&gt;、&lt;a href="http://www.marutsu.co.jp/"&gt;マルツパーツ館&lt;/a&gt;などから容易に購入できます。&lt;/li&gt;&lt;li&gt;評価ボードの部類ではかなり安いです。（３０００円前後）&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.code-red-tech.com/"&gt;ダウンロード可能な開発環境&lt;/a&gt;が便利です。（Windows, Linuxで使えます。）&lt;/li&gt;&lt;li&gt;お手元のお気に入りな開発環境も使用可能です。&lt;/li&gt;&lt;li&gt;FreeRTOSやTOPPERS/ASPなどの動作も可能。&lt;/li&gt;&lt;/ul&gt;近年、多くのマイコン評価ボードが出現しています。&lt;br /&gt;その中でも、ARM Cortex-M0やARM Cortex-M3を試すならLPCXpressoはかなりお勧めの選択肢です。&lt;br /&gt;&lt;h1&gt;インチキ・セレクション・マップ&lt;/h1&gt;今回は私の体験を基にしたインチキなセレクション・マップを作ってみました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-uRu8pNWs84w/TgEM01N8iuI/AAAAAAAABT4/eYhAbs-JpFI/s1600/selection-map.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="284" src="http://3.bp.blogspot.com/-uRu8pNWs84w/TgEM01N8iuI/AAAAAAAABT4/eYhAbs-JpFI/s400/selection-map.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;LPCXpressoやmbedが手元にあると「ちょっと何かを試したい時」に便利です。&lt;br /&gt;事前評価などでいちいち基板設計する必要もありません。&lt;br /&gt;また、価格も３０００円前後と安く、気軽に様々な事を試す事ができるのも嬉しいポイントです。&lt;br /&gt;&lt;br /&gt;次回以降はその魅力に触れながら様々な活用方法について触れていきたいと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-8699670238855365876?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/8699670238855365876/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/lpcxpressolpcxpresso.html#comment-form' title='2 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8699670238855365876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8699670238855365876'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/lpcxpressolpcxpresso.html' title='LPCXpressoを皆でいじり倒そう！(LPCXpresso週間)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-hv42m8UbNmE/TgEDCdQ-uII/AAAAAAAABTw/kCiu03fTXKY/s72-c/lpcxpresso-series.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-5539723175070479408</id><published>2011-06-20T21:49:00.002+09:00</published><updated>2011-06-21T07:28:15.543+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JTAG'/><category scheme='http://www.blogger.com/atom/ns#' term='FriskJtag'/><title type='text'>フリスクJTAGデバッガーをデバッグする（またバグを・・・編）</title><content type='html'>先の記事でフリスクJTAGデバッガーのデバッグを始めたわけですが、実は「これだ！」と思っていたSI/WU信号をVCCIOに釣っても現象は変わりませんでした。&lt;br /&gt;&lt;br /&gt;涙ぐましい改造をしてみましたが・・・。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-M_NlIJE80Xg/Tf86Sz553jI/AAAAAAAABTM/da3s3WlHtIM/s1600/DSC05073.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-M_NlIJE80Xg/Tf86Sz553jI/AAAAAAAABTM/da3s3WlHtIM/s400/DSC05073.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;「他にも問題が・・・」と思い回路図を見てみるとさらに怪しい所がありました。&lt;br /&gt;この基板にはEEPROMとしてマイクロチップテクノロジー社の（←ここ大事です。理由は追記に。）93C56が搭載されています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-VB2viEzcj5U/Tf87KjRFJeI/AAAAAAAABTU/j20caAf8GsQ/s1600/DSC05067.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-VB2viEzcj5U/Tf87KjRFJeI/AAAAAAAABTU/j20caAf8GsQ/s400/DSC05067.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;まさか８ピンのデバイスで接続の誤りなんて・・・とスルーしていました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-uqIIPZZmfFc/Tf8_YCTd3YI/AAAAAAAABTo/HfSPTExPpsQ/s1600/93c56.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-uqIIPZZmfFc/Tf8_YCTd3YI/AAAAAAAABTo/HfSPTExPpsQ/s320/93c56.png" width="298" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;まずはデータシートからピンの概要を見てみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-YVJFwS5WDLQ/Tf88DWvO7SI/AAAAAAAABTc/tY2VugueKRI/s1600/93c56-soic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="127" src="http://1.bp.blogspot.com/-YVJFwS5WDLQ/Tf88DWvO7SI/AAAAAAAABTc/tY2VugueKRI/s400/93c56-soic.png" width="226" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;6ピンを見て下さい。&lt;br /&gt;NCと書いてあります。&lt;br /&gt;&lt;br /&gt;NCはNo Connectの略で・・・まぁ、「何も繋がないでね。」というピンです。&lt;br /&gt;言うまでもなく・・・。&lt;br /&gt;&lt;br /&gt;それでは回路図を見てみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-LrSDVGfT26M/Tf88sq0ScqI/AAAAAAAABTk/ijUDBJtclzI/s1600/93c56-bug.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="119" src="http://2.bp.blogspot.com/-LrSDVGfT26M/Tf88sq0ScqI/AAAAAAAABTk/ijUDBJtclzI/s400/93c56-bug.png" width="309" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;あぁ・・・。&lt;br /&gt;VCCに繋がれています。&lt;br /&gt;&lt;br /&gt;これも何と言いますか、現象に関わらず修正した方が良さそうです。&lt;br /&gt;少なくともデータシートの指示と実装が異なります。&lt;br /&gt;(それとも何か理由があるのでしょうか？)&lt;br /&gt;&lt;br /&gt;試しに6ピンをVCCから切り離してみましたが、相変わらず現象は収束する気配がありません。&lt;br /&gt;うぅ。悔しい・・・。&lt;br /&gt;&lt;br /&gt;こうなったら意地でも原因を突き止めたくなってきました。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;2011/06/21追記：&lt;br /&gt;93C56という型名の付いたデバイスは少なくともMicrochip Technology、ST micro、ATMELから出ているようです。6ピンの扱いは各社のデバイスによって異なるように見えます。&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-5539723175070479408?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/5539723175070479408/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/jtag_20.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5539723175070479408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5539723175070479408'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/jtag_20.html' title='フリスクJTAGデバッガーをデバッグする（またバグを・・・編）'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-M_NlIJE80Xg/Tf86Sz553jI/AAAAAAAABTM/da3s3WlHtIM/s72-c/DSC05073.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4711755144229470695</id><published>2011-06-20T00:14:00.001+09:00</published><updated>2011-06-20T00:18:22.282+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenOCD'/><category scheme='http://www.blogger.com/atom/ns#' term='JTAG'/><category scheme='http://www.blogger.com/atom/ns#' term='FriskJtag'/><title type='text'>フリスクJTAGデバッガーをデバッグする（問題のあたりを付ける編）</title><content type='html'>前回までの記事でフリスクJTAGデバッガについて触れました。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://shinta-main-jp.blogspot.com/2011/06/arm-cortex-m3openocdjtag.html"&gt;「遂に購入。ARM Cortex-M3用OpenOCDフリスクJTAGデバッカーを準備する。」&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://shinta-main-jp.blogspot.com/2011/06/jtaglpc1768.html"&gt;「フリスクJTAGデバッガーをLPC1768で使ってみる」&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;実は使用する上で「何かおかしいな。」と思っていて要調査マークが付いていたのですが、なかなか着手できずに今日に至ってしまいました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-2ovDk9qUqaM/Tf4PEn46BeI/AAAAAAAABS8/xKkDoEwLIYU/s1600/CIMG1510.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-2ovDk9qUqaM/Tf4PEn46BeI/AAAAAAAABS8/xKkDoEwLIYU/s320/CIMG1510.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;私が経験した気になる現象は、openocdで接続時にかなりの頻度で「Error: unable to open ftdi device: unable to fetch product description」というエラーメッセージが表示されて使用することができないというもの。&lt;br /&gt;&lt;br /&gt;フリスクJTAGにはFT2232Dが搭載されています。&lt;br /&gt;どうもFT2232Dに接続されているEEPROMに記録されたProduct Descriptionが読み出せないために、openocdが結果的にJTAGアダプタを見つける事が出来ず、それ以上処理されないようです。&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;（openocdはこの読み出したProduct Descriptionとopenocd用の設定ファイルに記述されたProduct Descriptionのテキストを比較し、一致した場合にのみ自分が使用するJTAGアダプタであると認識します。）&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1lLoaM9u_l4/Tf4SCZNS1uI/AAAAAAAABTE/kzCaBL0cvHs/s1600/P1000148.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-1lLoaM9u_l4/Tf4SCZNS1uI/AAAAAAAABTE/kzCaBL0cvHs/s320/P1000148.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;フリスクJTAGは数人の方がお使いのようで誰も困っていないようなのですが、少なくとも私の手元ではLPC1768に接続する時点で困った現象に何度も遭遇しました。&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;これは調査しないわけにいきません。（香ばしい人柱の香りがするからです。）&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;ターゲットとデバッガの電源投入順序や電源のドロップやあれやこれやと仮説を立てたのですが、一向に当たりません。&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;昨夜は思い返して回路図をじーっと眺めるデバッグに切り替えてみました。&lt;/div&gt;なんだか最近はデバッグツールのデバッグばかりしている気がしますが、気にしません。&lt;br /&gt;&lt;br /&gt;データーシートと回路図を睨めっこした結果、フリスクJTAGの回路にバグを見つけてしまいました。&lt;br /&gt;SI/WUAとSI/WUB端子を見て下さい。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-5yPB3R4rsbo/Tf4KilU3sMI/AAAAAAAABSs/Yq_tHA5Z2ZY/s1600/frisk-jtag-bug.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="280" src="http://2.bp.blogspot.com/-5yPB3R4rsbo/Tf4KilU3sMI/AAAAAAAABSs/Yq_tHA5Z2ZY/s400/frisk-jtag-bug.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;二つともオープンになっています。&lt;br /&gt;&lt;br /&gt;では、FT2232Dのデータシートでこの端子について調べてみましょう。&lt;br /&gt;フリスクJTAGアダプタでは245FIFOモードでポートが使用されています。&lt;br /&gt;この設定はFTDIから提供されているFT Progで確認しました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-nnmq9Q98lXQ/Tf4PzXGT8PI/AAAAAAAABTA/uxyLorg5Xqo/s1600/frisk-jtag-ft_prog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-nnmq9Q98lXQ/Tf4PzXGT8PI/AAAAAAAABTA/uxyLorg5Xqo/s320/frisk-jtag-ft_prog.png" width="295" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;データシートには各モードに対する接続について表になって記されています。&lt;br /&gt;今回は「245FIFOインターフェースモード」の記述を参照することになります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-qoiyB7mORWE/Tf4M0WudetI/AAAAAAAABSw/KKGdb7ZHV6A/s1600/ft2232d-245fifo-mode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-qoiyB7mORWE/Tf4M0WudetI/AAAAAAAABSw/KKGdb7ZHV6A/s320/ft2232d-245fifo-mode.png" width="236" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;さて、問題のピンの記述を抜粋してみました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-v02RAklFV6k/Tf4NehsGJXI/AAAAAAAABS4/UB4S82nwrj8/s1600/ft2232d-245fifo-si_wu.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="137" src="http://1.bp.blogspot.com/-v02RAklFV6k/Tf4NehsGJXI/AAAAAAAABS4/UB4S82nwrj8/s400/ft2232d-245fifo-si_wu.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;このピンのディレクションは入力で、「未使用時にはVCCIOへ釣れ」と書いてあります。&lt;br /&gt;先ほどの回路図はこのピンがオープンになっていました。&lt;br /&gt;&lt;br /&gt;これは明らかにデータシートの指示と異なります。&lt;br /&gt;先の問題の真の原因がこれかどうかは別として、少なくともこのピンの処理はきちんとしておいたほうが良さそうです。&lt;br /&gt;&lt;br /&gt;何だかこの端子をVCCIOに釣るだけで先に記した動作が改善されそうな気がしてきました。&lt;br /&gt;次回の記事ではこのピンの処理を実機に施して動作を見てみたいと思います。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4711755144229470695?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4711755144229470695/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/jtag.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4711755144229470695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4711755144229470695'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/jtag.html' title='フリスクJTAGデバッガーをデバッグする（問題のあたりを付ける編）'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-2ovDk9qUqaM/Tf4PEn46BeI/AAAAAAAABS8/xKkDoEwLIYU/s72-c/CIMG1510.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4758998144607227791</id><published>2011-06-14T23:17:00.001+09:00</published><updated>2011-06-14T23:29:01.181+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JTAG'/><category scheme='http://www.blogger.com/atom/ns#' term='FriskJtag'/><title type='text'>フリスクJTAGデバッガーをLPC1768で使ってみる</title><content type='html'>&lt;a href="http://shinta-main-jp.blogspot.com/2011/06/arm-cortex-m3openocdjtag.html"&gt;「遂に購入。ARM Cortex-M3用OpenOCDフリスクJTAGデバッカーを準備する。」&lt;/a&gt;ではフリスクJTAGデバッガーの準備を行いました。&lt;br /&gt;&lt;br /&gt;この手の道具はケースに入れて準備しただけでは何も役立ちません。&lt;br /&gt;ちょっと試しにNXPセミコンダクターズのARM Cortex-M3が搭載された基板で動作を見てみる事にしました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CIR6Kngg5qw/Tfdq1ZAWceI/AAAAAAAABSg/9VcOZn4HDEg/s1600/DSC04984.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-CIR6Kngg5qw/Tfdq1ZAWceI/AAAAAAAABSg/9VcOZn4HDEg/s400/DSC04984.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この基板に搭載されているデバイスはLPC1769です。&lt;br /&gt;openocd(Open On-Chip Debugger)の0.4.0を使ってデバイスが見えるところまでを確認してみました。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;Open On-Chip Debugger 0.4.0 (2011-05-14-21:51)&lt;br /&gt;Licensed under GNU GPL v2&lt;br /&gt;For bug reports, read&lt;br /&gt; http://openocd.berlios.de/doc/doxygen/bugs.html&lt;br /&gt;jtag_ntrst_delay: 200&lt;br /&gt;100 kHz&lt;br /&gt;Info : clock speed 100 kHz&lt;br /&gt;Info : JTAG tap: lpc1768.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)&lt;br /&gt;Info : lpc1768.cpu: hardware has 6 breakpoints, 4 watchpoints&lt;br /&gt;Info : JTAG tap: lpc1768.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)&lt;br /&gt;target state: halted&lt;br /&gt;target halted due to debug-request, current mode: Thread &lt;br /&gt;xPSR: 0x01000000 pc: 0x1fff0080 msp: 0x10001ffc&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;見えているようです。&lt;br /&gt;ちなみにopenocdのインターフェース設定ファイルは以下のようにしました。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;#&lt;br /&gt;# FRISK JTAG Debugger&lt;br /&gt;#&lt;br /&gt;# http://www.tacinc.jp/frisk/frisk.htm&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;interface ft2232&lt;br /&gt;ft2232_device_desc "myJTAG"&lt;br /&gt;ft2232_layout "jtagkey"&lt;br /&gt;ft2232_vid_pid 0x0403 0x6010&lt;br /&gt;ft2232_latency 2&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;過去の幾つかの試作機では&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;ft2232_device_desc "myJTAG"&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;ではなく、&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;ft2232_device_desc "myJTAG A"&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;となっているようです。&lt;br /&gt;&lt;br /&gt;この記述が実際のデバイスと異なるとopenocdはJTAGインターフェースの検出に失敗します。&lt;br /&gt;私はこれで30秒ほど悩みました。&lt;br /&gt;&lt;br /&gt;幾つか気になる点があるのですが、まだまだもう少し使い込んでみないとわかりません。&lt;br /&gt;暫くはJTAGKey2PとフリスクJTAG(FRISK JTAG Debugger)の二本立てでデバッグを楽しもうと思います。&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/cubeatsystems/resources/openocd040_frisk-jtag_lpc1768.zip?attredirects=0&amp;d=1"&gt;今回試しに設定したopenocd用のファイルはこちらからダウンロードできます。&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4758998144607227791?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4758998144607227791/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/jtaglpc1768.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4758998144607227791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4758998144607227791'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/jtaglpc1768.html' title='フリスクJTAGデバッガーをLPC1768で使ってみる'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-CIR6Kngg5qw/Tfdq1ZAWceI/AAAAAAAABSg/9VcOZn4HDEg/s72-c/DSC04984.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-5901562445736776810</id><published>2011-06-14T22:16:00.001+09:00</published><updated>2011-06-14T23:43:43.951+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenOCD'/><category scheme='http://www.blogger.com/atom/ns#' term='JTAG'/><category scheme='http://www.blogger.com/atom/ns#' term='JTAGKey2P'/><category scheme='http://www.blogger.com/atom/ns#' term='FriskJtag'/><title type='text'>遂に購入。ARM Cortex-M3用OpenOCDフリスクJTAGデバッカーを準備する。</title><content type='html'>本日はJTAGデバッガに関する話題です。&lt;br /&gt;&lt;br /&gt;私自身はJTAGKey2Pを購入して愛用しているのですが、&lt;a href="http://shinta-main-jp.blogspot.com/2010/05/openocd.html"&gt;購入前の事前調査時&lt;/a&gt;には色々と調査して「あれが良いかも。」、「これが良いかも。」、「いや・・・待てよ・・・。」なんてやっていました。&lt;br /&gt;&lt;br /&gt;実はこの調査の過程ですごく気になっていたのが、今回の&lt;a href="http://www.tacinc.jp/frisk/frisk.htm"&gt;フリスクJTAGデバッガー&lt;/a&gt;です。&lt;br /&gt;とにかく美しい基板が大好きなので、この手の製品を見かけるとついつい手にとって眺めたくなります。&lt;br /&gt;&lt;br /&gt;今回は&lt;a href="http://www.tacinc.jp/"&gt;株式会社ティーエーシーさん&lt;/a&gt;にお願いし、発売予定の物を１つ販売して頂きました。&lt;br /&gt;これがそのフリスクJTAGデバッガーです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-afvAKEBqvHM/TfdZunx6bAI/AAAAAAAABRE/lsNCKmdjo00/s1600/DSC04936.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-afvAKEBqvHM/TfdZunx6bAI/AAAAAAAABRE/lsNCKmdjo00/s320/DSC04936.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この基板の感じがたまりません。&lt;br /&gt;ケースは付属しませんので、自分でフリスクを購入して食べた後（別に食べなくても良いですけど・・・。）でケースを再利用することになります。&lt;br /&gt;&lt;br /&gt;ケースの加工はニッパーとやすりがあれば形になります。&lt;br /&gt;まず、ボックス上になった箇所の壁を切り取ります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-UiT9INXTmSY/Tfda6jgyF0I/AAAAAAAABRM/dP1BW7tWaI0/s1600/DSC04946.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-UiT9INXTmSY/Tfda6jgyF0I/AAAAAAAABRM/dP1BW7tWaI0/s400/DSC04946.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;次にJTAGコネクタが出る箇所の穴を開けます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-amKvra3P6Cs/TfdbRsreJKI/AAAAAAAABRU/mpaAf6XrmX4/s1600/DSC04950.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-amKvra3P6Cs/TfdbRsreJKI/AAAAAAAABRU/mpaAf6XrmX4/s400/DSC04950.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;ケースに入れてみて収まり具合を確認します。&lt;br /&gt;同時にUSBコネクタの位置を確認します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HomdsITdaWA/Tfdbi7aF4iI/AAAAAAAABRc/c4IsYbgPRWM/s1600/DSC04952.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-HomdsITdaWA/Tfdbi7aF4iI/AAAAAAAABRc/c4IsYbgPRWM/s400/DSC04952.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;USBコネクタが出る箇所の穴を開けます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-giyEguvszis/Tfdbw8U_MWI/AAAAAAAABRk/5JM74LOuQIM/s1600/DSC04954.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-giyEguvszis/Tfdbw8U_MWI/AAAAAAAABRk/5JM74LOuQIM/s400/DSC04954.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;後は今まで開けた穴のバリをやすりで取り除くとケースは完成です。&lt;br /&gt;ここで一工夫。&lt;br /&gt;&lt;br /&gt;基板をそのまま収めた場合、ケース内部で基板が暴れます。&lt;br /&gt;そこで、スコッチから販売されている剥がす事もできるゲル状の両面吸着材を基板に貼りつけてケースに収めます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-7_0EoaI7d84/TfdcvH3qBVI/AAAAAAAABRs/FEn41pQ8wLc/s1600/DSC04955.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-7_0EoaI7d84/TfdcvH3qBVI/AAAAAAAABRs/FEn41pQ8wLc/s400/DSC04955.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;私は高さを合わせるために２枚重ねて貼りつけました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QRQBRX7pBOs/TfddBpeo-YI/AAAAAAAABR0/3SYfOhq3VlQ/s1600/DSC04958.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-QRQBRX7pBOs/TfddBpeo-YI/AAAAAAAABR0/3SYfOhq3VlQ/s400/DSC04958.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;以上でケースへの実装が完了です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RmrHQRZLJNM/TfddOyh9YwI/AAAAAAAABR8/a5ghQLoF0aU/s1600/DSC04959.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-RmrHQRZLJNM/TfddOyh9YwI/AAAAAAAABR8/a5ghQLoF0aU/s400/DSC04959.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;後はリセットスイッチの穴を開けて完了です。&lt;br /&gt;リセットスイッチの穴位置は現物合わせにしました。&lt;br /&gt;&lt;br /&gt;まず、ケース上部の裏面に先ほどのゲル状の両面吸着材を貼り、一度ケースを閉じます。&lt;br /&gt;スイッチの頭の形状がゲルに残りますので、その部分に穴を開けました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Ta2p1aG4-uk/Tfddteq_wSI/AAAAAAAABSE/kz1ti11BCdo/s1600/DSC04962.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-Ta2p1aG4-uk/Tfddteq_wSI/AAAAAAAABSE/kz1ti11BCdo/s400/DSC04962.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;私は彫刻刀を使って円形の穴を開けました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ggDpf2hLmG4/Tfdd7N29hkI/AAAAAAAABSM/7rH_611CFco/s1600/DSC04963.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-ggDpf2hLmG4/Tfdd7N29hkI/AAAAAAAABSM/7rH_611CFco/s400/DSC04963.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;完成写真はこちら。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4MbdrIQs7y4/Tfdei_3kD4I/AAAAAAAABSY/BBTvyqlimhk/s1600/P1000145.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://1.bp.blogspot.com/-4MbdrIQs7y4/Tfdei_3kD4I/AAAAAAAABSY/BBTvyqlimhk/s400/P1000145.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;世界で１台、自分だけのJTAGデバッガ（外見だけね。）が完成です。&lt;br /&gt;次の投稿では実際にこのJTAGデバッガを使用してみてレポートしようかと考えています。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-5901562445736776810?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/5901562445736776810/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/arm-cortex-m3openocdjtag.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5901562445736776810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5901562445736776810'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/06/arm-cortex-m3openocdjtag.html' title='遂に購入。ARM Cortex-M3用OpenOCDフリスクJTAGデバッカーを準備する。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-afvAKEBqvHM/TfdZunx6bAI/AAAAAAAABRE/lsNCKmdjo00/s72-c/DSC04936.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-109612589755561484</id><published>2011-05-28T10:56:00.001+09:00</published><updated>2011-05-28T10:57:38.325+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sourceforge'/><category scheme='http://www.blogger.com/atom/ns#' term='h8write'/><category scheme='http://www.blogger.com/atom/ns#' term='kz_h8write'/><category scheme='http://www.blogger.com/atom/ns#' term='Natural Tiny Shell'/><title type='text'>野良管理していたソフトウェアをsourceforgeでホスティングする事にしました。</title><content type='html'>先日まで野良管理していたソフトウェアですが、sourceforgeで正式に（？）ホスティングすることにしました。バージョン管理はgitを採用しています。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-RZQvRihdBRc/TeBVX62epCI/AAAAAAAABQ0/rNeOylyMdI8/s1600/ntshell-logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-RZQvRihdBRc/TeBVX62epCI/AAAAAAAABQ0/rNeOylyMdI8/s1600/ntshell-logo.png" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Natural Tiny Shell (NT-Shell)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;以下のウェブページからアクセス可能です。&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://sourceforge.jp/projects/ntshell/"&gt;http://sourceforge.jp/projects/ntshell/&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://2.bp.blogspot.com/-AbHeDfitywQ/TeBVy8pU4NI/AAAAAAAABQ4/cyBOs7Yt2Mk/s1600/kz_h8write-logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="53" src="http://2.bp.blogspot.com/-AbHeDfitywQ/TeBVy8pU4NI/AAAAAAAABQ4/cyBOs7Yt2Mk/s400/kz_h8write-logo.png" width="64" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;H8/3069F writer for KOZOS (kz_h8write)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;以下のウェブページからアクセス可能です。&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://sourceforge.jp/projects/kz-h8write/"&gt;http://sourceforge.jp/projects/kz-h8write/&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;ドキュメントなどもこれから充実させていく予定です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-109612589755561484?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/109612589755561484/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/sourceforge.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/109612589755561484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/109612589755561484'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/sourceforge.html' title='野良管理していたソフトウェアをsourceforgeでホスティングする事にしました。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-RZQvRihdBRc/TeBVX62epCI/AAAAAAAABQ0/rNeOylyMdI8/s72-c/ntshell-logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-3278045812479245872</id><published>2011-05-26T22:15:00.016+09:00</published><updated>2011-06-14T23:42:25.928+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KOZOS'/><category scheme='http://www.blogger.com/atom/ns#' term='h8write'/><category scheme='http://www.blogger.com/atom/ns#' term='kz_h8write'/><title type='text'>H8/3069F writer for KOZOS - kz_h8write 「h8writeリベンジ解決編」</title><content type='html'>&lt;h1&gt;概要&lt;/h1&gt;&lt;br /&gt;&lt;a href="http://shinta-main-jp.blogspot.com/2011/05/linuxh83069-h8write-for-kozos.html"&gt;先日の記事&lt;/a&gt;で勢いよく「改良しました！」と宣言したh8writeですが、やっぱり書き込みに失敗するという事がわかりました。&lt;br /&gt;そもそも真の原因を掴めないまま改良したと言っても、何を改良したのか意味がわかりません。&lt;br /&gt;自分でもそんな突っ込みを入れたくなるのですが、その日はグングン快調に書けていた上、オリジナルで実行するとやっぱり書けないという状態で、完全に勘違いモードに突入していました。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-8AhkurCX8D8/TdUzOvTLY5I/AAAAAAAABO0/DnO8-lYo0b4/s1600/DSC04904-mini.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-8AhkurCX8D8/TdUzOvTLY5I/AAAAAAAABO0/DnO8-lYo0b4/s320/DSC04904-mini.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;既に行く先の見えているH8/3069Fに肩入れするつもりはなかったのですが、KOZOS本（と著者！）が楽しくて仕方がないのと、宣言して出来なかった悔しさから本格的に問題を追及すべく、データーシートを片手にh8writeのソースコードを本格レビューしていくことにしました。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;判明した事実&lt;/h1&gt;&lt;br /&gt;データーシートのプログラミングシーケンスを数分眺めていて、すぐに気付いたことがあります。&lt;br /&gt;&lt;br /&gt;先日までは、プログラミングシーケンスなど気にも留めていなかったのです。&lt;br /&gt;なぜなら１０年もの間、皆さんが使い倒していて、正常に動いていたからです。&lt;br /&gt;そこにあえて突っ込みを入れる必要はないだろうと思っていたのですが、ここが肝心な部分でした。&lt;br /&gt;&lt;br /&gt;問題となっているのはホスト側のボーレートをマイコンが自動検出するメカニズムの部分です。&lt;br /&gt;&lt;br /&gt;まずはデーターシートを見てみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-sV_VLbYZ77U/Td5BAsJiy0I/AAAAAAAABPs/JLIerpC7-OE/s1600/H8-3069F-bitrate-sequence.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-sV_VLbYZ77U/Td5BAsJiy0I/AAAAAAAABPs/JLIerpC7-OE/s400/H8-3069F-bitrate-sequence.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;このシーケンスで重要なのはホストからブートプログラムに送られる0x00です。&lt;br /&gt;&lt;br /&gt;図にもあるように「MAX30回」です。&lt;br /&gt;この意味が重要です。&lt;br /&gt;決して、「いつも30回」ではありません。&lt;br /&gt;&lt;br /&gt;それでは、h8write.cを見てみます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zSxtZCKY4J4/Td5CMTuWwPI/AAAAAAAABP0/A4AsOernnnk/s1600/h8write-bitrate-sequence.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://4.bp.blogspot.com/-zSxtZCKY4J4/Td5CMTuWwPI/AAAAAAAABP0/A4AsOernnnk/s400/h8write-bitrate-sequence.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;関連する定義は以下のようになっています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-0PD1wAkOjRc/Td5CkuMcH_I/AAAAAAAABP8/enAZpr3kb7w/s1600/h8write-bitrate-define.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="72" src="http://3.bp.blogspot.com/-0PD1wAkOjRc/Td5CkuMcH_I/AAAAAAAABP8/enAZpr3kb7w/s400/h8write-bitrate-define.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;上記でお分かりのとおり、「最大30回」ではなく、「常に30回」送信しています。&lt;br /&gt;これの何がいけないのでしょう？&lt;br /&gt;&lt;br /&gt;答えはデーターシートに書いてあります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-L5lHZq9KtGw/Td5DFsWd3lI/AAAAAAAABQE/MalPKaY66do/s1600/h8write-so-what.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="73" src="http://4.bp.blogspot.com/-L5lHZq9KtGw/Td5DFsWd3lI/AAAAAAAABQE/MalPKaY66do/s400/h8write-so-what.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;要するにブートローダが合わせ込み完了を通知したら、次の状態に遷移しているのです。&lt;br /&gt;では、遷移した先の問い合わせ選択コマンドとは何なのか？見てみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-3HgeySszk9E/Td5DtzJjr0I/AAAAAAAABQM/TraGaH-EE60/s1600/H8-3069F-inqcmds.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-3HgeySszk9E/Td5DtzJjr0I/AAAAAAAABQM/TraGaH-EE60/s400/H8-3069F-inqcmds.png" width="374" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;デバイスに関する様々な情報をホストが問い合わせするためのコマンドを受け付ける状態のようです。&lt;br /&gt;&lt;br /&gt;要するに既にブートプログラム側は「ビットレート合わせ込みシーケンス完了」を宣言し、全く異なるシーケンスを持つ次の状態に遷移しようとているのに、ホスト側がだらだらとビットレート合わせ込み用データをまだまだ垂れ流しているというわけです。&lt;br /&gt;&lt;br /&gt;これはいけません。&lt;br /&gt;&lt;br /&gt;本来は、ブートプログラムから「ビットレート合わせ込み完了」が来た時点で、以下の図の赤で囲ったシーケンスを実行しなくてはならないからです。&lt;br /&gt;だらだら0x00を送っているということは、本来確認用コード0x55を送るべきところで、0x00を送っている事を意味します。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-UpyzWLAOQEk/Td5FeZfYzXI/AAAAAAAABQU/JwKwaLoaCPI/s1600/h8write-sequence-problem.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="253" src="http://2.bp.blogspot.com/-UpyzWLAOQEk/Td5FeZfYzXI/AAAAAAAABQU/JwKwaLoaCPI/s400/h8write-sequence-problem.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;オリジナルのh8writeの出力をもう一度確認してみます。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Td5YVO63S2c/TeBxlIZ3_nI/AAAAAAAABRA/M3yUDLKDEsQ/s1600/DSC04911.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-Td5YVO63S2c/TeBxlIZ3_nI/AAAAAAAABRA/M3yUDLKDEsQ/s320/DSC04911.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;当然ながら実装の通り、ブートローダから「合わせ込み完了」が返ってきているにも関わらず、どんどん0x00を送出しています。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dYl3-4j4EkM/Td624mhpFRI/AAAAAAAABQo/vdZgsksUghI/s1600/h8write-original-bugsig.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="43" src="http://2.bp.blogspot.com/-dYl3-4j4EkM/Td624mhpFRI/AAAAAAAABQo/vdZgsksUghI/s320/h8write-original-bugsig.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;上記例は”たまたま”うまく動作している時の例です。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;”たまたま”の根拠は先ほど挙げたデータシートの通りです。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;明らかにデータシートで示唆されたシーケンスとは異なる事がわかります。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;次に示すのは互いのシーケンスが一致していない事による失敗の例です。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;失敗する時と明らかなタイミングの違いがあるかと思ったのですが、そのようには見えないのが不思議です。紙一重で動いていると言う事なのでしょうか？&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-X3eIhzYzAwU/Td66nRUVBBI/AAAAAAAABQs/V8S_kOdwrg4/s1600/h8write-original-failed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="44" src="http://1.bp.blogspot.com/-X3eIhzYzAwU/Td66nRUVBBI/AAAAAAAABQs/V8S_kOdwrg4/s320/h8write-original-failed.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;ここで、ふと疑問に思われる事でしょう。&lt;br /&gt;「なぜ皆はうまくいっているんだ？」&lt;br /&gt;システムではよくある話ですが、おそらく偶然動いているだけです。&lt;br /&gt;&lt;br /&gt;これにはいくつものタイミングが絡んでいます。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ソフトウェアが処理を行うまでの時間。&lt;/li&gt;&lt;li&gt;シリアルポートドライバが処理を開始するまでの時間。&lt;/li&gt;&lt;li&gt;カーネルが処理を開始するまでの時間。&lt;/li&gt;&lt;li&gt;H8側のブートプログラムが合わせ込みを完了するまでの時間。&lt;/li&gt;&lt;li&gt;H8側のブートプログラムが次の状態へ遷移するまでの時間。&lt;/li&gt;&lt;/ul&gt;特に、近年はレガシーポートが姿を消しています。&lt;br /&gt;USBの先にシリアルポートデバイスが接続されるような場合には更にタイミングが従来より異なるでしょう。&lt;br /&gt;&lt;br /&gt;まさに今回のh8writeの問題はここに原因がありました。&lt;br /&gt;従来は偶然書けていたのです。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;h8writer for KOZOS - kz_h8write&lt;/h1&gt;&lt;br /&gt;h8writeは長年沢山の方々がお使いになっていて実績という意味では申し分ないのですが、実装が美しくありません。&lt;br /&gt;車輪の再開発をするつもりはないのですが、頭の整理も兼ねて綺麗に実装しなおすことにしました。&lt;br /&gt;&lt;br /&gt;プログラムは「KOZOS本と一緒に使う」という意味でkz_h8writeと名付けました。&lt;br /&gt;&lt;br /&gt;kz_h8writeは以下の要素から構成されています。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;motモジュール（motファイルを読み込むモジュールです。）&lt;/li&gt;&lt;li&gt;serialモジュール（シリアルポートを制御するモジュールです。）&lt;/li&gt;&lt;li&gt;kz_h8write（全体の制御を行うモジュールです。）&lt;/li&gt;&lt;/ul&gt;オリジナルh8writeの実装は各機能が癒着気味で修正の影響が見えにくくなっていました。&lt;br /&gt;また、失敗した時に何の処理で失敗したのか見当がつきにくかった問題もあります。&lt;br /&gt;&lt;br /&gt;問題のビットレート合わせ込みは以下のように実装しました。&lt;br /&gt;データーシートにあるように計測用マーカーを送信して、ブートプログラムからの返答を確認した時点でこちらも応答を返すという手順にしてあります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-h6NegAeBvEM/Td5YPtosxyI/AAAAAAAABQc/ABF6nwJnls8/s1600/kz_h8write-bitrate-sequence.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-h6NegAeBvEM/Td5YPtosxyI/AAAAAAAABQc/ABF6nwJnls8/s320/kz_h8write-bitrate-sequence.png" width="169" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;実際のやりとりもロジックアナライザで観察してみました。&lt;br /&gt;ホストからのビットレート合わせ込み用コード(0x00)に対して３回目には応答が返ってきています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-jPOJgtVLMRA/Td5glMc68nI/AAAAAAAABQg/XoY3T8XhAuM/s1600/kz_h8write-signal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="42" src="http://2.bp.blogspot.com/-jPOJgtVLMRA/Td5glMc68nI/AAAAAAAABQg/XoY3T8XhAuM/s320/kz_h8write-signal.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;kz_h8writeは応答があった時点でデータシート通り、確認用のコード(0x55)を送出しH8から返答(0xE6)を受けています。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-l0Oa3SRO7FA/Td5hkRHT6EI/AAAAAAAABQk/ZCdYfvpv6qU/s1600/kz_h8write-signal-response.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-l0Oa3SRO7FA/Td5hkRHT6EI/AAAAAAAABQk/ZCdYfvpv6qU/s1600/kz_h8write-signal-response.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;これでホストとH8は合わせ込まれたビットレートで正しく通信できるわけです。&lt;br /&gt;&lt;br /&gt;kz_h8writeコマンドツールにはmotファイル名、クロック周波数[MHz]、シリアルポート名を与えて使用します。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;kz_h8write kzload.mot 20 /dev/ttyUSB0&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;各シーケンスが実行されていく様子を確認する事ができます。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;=======================================&lt;br /&gt; KOZOS H8/3069F Flash Writer.          &lt;br /&gt; Copyright(C) 2011 Shinichiro Nakamura &lt;br /&gt;=======================================&lt;br /&gt;Bitrate sequence: Done.&lt;br /&gt;Inquiry device: Done.&lt;br /&gt;Select device: Done.&lt;br /&gt;Inquiry clock mode: Done.&lt;br /&gt;Select clock mode: Done.&lt;br /&gt;Select bitrate: Done.&lt;br /&gt;Write erase: Done.&lt;br /&gt;Complete.&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;全ての作業が完了した時には「Complete.」と表示が行われます。&lt;br /&gt;&lt;br /&gt;今回の実装で複数の環境で昨日今日と試していますが、期待通りに動いています。&lt;br /&gt;※まれに電源投入後１回目は失敗するのですが、もう一度実行するとうまくいきます。&lt;br /&gt;&lt;br /&gt;前回と異なるのは明らかにおかしい箇所を修正したバージョンだということです。&lt;br /&gt;原因（の１つ）を解明して修正していますので、先日の「何だかわからないけど動くようになりました！」とは意味が違います。&lt;br /&gt;&lt;br /&gt;このkz_h8writeを暫く使ってみようと思っています。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;ソースコード&lt;/h1&gt;&lt;br /&gt;LinuxとWindows上で動作させることができます。&lt;br /&gt;ソースコード：&lt;a href="http://sourceforge.jp/projects/kz-h8write/releases/"&gt;ここからダウンロードして下さい。&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;(2011/05/28追記)&lt;br /&gt;&lt;a href="http://sourceforge.jp/projects/kz-h8write/"&gt;http://sourceforge.jp/projects/kz-h8write/&lt;/a&gt;で管理することにしました。&lt;br /&gt;最新版は上記サイトからダウンロードして下さい。&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h1&gt;ライセンス&lt;/h1&gt;&lt;br /&gt;MITライセンスを適用します。&lt;br /&gt;商用、非商用を問わず自由にお使い頂けます。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;関連リンク&lt;/h1&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://kozos.jp/books/makeos/"&gt;http://kozos.jp/books/makeos/&lt;/a&gt;&amp;nbsp;(kz_h8writeを御紹介頂いております)&lt;/li&gt;&lt;li&gt;&lt;a href="http://kozos.jp/books/makeos/"&gt;&lt;/a&gt;&lt;a href="http://kozos.jp/kozos/"&gt;http://kozos.jp/kozos/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-3278045812479245872?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/3278045812479245872/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/h83069f-writer-for-kozos-kzh8write.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3278045812479245872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/3278045812479245872'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/h83069f-writer-for-kozos-kzh8write.html' title='H8/3069F writer for KOZOS - kz_h8write 「h8writeリベンジ解決編」'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-8AhkurCX8D8/TdUzOvTLY5I/AAAAAAAABO0/DnO8-lYo0b4/s72-c/DSC04904-mini.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-8966026469553804349</id><published>2011-05-23T22:50:00.022+09:00</published><updated>2011-05-27T06:02:18.114+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KOZOS'/><category scheme='http://www.blogger.com/atom/ns#' term='h8write'/><title type='text'>Linux上でH8/3069の書き込みに失敗する件 (h8write for KOZOSを実装しました)</title><content type='html'>&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;(2011/05/25追記)&lt;br /&gt;この記事で取り上げられているh8write for KOZOSの対策は本質的な解決策を示していません。&lt;br /&gt;後日取り上げる別の記事で「リベンジ解決編」をお届けする予定です。&lt;br /&gt;暫くお待ち下さい。&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;(2011/05/26追記)&lt;br /&gt;この投稿記事で取り上げられている内容は本質的な解決策を示しているとは言えませんでした。&lt;br /&gt;そこで&lt;a href="http://shinta-main-jp.blogspot.com/2011/05/h83069f-writer-for-kozos-kzh8write.html"&gt;H8/3069F writer for KOZOS - kz_h8write 「h8writeリベンジ解決編」&lt;/a&gt;を公開しました。&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 32px; font-weight: bold;"&gt;h8write for KOZOSって何？&lt;/span&gt;&lt;br /&gt;h8writeはMitsuiwa Yukioさんが実装したH8書き込み用ツールです。&lt;br /&gt;(ウェブ：&lt;a href="http://mes.sourceforge.jp/h8/writer-j.html"&gt;Open SH/H8 writer&lt;/a&gt;)&lt;br /&gt;このh8write for KOZOSは三岩さんが実装したオリジナルのh8writeの実装修正バージョンです。&lt;br /&gt;&lt;br /&gt;主にKOZOSをLinux上で体験したい方に向けて公開します。&lt;br /&gt;&lt;br /&gt;KOZOSとは坂井弘亮さんがフルスクラッチで設計実装されたＯＳで「組み込みＯＳ自作入門」という書籍の題材にもなっているＯＳです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.amazon.co.jp/12%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E4%BD%9C%E3%82%8B%E7%B5%84%E8%BE%BC%E3%81%BFOS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%9D%82%E4%BA%95-%E5%BC%98%E4%BA%AE/dp/4877832394"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/--o9sKIh_UFg/TdpazVBx-rI/AAAAAAAABPE/EWtwal0Xky4/s200/kozos_book.png" width="153" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;これがかなり面白い内容で、坂井さんのオリジナリティ溢れる視点で最後まで楽しく読む事ができます。ちなみに&lt;a href="http://www.ospn.jp/osc2010-spring/pdf/OSC2010TOKYO_Spring_KOZOS.pdf"&gt;こんな勢い&lt;/a&gt;で読み進める事ができます。&lt;br /&gt;&lt;br /&gt;KOZOSについては以下のページもご覧下さい。&lt;br /&gt;&lt;a href="http://kozos.jp/kozos/"&gt;http://kozos.jp/kozos/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;さて、本題です。&lt;br /&gt;&lt;br /&gt;この書籍ではプラットフォームに&lt;a href="http://akizukidenshi.com/catalog/default.aspx"&gt;秋月電子通商&lt;/a&gt;の&lt;a href="http://akizukidenshi.com/catalog/g/gK-01271/"&gt;H8/3069Fネット対応マイコンLANボード&lt;/a&gt;が使われています。&lt;br /&gt;&lt;br /&gt;実は、H8がプラットフォームとして選択されていたので、敬遠していたのですが、「これはやっぱり面白い」と書籍の内容を一目見て衝動買いしてしまいました。それも、随分と前・・・。&lt;br /&gt;&lt;br /&gt;随分と前に購入しておきながら、なぜ触れなかったかと言うと、書き込みツールであるh8writeで書き込みができなかったからなのです。&lt;br /&gt;&lt;br /&gt;私は個人的に開発環境にUbuntuを好きで利用しています。Windowsの端末環境では開発がスムーズに進まないからです。実際にh8writeをコンパイルして動作させてみると、稀に書き込みに成功するものの、殆ど失敗します。&lt;br /&gt;&lt;br /&gt;私は「OSを作りたかった」わけなので、「h8writeのデバッグがしたかった」わけではありません。&lt;br /&gt;プライオリティの関係から少しずつ放置状態になっていました。&lt;br /&gt;（皆さんの中にもこういう方はきっといるはず。）&lt;br /&gt;&lt;br /&gt;ふと思い立ちh8writeのソースコードを調べてみたところ、実装があまり美しいとは言えません。&lt;br /&gt;&lt;br /&gt;シリアルポート周辺の実装を見るとなんだかごちゃごちゃしています。&lt;br /&gt;そして、今回問題となっているのはシリアルポート周辺処理です。&lt;br /&gt;&lt;br /&gt;問題を後々整理できるようにと、第１段階としてシリアルポート周辺処理を整理することにしました。&lt;br /&gt;また、この過程で気になる実装を修正して完成したのがserial.cとserial.hです。&lt;br /&gt;&lt;br /&gt;このserial.cとserial.hにシリアルポートの処理を任せた実装が私の改良実装版です。&lt;br /&gt;そして、「ダメ元」で試してみたところ、かなりの確率で書き込みに成功することがわかりました。&lt;br /&gt;&lt;br /&gt;そこで、この実装をh8write for KOZOSと名付け、早々に公開することにしました。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;どうしてオリジナルではいけないの？&lt;br /&gt;&lt;/h1&gt;オリジナルではいけないということはありません。&lt;br /&gt;このh8write for KOZOSはオリジナルのh8writeで書き込みに失敗する方のためのツールです。&lt;br /&gt;&lt;br /&gt;近年、レガシーポートがコンピュータから姿を消し、結果的に当該ボードにはUSB-シリアル変換ケーブルを使って書き込む事が多くなっているように思います。&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;KOZOSの書籍で扱っているH8は3069です。&lt;/div&gt;実は、オリジナルのh8writeでは、USB-シリアル変換ケーブルを使うケースにおいて、一部の環境で書き込めない問題が発生しています。&lt;br /&gt;&lt;br /&gt;実際に調べてみるとH8/3069の書き込み時には、ボーレート9600でCPU情報を確認した後、COMポートを一度クローズし、ボーレート19200で再オープンして書き込みを行っている事がわかりました。&lt;br /&gt;&lt;br /&gt;オリジナルのコードではこのボーレートを指定しながらのオープン・クローズ処理周辺の実装に問題があるように見えました。&lt;br /&gt;&lt;br /&gt;と言っても、ツールの実装当時から見ると、カーネル側の処理も随分変わりましたし、USB-シリアル変換ケーブルに搭載されたデバイスのドライバの実装の甘さも関連があるかもしれません。&lt;br /&gt;&lt;br /&gt;そこでシリアルポートの処理を中心に実装を試験的に見直し、書き込みに失敗する幾つかの環境で試行してみたところ、うまく書き込めることがわかりました。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;ダウンロード&lt;br /&gt;&lt;/h1&gt;&lt;a href="https://sites.google.com/site/cubeatsystems/resources/h8write_for_kozos.zip?attredirects=0&amp;amp;d=1"&gt;こちら&lt;/a&gt;からソースコードをダウンロードして下さい。&lt;br /&gt;簡単なMakefile付きです。&lt;br /&gt;&lt;br /&gt;Ubuntu 10.10上でのみコンパイルと動作を確認しています。&lt;br /&gt;その他の環境での動作確認等が出来ましたら、是非御報告頂ければ幸いです。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;(2011/05/26追記)&lt;br /&gt;この投稿記事で取り上げられている内容は本質的な解決策を示しているとは言えませんでした。&lt;br /&gt;そこで&lt;a href="http://shinta-main-jp.blogspot.com/2011/05/h83069f-writer-for-kozos-kzh8write.html"&gt;H8/3069F writer for KOZOS - kz_h8write 「h8writeリベンジ解決編」&lt;/a&gt;を公開しました。&lt;/span&gt;&lt;/pre&gt;&lt;h1&gt;何が違うの？(実装面)&lt;br /&gt;&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;シリアルポートの実装を分離しました。&lt;/li&gt;&lt;li&gt;シリアルポートの実装を見直しました。&lt;/li&gt;&lt;li&gt;関数名を一部変更しました。&lt;/li&gt;&lt;li&gt;Windowsに対する実装サポートはバッサリ削除してあります。&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h1&gt;何が違うの？(実動作)&lt;br /&gt;&lt;/h1&gt;うまく動作することがわかったら、どんな風に実動作が異なるのか知りたくなります。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Lxxb4v50_Jk/TdptaiLcA6I/AAAAAAAABPk/QbNTwkNFykI/s1600/sig-probe.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-Lxxb4v50_Jk/TdptaiLcA6I/AAAAAAAABPk/QbNTwkNFykI/s400/sig-probe.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;オリジナルのh8writeを使って書き込みに失敗する環境を用意し、観察してみます。&lt;br /&gt;確認したのは「最初にH8にデータを送信する箇所」です。&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;NG: オリジナルのh8write&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-2qNCQjpYDm4/TdpjVY7TG9I/AAAAAAAABPM/7mG9niNgVF0/s1600/sig-ng.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="48" src="http://1.bp.blogspot.com/-2qNCQjpYDm4/TdpjVY7TG9I/AAAAAAAABPM/7mG9niNgVF0/s400/sig-ng.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;OK: 改良実装版h8write&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-aSc13_EiFfo/TdpjigQG7lI/AAAAAAAABPU/bt5prVkaKQI/s1600/sig-ok.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="48" src="http://1.bp.blogspot.com/-aSc13_EiFfo/TdpjigQG7lI/AAAAAAAABPU/bt5prVkaKQI/s400/sig-ok.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;最初に送信するデータはボーレート9600で送信されます。&lt;br /&gt;なんだか、最後の方が異なります。&lt;br /&gt;もう一度書いておきますが、シリアル周辺の実装を修正しただけです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-FifmLXgmJ7A/Tdpkl5JZ_rI/AAAAAAAABPc/3bmFFBPz-_8/s1600/sig-next.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="161" src="http://1.bp.blogspot.com/-FifmLXgmJ7A/Tdpkl5JZ_rI/AAAAAAAABPc/3bmFFBPz-_8/s400/sig-next.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;続くパケットではプロセッサの種別を確認するのですが、オリジナルの実装ではこの時点で動作していないことがわかりました。&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: 32px; font-weight: bold;"&gt;まとめ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;h8writeの実装には気になる点がいくつもあります。&lt;br /&gt;今回は深追いをせずにシリアル周辺の実装のみを修正して効果を確かめました。&lt;br /&gt;&lt;br /&gt;今のところノートパソコン、デスクトップに作った２つの環境で書き込みが出来ています。&lt;br /&gt;実は、この２つの環境はオリジナルのh8writeでは書き込みに失敗します。&lt;br /&gt;&lt;br /&gt;本来であれば、もう少し丁寧に追い込まなければならない点が残っています。&lt;br /&gt;しかし、かなり多くの方が「書き込めない」で困っている様子（私自身がそう）でしたので、早めに公開することにしました。&lt;br /&gt;&lt;br /&gt;皆さんのh8writeの問題が解決し、KOZOSを楽しんで頂ければ幸いです。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;（検証に御協力頂ける方）Linuxディストリビューション名と使ったUSB-シリアル変換ケーブルなどもろもろの情報と共に&lt;a href="http://groups.google.com/group/kozos_tomonokai"&gt;http://groups.google.com/group/kozos_tomonokai&lt;/a&gt;まで動作結果を御連絡下さい。&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;(2011/05/26追記)&lt;br /&gt;この投稿記事で取り上げられている内容は本質的な解決策を示しているとは言えませんでした。&lt;br /&gt;そこで&lt;a href="http://shinta-main-jp.blogspot.com/2011/05/h83069f-writer-for-kozos-kzh8write.html"&gt;H8/3069F writer for KOZOS - kz_h8write 「h8writeリベンジ解決編」&lt;/a&gt;を公開しました。&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 32px; font-weight: bold;"&gt;ライセンス等&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ライセンスはオリジナルに従います。&lt;/li&gt;&lt;li&gt;但し、serial.cとserial.hをh8write.cと切り離して用いる場合、MITライセンスを適用します。&lt;/li&gt;&lt;li&gt;使用した如何なる結果についても、当方は責任を持ちません。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-8966026469553804349?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/8966026469553804349/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/linuxh83069-h8write-for-kozos.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8966026469553804349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8966026469553804349'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/linuxh83069-h8write-for-kozos.html' title='Linux上でH8/3069の書き込みに失敗する件 (h8write for KOZOSを実装しました)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/--o9sKIh_UFg/TdpazVBx-rI/AAAAAAAABPE/EWtwal0Xky4/s72-c/kozos_book.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-8460436410518389638</id><published>2011-05-22T12:06:00.008+09:00</published><updated>2011-05-22T12:52:38.452+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mbed NXP LPC1768'/><category scheme='http://www.blogger.com/atom/ns#' term='Natural Tiny Shell'/><title type='text'>Natural Tiny Shell (NT-Shell)をmbedで使ってみる (Eating your own dog food)</title><content type='html'>「自分のドッグフードを喰う(Eating your own dog food)」はソフトウェア開発の世界で有名な台詞です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-dHgFoUv5198/TdiFnOR6sFI/AAAAAAAABO8/PbqlTdHt7HQ/s1600/EatingYourOwnDogFood.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://1.bp.blogspot.com/-dHgFoUv5198/TdiFnOR6sFI/AAAAAAAABO8/PbqlTdHt7HQ/s400/EatingYourOwnDogFood.jpg" width="323" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;自身で作ったソフトウェアを自身で使うことで、それがどのように有用か（あるいはそうでないか）を知る事ができるというわけです。&lt;br /&gt;&lt;br /&gt;例にならってNatural Tiny Shell (NT-Shell)をmbedで使ってみることにしました。&lt;br /&gt;目論見は簡単に移植できるというところです。&lt;br /&gt;&lt;br /&gt;しかし、実際に移植してみると幾つか気になる点がありました。&lt;br /&gt;これは興味のある方のために後述。&lt;br /&gt;&lt;br /&gt;移植した結果はmbed.orgにアップロードしました。&lt;br /&gt;興味がございましたら、ご自由にお使い下さい。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mbed.org/users/shintamainjp/notebook/ntshell_ja/"&gt;http://mbed.org/users/shintamainjp/notebook/ntshell_ja/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;参考までに「自分で自分のドッグフードを食べた」結果、どんな事がわかったのか記しておきます。&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="font-size: x-small; line-height: 17px;"&gt;&lt;ul&gt;&lt;li&gt;シリアルポートのリード及びライト関数の引数の型がvoidだった。（なんでそんな実装になっちゃってたんだ？）&lt;/li&gt;&lt;br /&gt;&lt;li&gt;CTRL+A, CTRL+Eへの対応が未実装のままだった。（ドキュメントではできることになっていた。）&lt;/li&gt;&lt;br /&gt;&lt;li&gt;コマンドを受け付けた時の改行をアプリケーション層で行う事を期待した実装になっていた。（誰もわからないよ！）&lt;/li&gt;&lt;br /&gt;&lt;li&gt;受け付けるコマンドの長さが微妙に小さかった。（もう少し実用的な値を選んでおけば良かった。）&lt;/li&gt;&lt;br /&gt;&lt;li&gt;サンプルコードがなくて、どうやって使っていいのかわからなかった。（この点は後日もっと改善したい。）&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;こんな風に、自分で作って公開した物でも、少し時間を経てから見直してみると気になる点は多々あります。いざ利用者の立場に立って見ると「何だこれ？」と自分でも感じてしまうのですから、面白いものです。&lt;br /&gt;&lt;br /&gt;是非、この「自分で自分のドッグフードを食べる」は継続して進めたいところです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-8460436410518389638?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/8460436410518389638/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/natural-tiny-shell-nt-shellmbed.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8460436410518389638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8460436410518389638'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/natural-tiny-shell-nt-shellmbed.html' title='Natural Tiny Shell (NT-Shell)をmbedで使ってみる (Eating your own dog food)'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-dHgFoUv5198/TdiFnOR6sFI/AAAAAAAABO8/PbqlTdHt7HQ/s72-c/EatingYourOwnDogFood.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-364390804775762560</id><published>2011-05-19T23:51:00.006+09:00</published><updated>2011-05-22T12:32:11.025+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ARM Cortex-M3'/><category scheme='http://www.blogger.com/atom/ns#' term='Natural Tiny Shell'/><title type='text'>Natural Tiny Shell (NT-Shell) ライブラリを更新しました。</title><content type='html'>&lt;a href="http://shinta-main-jp.blogspot.com/2011/03/natural-tiny-shell-nt-shell.html"&gt;Natural Tiny Shell (NT-Shell) ライブラリ&lt;/a&gt;は小規模組み込みシステムの為のシェルライブラリです。&lt;br /&gt;本日新しい機能（入力補完機能）を加えて更新しました。&lt;br /&gt;&lt;br /&gt;入力補完と１口で言っても色々な種類の補完が考えられます。&lt;br /&gt;今回の入力補完機能は過去に入力した文字列の中から候補をTABキーで選出する事ができるというものです。&lt;br /&gt;&lt;br /&gt;デモ映像を用意しましたのでご覧下さい。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/htQREUY1o60/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/htQREUY1o60?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266" src="http://www.youtube.com/v/htQREUY1o60?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;ソースコード ： &lt;a href="https://sites.google.com/site/cubeatsystems/resources/ntshell-0.0.6.tar.gz?attredirects=0&amp;amp;d=1"&gt;Natural Tiny Shell (NT-Shell) Version 0.0.6&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;インターフェースはかなりシンプルです。&lt;br /&gt;ntshell.hのntshell_executeインターフェースのみ知っているだけで使用することができます。&lt;br /&gt;このため、様々なシステムに簡単にポーティングする事ができます。&lt;br /&gt;是非みなさんの小規模組み込みシステムでお楽しみ下さい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-364390804775762560?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/364390804775762560/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/natural-tiny-shell-nt-shell.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/364390804775762560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/364390804775762560'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/natural-tiny-shell-nt-shell.html' title='Natural Tiny Shell (NT-Shell) ライブラリを更新しました。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-2571298928950396533</id><published>2011-05-19T23:47:00.003+09:00</published><updated>2011-05-22T12:30:20.464+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ARM Cortex-M3'/><category scheme='http://www.blogger.com/atom/ns#' term='Natural Tiny Shell'/><title type='text'>Natural Tiny Shell (NT-Shell) library was updated.</title><content type='html'>Natural Tiny Shell (NT-Shell) library is a tiny shell library for a small embedded system.&lt;br /&gt;Today, I just updated the library.&lt;br /&gt;The new feature is historical input.&lt;br /&gt;&lt;br /&gt;Please see the demo movie.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/htQREUY1o60/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/htQREUY1o60?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266" src="http://www.youtube.com/v/htQREUY1o60?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;The source codes : &lt;a href="https://sites.google.com/site/cubeatsystems/resources/ntshell-0.0.6.tar.gz?attredirects=0&amp;d=1"&gt;Natural Tiny Shell (NT-Shell) Version 0.0.6&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The&amp;nbsp;interface is really simple.&lt;br /&gt;You should only know ntshell_execute in ntshell.h.&lt;br /&gt;So you can port it to any embedded system easily.&lt;br /&gt;Please enjoy your small embedded system with it. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-2571298928950396533?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/2571298928950396533/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/natural-tiny-shell-nt-shell-library.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/2571298928950396533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/2571298928950396533'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/natural-tiny-shell-nt-shell-library.html' title='Natural Tiny Shell (NT-Shell) library was updated.'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-8755466940045079116</id><published>2011-05-14T20:03:00.008+09:00</published><updated>2011-05-18T06:25:36.850+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LPC1768'/><category scheme='http://www.blogger.com/atom/ns#' term='LPC1769'/><title type='text'>LPC1769の内蔵ブートローダを使って書き込みに失敗する環境がある（lpc21isp使用時）</title><content type='html'>&lt;h1&gt;概要&lt;/h1&gt;ARM Cortex-M3で遊ぼうということで&lt;a href="http://shinta-main-jp.blogspot.com/2011/03/lpc1769_20.html"&gt;設計したNXP LPC1769搭載基板&lt;/a&gt;。&lt;br /&gt;グダグダと色々なファームウェア部品を作ったりして楽しんでいるわけです。&lt;br /&gt;&lt;br /&gt;このボードには「いつでもどこでもLPC1769」という裏コンセプトがあり、&lt;br /&gt;&lt;ul&gt;&lt;li&gt;「だいたいパスポートサイズ」&lt;/li&gt;&lt;li&gt;「USBバスパワーで動作する」&lt;/li&gt;&lt;li&gt;「内蔵ブートローダで書き込みができる」&lt;/li&gt;&lt;/ul&gt;といった特徴があります。&lt;br /&gt;ノートパソコンとこのボードとUSBケーブルさえあれば、開発を楽しむ事ができる仕組みです。&lt;br /&gt;「ちょっとしたデモ」であれば十分対応できます。&lt;br /&gt;&lt;br /&gt;この特徴を生かして今日の今までノートパソコンを使った開発で楽しんでいました。&lt;br /&gt;ふと思い立って自宅の大画面環境で作業した方が効率も良いし・・・と思った時の事です。&lt;br /&gt;&lt;br /&gt;なんと、LPC1769の内蔵ブートローダを使った書き込みに失敗します。&lt;br /&gt;何度やっても再現性100%で。&lt;br /&gt;&lt;br /&gt;どちらもVMware Player上に仕立てたUbuntu 10.10で行っています。&lt;br /&gt;プロジェクトのリポジトリから書き込みスクリプトを含む全てのリソースをチェックアウトして作業しています。&lt;br /&gt;&lt;br /&gt;異なる可能性があるとすれば、ローカル環境設定とツールのバージョンくらいでしょう。&lt;br /&gt;これに依存する何かが書き込み時の起こっているとは考えにくかったのですが、「おかしい、おかしい」と言っているだけでは前に進みません。&lt;br /&gt;&lt;br /&gt;そこで&lt;a href="http://shinta-main-jp.blogspot.com/2011/05/saleae-llc.html"&gt;先日購入したロジックアナライザ&lt;/a&gt;でちょっと見てみることにしました。&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;正しく動作する環境&lt;/h1&gt;まずは正しく動作する環境の方です。&lt;br /&gt;lpc21ispのバージョンは1.79です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-SZ24VEJQXaw/Tc5Oc95FwyI/AAAAAAAABNk/zgg2un13TJU/s1600/lpc21isp_on_greepad_no1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://1.bp.blogspot.com/-SZ24VEJQXaw/Tc5Oc95FwyI/AAAAAAAABNk/zgg2un13TJU/s400/lpc21isp_on_greepad_no1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Db8tkeYB6d8/Tc5Oghw6ZhI/AAAAAAAABNs/JjNxXqQKxWw/s1600/lpc21isp_on_greepad_no2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/-Db8tkeYB6d8/Tc5Oghw6ZhI/AAAAAAAABNs/JjNxXqQKxWw/s400/lpc21isp_on_greepad_no2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: 32px; font-weight: bold;"&gt;正しく動作しない環境&lt;/span&gt;&lt;br /&gt;次に正しく動作しない環境の方です。&lt;br /&gt;lpc21ispのバージョンは1.64です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YCX4QCdhzh4/Tc5QTMUhrfI/AAAAAAAABOE/-QKo0BKz850/s1600/lpc21isp_on_snowman_no1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="296" src="http://2.bp.blogspot.com/-YCX4QCdhzh4/Tc5QTMUhrfI/AAAAAAAABOE/-QKo0BKz850/s400/lpc21isp_on_snowman_no1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-x7120jqJYNU/Tc5QWONfGHI/AAAAAAAABOM/Fymn89isHVM/s1600/lpc21isp_on_snowman_no2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="245" src="http://4.bp.blogspot.com/-x7120jqJYNU/Tc5QWONfGHI/AAAAAAAABOM/Fymn89isHVM/s400/lpc21isp_on_snowman_no2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;さて、何か変ですね？&lt;br /&gt;ちょっと見比べてみましょう。&lt;br /&gt;上側は動作する時、下側は動作しない時の要求と応答です。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-3__g5Ci4wx4/Tc5Ypeabv7I/AAAAAAAABOU/ClSmT0YrYJE/s1600/isp_compare.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-3__g5Ci4wx4/Tc5Ypeabv7I/AAAAAAAABOU/ClSmT0YrYJE/s400/isp_compare.png" width="380" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;整理してみます。&lt;br /&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;lpc21ispのバージョン&lt;/th&gt;&lt;th&gt;状況&lt;/th&gt;&lt;th&gt;lpc21isp&lt;/th&gt;&lt;th&gt;LPC1769&lt;/th&gt;&lt;th&gt;Synchronized確認トークンの補足説明&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1.79&lt;/td&gt;&lt;td&gt;正しく動作する&lt;/td&gt;&lt;td&gt;Synchronized\n&lt;/td&gt;&lt;td&gt;Synchronized\nOK\r\n&lt;/td&gt;&lt;td&gt;lpc21ispとLPC1769で一致している。&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1.64&lt;/td&gt;&lt;td&gt;正しく動作しない&lt;/td&gt;&lt;td&gt;Synchronized\r\n&lt;/td&gt;&lt;td&gt;Synchronized\rOK\r\n&lt;/td&gt;&lt;td&gt;lpc21ispは\r\nをセパレータとして使用している。LPC1769はそれとは異なるセパレータを返す。(ように見える)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;「ように見える」と書いたのは、ここがポイントだからなのですが、それは後述します。&lt;br /&gt;&lt;br /&gt;この手の書き込みプロトコルは、ターゲット上の内蔵ブートローダとホスト側のアプリケーションの協調動作で成り立ちます。&lt;br /&gt;例えばアプリケーション側から「ＸＸＸだぜ！」と要求を受けて、内蔵ブートローダが「おっけー！」という具合です。&lt;br /&gt;例に漏れずLPCシリーズの内蔵ブートローダもそのようになっています。&lt;br /&gt;&lt;br /&gt;上記２つの環境間で異なるのはトークンセパレータのようです。&lt;br /&gt;では、どちらが本来の実装なのでしょうか？&lt;br /&gt;&lt;br /&gt;データシートを見てみます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HhDixqyQ4wE/Tc5bPfrcxDI/AAAAAAAABOc/PVQOrXnTPlA/s1600/isp_um10360.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-HhDixqyQ4wE/Tc5bPfrcxDI/AAAAAAAABOc/PVQOrXnTPlA/s400/isp_um10360.png" width="313" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;「全てのISPコマンドは単一のASCII文字列で送られなければならない。」&lt;br /&gt;「文字列はキャリッジリターン と/か ラインフィードによって終端されなければならない。」&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;原文の「and/or」を「と/か」と訳しました。&lt;br /&gt;要するに正解は&lt;br /&gt;&lt;ul&gt;&lt;li&gt;CR&lt;/li&gt;&lt;li&gt;LF&lt;/li&gt;&lt;li&gt;CR + LF&lt;/li&gt;&lt;/ul&gt;と、どれでも良さそうに書いてあります。&lt;br /&gt;&lt;br /&gt;何かこの辺りの問題がありそうなのはわかりました。&lt;br /&gt;では、立ち返って現象を見てみます。&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;user@ubuntu:~/Projects/TOPPERS-ASP-for-BlackTank-LPC1769$ ./devwrite.sh &lt;br /&gt;lpc21isp version 1.64&lt;br /&gt;File TOPPERS-ASP_BlackTank-LPC1769.hex:&lt;br /&gt;loaded...&lt;br /&gt;converted to binary format...&lt;br /&gt;image size : 115032&lt;br /&gt;Synchronizing (ESC to abort). OK&lt;br /&gt;No answer on Oscillator-Command&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;「オシレータコマンドの返答がない。」と言っていますね。&lt;br /&gt;これが最後のやり取りのようです。&lt;br /&gt;&lt;br /&gt;応答がないため、アプリケーション(lpc21isp)がそれ以降の処理を中止して終了するわけです。&lt;br /&gt;でも、実際にはLPC1769から応答が返ってきています。&lt;br /&gt;&lt;br /&gt;先ほど見た「Synchronized」は非同期シリアル通信の通信速度を自動判別する部分です。&lt;br /&gt;これは書き込み動作の前の最初の操作ですから、オシレータコマンドとは関連ありません。&lt;br /&gt;&lt;br /&gt;オシレータコマンドのやりとりを探すために、トリガがかかってからのサンプル数を増やしてみます。&lt;br /&gt;以下は正しく動作しない環境でのやりとりです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gGDoMzGtNBY/Tc5dVUI-5eI/AAAAAAAABOk/HkRGV8uXnmk/s1600/isp_osccmd_ng.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="317" src="http://4.bp.blogspot.com/-gGDoMzGtNBY/Tc5dVUI-5eI/AAAAAAAABOk/HkRGV8uXnmk/s400/isp_osccmd_ng.png" width="352" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;やりとりは以下のようになります。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;アプリケーション：「4000で頼む。」&lt;/li&gt;&lt;li&gt;内蔵ブートローダ：「4000ね。おっけー！」&lt;/li&gt;&lt;/ul&gt;さて、正しく動作する環境で見てみましょう。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wlDaNE_fiPU/Tc5epfG7KMI/AAAAAAAABOs/4k1sFNWSRUU/s1600/isp_osccmd_ok.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="281" src="http://1.bp.blogspot.com/-wlDaNE_fiPU/Tc5epfG7KMI/AAAAAAAABOs/4k1sFNWSRUU/s400/isp_osccmd_ok.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;面白いのはアプリケーション側からやってくるセパレータによって、内蔵ブートローダ自身が用いるセパレータも変えてくるという点です。&lt;br /&gt;&lt;br /&gt;但し、上記動作を見て下さい。&lt;br /&gt;アプリケーション側が２つのセパレータを送った場合、内蔵ブートローダは先頭のキャラクタのみを採用するようです。&lt;br /&gt;また、「OK\r\n」という固定的な返答も見られる事から、混在しているようにも見えます。&lt;br /&gt;&lt;br /&gt;この動作は、アプリケーション側がデータシートに書いてある通り「CR」でも、「LF」でも、「CR + LF」でも正しく動作するよう実装してあれば問題ありません。&lt;br /&gt;&lt;br /&gt;ですが、私の手元にあった古いlpc21isp (Version 1.64)ではそうなっていないということがわかりました。&lt;br /&gt;&lt;br /&gt;本来であれば、このコマンドに続いてアプリケーション側から書き込み用のデータが送られてきます。&lt;br /&gt;しかし、失敗する環境では「返答がない。」と判定されていました。&lt;br /&gt;恐らくセパレータの解釈に問題があるのでしょう。&lt;br /&gt;もしかしたら、受信側のセパレータの解釈に問題がありながら、送信側で対応したのかもしれません。その証拠に２つのバージョンでは送信するセパレータが異なる事がわかります。&lt;br /&gt;&lt;br /&gt;この件に関して言えば、最近のバージョン (Version 1.79)では修正されているので心配ありません。&lt;br /&gt;LPC1768やLPC1769を使う方の御参考までに。&lt;br /&gt;&lt;h1&gt;おわりに&lt;/h1&gt;この手の問題は実際に色んな調査をしてみなければ原因がわからないことが多いので大変です。&lt;br /&gt;&lt;br /&gt;今回のケースでは「あぁ、lpc21ispが古いのだなぁ」と片付ける事もできます。&lt;br /&gt;ですが、「２つのバージョンでどのように異なり、その差異の何が問題となるのか？」を調べることで安心して使用できるようになります。&lt;br /&gt;&lt;br /&gt;ウェブ上にある情報は断片的なものが多いのですが、「どのような問題があり」、「それをどのように解決したのか？」を自分のために整理すると意外に面白い発見になるのかもしれません。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-8755466940045079116?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/8755466940045079116/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/lpc1769lpc21isp.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8755466940045079116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/8755466940045079116'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/lpc1769lpc21isp.html' title='LPC1769の内蔵ブートローダを使って書き込みに失敗する環境がある（lpc21isp使用時）'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-SZ24VEJQXaw/Tc5Oc95FwyI/AAAAAAAABNk/zgg2un13TJU/s72-c/lpc21isp_on_greepad_no1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-5845715934214007925</id><published>2011-05-04T18:53:00.003+09:00</published><updated>2011-06-03T10:55:57.289+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Break time'/><title type='text'>B028 : LED MATRIX 100 差し上げます。</title><content type='html'>&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;(2011/06/02追記)&lt;br /&gt;締め切りました。&lt;br /&gt;沢山の御応募ありがとうございました。&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;MTM05で販売していた(そして１台売れた！)ATMEGA8L搭載のLED電光掲示板の基板とケースをセットで差し上げます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kBtpSqEduQg/TcEicaPauHI/AAAAAAAABNU/sXrvOU4NHCQ/s1600/DSC04874.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://3.bp.blogspot.com/-kBtpSqEduQg/TcEicaPauHI/AAAAAAAABNU/sXrvOU4NHCQ/s400/DSC04874.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-yLf1kYqbT_M/TcEihJlSQQI/AAAAAAAABNc/pY36wcqiYuY/s1600/DSC04875.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-yLf1kYqbT_M/TcEihJlSQQI/AAAAAAAABNc/pY36wcqiYuY/s400/DSC04875.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;* AVRを使った電光掲示板の実験ができます。&lt;br /&gt;* 無保証です。サポートもありません。&lt;br /&gt;* 送料は御負担下さい。&lt;br /&gt;&lt;br /&gt;回路図は&lt;a href="https://sites.google.com/site/cubeatsystems/resources/B028_AVRPRGBRD.pdf?attredirects=0&amp;amp;d=1"&gt;こちら&lt;/a&gt;。&lt;br /&gt;役に立たないファームウェアは&lt;a href="https://sites.google.com/site/cubeatsystems/resources/B028_AVRPRGBRD.zip?attredirects=0&amp;amp;d=1"&gt;こちら&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;それでも欲しいと言う方は &lt;a href="http://twitter.com/#!/shintamainjp"&gt;@shintamainjp&lt;/a&gt; まで御連絡下さい。&lt;br /&gt;あと３台あります。&lt;br /&gt;&lt;br /&gt;ぞうさんとかくるまとか表示できます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-EtRpJ1y-Qr8/TcEiECIdUmI/AAAAAAAABNE/A3bRUna6WW4/s1600/DSC01082.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-EtRpJ1y-Qr8/TcEiECIdUmI/AAAAAAAABNE/A3bRUna6WW4/s400/DSC01082.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-6GmGI-4EC7Q/TcEiH-1HklI/AAAAAAAABNM/fenMqJM1WSU/s1600/DSC01089.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-6GmGI-4EC7Q/TcEiH-1HklI/AAAAAAAABNM/fenMqJM1WSU/s400/DSC01089.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-5845715934214007925?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/5845715934214007925/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/b028-led-matrix-100.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5845715934214007925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/5845715934214007925'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/b028-led-matrix-100.html' title='B028 : LED MATRIX 100 差し上げます。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-kBtpSqEduQg/TcEicaPauHI/AAAAAAAABNU/sXrvOU4NHCQ/s72-c/DSC04874.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4847387914674140626</id><published>2011-05-04T18:42:00.002+09:00</published><updated>2011-06-03T10:56:16.005+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Break time'/><title type='text'>B041 : SD CARD MODULE 差し上げます。</title><content type='html'>&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;(2011/06/02追記)&lt;br /&gt;締め切りました。&lt;br /&gt;沢山の御応募ありがとうございました。&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;MTM05で販売していた(そして１台も売れなかった！)ATMEGA8L搭載のSDカード実験基板を差し上げます。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0gnfBJdRHnA/TcEfZZwjQYI/AAAAAAAABM8/fBA7FFaMyxs/s1600/DSC04876.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-0gnfBJdRHnA/TcEfZZwjQYI/AAAAAAAABM8/fBA7FFaMyxs/s400/DSC04876.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;* マイクロＳＤカードスロットを搭載しています。&lt;br /&gt;* AVRを使ったFATファイルシステムの実験ができます。&lt;br /&gt;* 無保証です。サポートもありません。&lt;br /&gt;* 送料は御負担下さい。&lt;br /&gt;&lt;br /&gt;回路図は&lt;a href="https://sites.google.com/site/cubeatsystems/resources/B041_TINY_SD_CARD_MODULE.pdf?attredirects=0&amp;amp;d=1"&gt;こちら&lt;/a&gt;。&lt;br /&gt;役に立たないファームウェアは&lt;a href="https://sites.google.com/site/cubeatsystems/resources/B041_TINY_SD_CARD_MODULE.zip?attredirects=0&amp;amp;d=1"&gt;こちら&lt;/a&gt;。(でも、ChaNさんのPetit FatFSは素敵ですよ。)&lt;br /&gt;&lt;br /&gt;それでも欲しいと言う方は &lt;a href="http://twitter.com/#!/shintamainjp"&gt;@shintamainjp&lt;/a&gt; まで御連絡下さい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4847387914674140626?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4847387914674140626/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/b041-sd-card-module.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4847387914674140626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4847387914674140626'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/b041-sd-card-module.html' title='B041 : SD CARD MODULE 差し上げます。'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-0gnfBJdRHnA/TcEfZZwjQYI/AAAAAAAABM8/fBA7FFaMyxs/s72-c/DSC04876.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4028655589711545695</id><published>2011-05-04T18:28:00.003+09:00</published><updated>2011-06-03T10:56:24.253+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Break time'/><title type='text'>B051 : WAV MODULE 差し上げます</title><content type='html'>&lt;pre style="background-color: #f4f4f4; border: 1px solid silver; margin: 0px 0px 0px 1em; overflow: auto; padding: 4px 4px 4px 1em;"&gt;&lt;span class="Apple-style-span" style="line-height: 17px;"&gt;(2011/06/02追記)&lt;br /&gt;締め切りました。&lt;br /&gt;沢山の御応募ありがとうございました。&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;ATMEGA328P搭載の基板を差し上げます。&lt;br /&gt;MTM05で販売していた(そして１台も売れなかった！)ものです。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-tf87LewtBmE/TcEa6F4llCI/AAAAAAAABM0/4xv3kSIpHus/s1600/DSC04873.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/-tf87LewtBmE/TcEa6F4llCI/AAAAAAAABM0/4xv3kSIpHus/s400/DSC04873.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;* マイクロＳＤカードスロットを搭載しています。&lt;br /&gt;* オーディオ用ステレオ16ビット D / Aコンバータ(BU9480F)を搭載しています。&lt;br /&gt;* AVRを使った簡単なオーディオの実験ができます。&lt;br /&gt;* 無保証です。サポートもありません。&lt;br /&gt;* 送料は御負担下さい。&lt;br /&gt;&lt;br /&gt;回路図は&lt;a href="https://sites.google.com/site/cubeatsystems/resources/B051_wavmod.pdf?attredirects=0&amp;amp;d=1"&gt;こちら&lt;/a&gt;。&lt;br /&gt;役に立たないファームウェアは&lt;a href="https://sites.google.com/site/cubeatsystems/resources/b051_firmware.zip?attredirects=0&amp;amp;d=1"&gt;こちら&lt;/a&gt;。(でも、ChaNさんのPetit FatFSは素敵ですよ。)&lt;br /&gt;&lt;br /&gt;それでも欲しいと言う方は &lt;a href="http://twitter.com/#!/shintamainjp"&gt;@shintamainjp&lt;/a&gt; まで御連絡下さい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1344337796673480398-4028655589711545695?l=shinta-main-jp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shinta-main-jp.blogspot.com/feeds/4028655589711545695/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/b051-wav-module.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4028655589711545695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1344337796673480398/posts/default/4028655589711545695'/><link rel='alternate' type='text/html' href='http://shinta-main-jp.blogspot.com/2011/05/b051-wav-module.html' title='B051 : WAV MODULE 差し上げます'/><author><name>shinta</name><uri>http://www.blogger.com/profile/02376749777898637349</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_ZUQS-90OGno/Sss3gMSYngI/AAAAAAAAAG0/8LJ2jxpLQjo/S220/me.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-tf87LewtBmE/TcEa6F4llCI/AAAAAAAABM0/4xv3kSIpHus/s72-c/DSC04873.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1344337796673480398.post-4211814427094644298</id><published>2011-05-04T12:53:00.006+09:00</published><updated>2011-05-04T13:44:24.250+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Break time'/><title type='text'>自宅ラボの大掃除を始めました(今回捨てる思い出の品)</title><content type='html'>自宅ラボの大掃除を始めました。&lt;br /&gt;懐かしい物が沢山出てきます。&lt;br /&gt;下らない物ばかりなのですが、思い出ということでなかなか捨てられません。&lt;br /&gt;こんな事をしていては将来ゴミの山になってしまいます。&lt;br /&gt;そこで、写真に撮ってどんどん捨てる事にしました。&lt;br /&gt;&lt;br /&gt;まずは「B011: Digital Design Board」という名前の基板。&lt;br /&gt;１０年くらい前に某大学のオープンキャンパス用に設計したもの。&lt;br /&gt;約２０台（だったかな？）製造してお渡したやつ。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-AwXs-7d74tI/TcDLkEK3KFI/AAAAAAAABLc/ZsEguVMefWk/s1600/DSC04852.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://2.bp.blogspot.com/-AwXs-7d74tI/TcDLkEK3KFI/AAAAAAAABLc/ZsEguVMefWk/s400/DSC04852.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-TzH-JmWpnIA/TcDLfCHGQeI/AAAAAAAABLU/R0CJ8nIqpKc/s1600/DSC04853.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://1.bp.blogspot.com/-TzH-JmWpnIA/TcDLfCHGQeI/AAAAAAAABLU/R0CJ8nIqpKc/s400/DSC04853.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;うーん。懐かしい。&lt;br /&gt;&lt;br /&gt;そしてその頃の別基板。&lt;br /&gt;PICをアセンブラでゴリゴリ使っていたころの物。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-6GThgtXNGaU/TcDMRwsf50I/AAAAAAAABLk/0-5Ys7QecfA/s1600/DSC04854.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://1.bp.blogspot.com/-6GThgtXNGaU/TcDMRwsf50I/AAAAAAAABLk/0-5Ys7QecfA/s400/DSC04854.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;この棒を横に振ると文字が出るっていうものですね。&lt;br /&gt;で、これがパターンのフィルム。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-oP1KWjJsF6o/TcDM4SjF2ZI/AAAAAAAABLs/av7WWnPENc0/s1600/DSC04855.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://1.bp.blogspot.com/-oP1KWjJsF6o/TcDM4SjF2ZI/AAAAAAAABLs/av7WWnPENc0/s400/DSC04855.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;当時は確かPCBEなんかを使って、片面基板を自分で作ったりしていました。&lt;br /&gt;「基板が出来た。嬉しい。」とか言って。&lt;br /&gt;&lt;br /&gt;これはどうやって作っていたんだろう。&lt;br /&gt;今となっては思い出せません。&lt;br /&gt;部品配置を検討した時の図だと思いますが。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-7T7C-D1p-uw/TcDTah0zhZI/AAAAAAAABME/E1WTm6m9tXg/s1600/DSC04864.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://4.bp.blogspot.com/-7T7C-D1p-uw/TcDTah0zhZI/AAAAAAAABME/E1WTm6m9tXg/s400/DSC04864.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;これもひどい。&lt;br /&gt;大量に在庫している赤色ＬＥＤを活用しようというＬＥＤマトリックス独自設計。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-WPEXSkgKOZs/TcDUyMa64hI/AAAAAAAABMM/XZuNjwOrOrQ/s1600/DSC04856.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://1.bp.blogspot.com/-WPEXSkgKOZs/TcDUyMa64hI/AAAAAAAABMM/XZuNjwOrOrQ/s400/DSC04856.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_0kaUa93tik/TcDU1lhGRwI/AAAAAAAABMU/KvyIHM-weWU/s1600/DSC04858.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-_0kaUa93tik/TcDU1lhGRwI/AAAAAAAABMU/KvyIHM-weWU/s400/DSC04858.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kcaxplceDoc/TcDU4wp5OMI/AAAAAAAABMc/LnNj7SuTz8w/s1600/DSC04865.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-kcaxplceDoc/TcDU4wp5OMI/AAAAAAAABMc/LnNj7SuTz8w/s400/DSC04865.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;「思い立ったらやらずにいられないたち」なのですが、高い、作りにくい、使いにくいの三重苦でした。&lt;br /&gt;こういうのは市販品を買えば良い、と学んだ一品。&lt;br /&gt;手元にある部品を有効活用どころか、時間という最大資源を大量浪費しました。&lt;br /&gt;&lt;br /&gt;次にmp3プレイヤー。&lt;br /&gt;これはつい最近の物のはずだけど、自分の中でかなり陳腐化。&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_fzAQeZdjOY/TcDQHoJJh_I/AAAAAAAABL0/5YoxNPdvGTQ/s1600/DSC04860.JPG" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://2.bp.blogspot.com/-_fzAQeZdjOY/TcDQHoJJh_I/AAAAAAAABL0/5YoxNPdvGTQ/s400/DSC04860.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-KS76NaJHRzE/TcDQLN3_7tI/AAAAAAAABL8/OFjJdzbKybE/s1600/DSC04861.JPG" imageanchor="1" st
