<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:image="http://purl.org/rss/1.0/modules/image/"
 xmlns:admin="http://webns.net/mvcb/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel rdf:about="http://blog.kmckk.com/">
<title>KMC Staff Blog</title>
<link>http://blog.kmckk.com/</link>
<description>JTAG-ICE デバッガベンダー、京都マイクロコンピュータ株式会社 (Kyoto Microcomputer Co., Ltd. ; KMC) スタッフのブログです。
</description>
<dc:language>ja</dc:language>
<admin:generatorAgent rdf:resource="http://blog.livedoor.com/?v=2.0" />
<image rdf:resource="http://image.profile.livedoor.jp/icon/kmckk_60.gif"/>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2435798.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2435623.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2363482.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2363473.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2363467.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2342452.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2355310.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2339128.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2333826.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2257962.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2291103.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2257939.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2257952.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2237994.html" />
  <rdf:li rdf:resource="http://blog.kmckk.com/archives/2233167.html" />
 </rdf:Seq>
</items>
</channel>
<image rdf:about="http://image.profile.livedoor.jp/icon/kmckk_60.gif">
 <title>KMC Staff Blog</title>
 <link>http://blog.kmckk.com/</link>
 <url>http://image.profile.livedoor.jp/icon/kmckk_60.gif</url>
</image>
<item rdf:about="http://blog.kmckk.com/archives/2435798.html">
<title>Clang と LLVM を使ってみる。</title>
<link>http://blog.kmckk.com/archives/2435798.html</link>
<description>前回は Clang フロントエンドだけをビルドしました。

今回は LLVM もビルドして、実際に使ってみます。とはいっても、前回と同様に LLVM.sln を開いて、ALL_BUILD するだけです。時間がかかるかなと思って前回は試さなかったのですが、10 分もかかりませんでした。

lli.exe...</description>
<dc:creator>kmckk</dc:creator>
<dc:date>2010-03-11T10:22:45+09:00</dc:date>
<dc:subject>LLVM</dc:subject>
<content:encoded><![CDATA[<a href="http://blog.kmckk.com/archives/2435623.html">前回</a>は Clang フロントエンドだけをビルドしました。<br>
<br>
今回は LLVM もビルドして、実際に使ってみます。とはいっても、前回と同様に LLVM.sln を開いて、ALL_BUILD するだけです。時間がかかるかなと思って前回は試さなかったのですが、10 分もかかりませんでした。<br>
<br>
lli.exe (LLVM 仮想マシン本体。JVM の java コマンドのようなもの)、llc.exe (ネイティブアセンブリコードへのトランスレータ) の他に、llvm-as.exe や llvm-ld.exe、llvm-nm.exe など、おなじみの binutils ライクなコマンド群が生成されます。<br>
<a href="http://blog.kmckk.com/archives/2435798.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2435798" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2435623.html">
<title>Clang を VisualStudio 2008 でビルドしてみる</title>
<link>http://blog.kmckk.com/archives/2435623.html</link>
<description>Clang (クラン(グ)) は、C/C++/Objective-C のコンパイラフロントエンドです。バックエンドに LLVM (Low-Level Virtual machine) を使います。(GCC をバックエンド（アセンブラ &amp; リンカ代わり) として使い、通常の実行形式を生成することもできます。逆に、GCC のミドルエン...</description>
<dc:creator>kmckk</dc:creator>
<dc:date>2010-03-09T10:04:42+09:00</dc:date>
<dc:subject>LLVM</dc:subject>
<content:encoded><![CDATA[Clang (クラン(グ)) は、C/C++/Objective-C のコンパイラフロントエンドです。バックエンドに LLVM (Low-Level Virtual machine) を使います。(GCC をバックエンド（アセンブラ & リンカ代わり) として使い、通常の実行形式を生成することもできます。逆に、GCC のミドルエンド以降を LLVM 向けに改造した llvm-gcc というフロントエンドも存在します。)<br>
<br>
ライセンスが <a href="http://llvm.org/releases/2.6/LICENSE.TXT">BSD ライク</a> なので、<a href="http://wiki.freebsd.org/BuildingFreeBSDWithClang">FreeBSD が Clgan で GCC を置き換えようとする動き</a>があったりと、徐々に注目を集めています。<br>
<br>
<a href="http://clang.llvm.org/get_started.html">Getting Started: Building and Running Clang</a> を見る限り、Windows 上では VisualStudio 2005/2008 でビルドできるそうなので、さっそく試してみました。<br>
<br>

<a href="http://blog.kmckk.com/archives/2435623.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2435623" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2363482.html">
<title>講演資料: Using QEMU  for  Cross Development</title>
<link>http://blog.kmckk.com/archives/2363482.html</link>
<description>CELFテクニカルジャンボリーでQEMUの話をさせていただきます。
組み込みシステムのクロス開発で実ボードの他にQEMUを活用しましょうという話です。
こちらにその発表資料を掲載します。
</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-03-05T09:16:47+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<a href="http://elinux.org/Japan_Technical_Jamboree_32">CELFテクニカルジャンボリー</a>でQEMUの話をさせていただきます。<br>
組み込みシステムのクロス開発で実ボードの他にQEMUを活用しましょうという話です。<br>
こちらにその発表資料を掲載します。<br>

<a href="http://blog.kmckk.com/archives/2363482.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2363482" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2363473.html">
<title>QEMUにデバッガをつなぐ</title>
<link>http://blog.kmckk.com/archives/2363473.html</link>
<description>今回はQEMUにデバッガをつなぐ話をします。
- QEMUそのものをgdbで追いかける
- QEMU上の仮想マシンにgdbをつなぐ
- QEMUそのものとその上の仮想マシンを同時に2つのgdbで追いかける
</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-03-03T08:56:28+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p>今回はQEMUにデバッガをつなぐ話をします。</p>
<ul>
<li> QEMUそのものをgdbで追いかける</li>
<li> QEMU上の仮想マシンにgdbをつなぐ</li>
<li> QEMUそのものとその上の仮想マシンを同時に2つのgdbで追いかける</li>
</ul>
</div>

<a href="http://blog.kmckk.com/archives/2363473.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2363473" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2363467.html">
<title>AndroidのエミュレータをNFSroot化する</title>
<link>http://blog.kmckk.com/archives/2363467.html</link>
<description>AndroidのエミュレータにQEMUが使われているのはご存知のことでしょう。
今回はこれまでの経験をいかしてAndroidのエミュレータに改造を加えてNFSroot化してみます。


</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-03-01T09:34:51+09:00</dc:date>
<dc:subject>android</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p>AndroidのエミュレータにQEMUが使われているのはご存知のことでしょう。</p>
<p>今回は<a href="http://blog.kmckk.com/archives/2355310.html">これまでの経験</a>をいかしてAndroidのエミュレータに改造を加えてNFSroot化してみます。</p>


</div>

<a href="http://blog.kmckk.com/archives/2363467.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2363467" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2342452.html">
<title>QEMUのもうひとつの使い方: ユーザーモードエミュレーションとbinfmtとchrootの組み合わせ</title>
<link>http://blog.kmckk.com/archives/2342452.html</link>
<description>QEMUの上でDebianなどが動いていると、apt-get で簡単にコンパイラなどもインストールすることができます。しかし、そこで実際にビルドを行うととんでもなく時間がかかります。一晩かけても終わらないこともあります。
QEMUには今まで紹介してきたような、システム全体をエミ...</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-02-25T09:52:04+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p>QEMUの上でDebianなどが動いていると、apt-get で簡単にコンパイラなどもインストールすることができます。しかし、そこで実際にビルドを行うととんでもなく時間がかかります。一晩かけても終わらないこともあります。</p>
<p>QEMUには今まで紹介してきたような、システム全体をエミュレートするものの他に、Linuxのユーザーモードのみをエミュレートするものがあります。今回はユーザーモードエミュレーションを紹介します。</p>
<p>ユーザーモードエミュレーションを利用することでビルドにかかる時間を1/10に短縮することができました。</p>
</div>

<a href="http://blog.kmckk.com/archives/2342452.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2342452" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2355310.html">
<title>クロス開発でのQEMU　まとめ(基礎編)</title>
<link>http://blog.kmckk.com/archives/2355310.html</link>
<description>ここまでのQEMUの記事のリンク集です。

なお、CELFテクニカルジャンボリーにて、時間をいただきましたので、このあたりについて話をさせていただきます。
(3月5日　中野サンプラザ 入場無料) よろしければご参加ください。
</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-02-23T09:39:53+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p>ここまでのQEMUの記事のリンク集です。</p>

<p>なお、<a href="http://elinux.org/Japan_Technical_Jamboree_32">CELFテクニカルジャンボリー</a>にて、時間をいただきましたので、このあたりについて話をさせていただきます。</p>
<p>(3月5日　中野サンプラザ 入場無料) よろしければご参加ください。</p>
</div>

<a href="http://blog.kmckk.com/archives/2355310.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2355310" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2339128.html">
<title>ARM QEMUのユーザーランドをUbuntuにさしかえる</title>
<link>http://blog.kmckk.com/archives/2339128.html</link>
<description>前回はQEMUをアップデートしてLinuxカーネルを最新版にさしかえました。
さらに仮想ハードウェアもARM926のものからARM11MPcoreのものにさしかえました。
今回は残ったユーザーランドをDebianからUbuntuにさしかえてみます。
</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-02-19T09:32:55+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p><a href="http://blog.kmckk.com/archives/2333826.html">前回</a>はQEMUをアップデートしてLinuxカーネルを最新版にさしかえました。</p>
<p>さらに仮想ハードウェアもARM926のものからARM11MPcoreのものにさしかえました。</p>
<p>今回は残ったユーザーランドをDebianからUbuntuにさしかえてみます。</p>
</div>

<a href="http://blog.kmckk.com/archives/2339128.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2339128" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2333826.html">
<title>ARM QEMU上のDebianを最新のカーネルに差し替えてさらにSMPで動かしてみる</title>
<link>http://blog.kmckk.com/archives/2333826.html</link>
<description>前回nfsからブートできるようにしたことで、ユーザーランドとカーネルの依存性が少なくなりました。そこでカーネルを最新のものに差し替えてみます。
さらに、qemuの仮想ハードウェアをARM926のversatileからARM11MPcoreのRealview_EBボードにさしかえて、SMPでの動作を見て...</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-02-17T10:06:59+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p><a href="http://blog.kmckk.com/archives/2257962.html">前回nfsからブートできるようにした</a>ことで、ユーザーランドとカーネルの依存性が少なくなりました。そこでカーネルを最新のものに差し替えてみます。</p>
<p>さらに、qemuの仮想ハードウェアをARM926のversatileからARM11MPcoreのRealview_EBボードにさしかえて、SMPでの動作を見てみます。</p>
</div>

<a href="http://blog.kmckk.com/archives/2333826.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2333826" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2257962.html">
<title>ARM QEMUでDebianをNFSrootで起動する</title>
<link>http://blog.kmckk.com/archives/2257962.html</link>
<description>大昔、まだハードディスクが高価だったころ、ディスクレスワークステーションというのがありました。自前でハードディスクを持たずに、ルートディレクトリから全てNFSでマウントするというものです。

この技術はいまでもUnix系OSのDNAに埋め込まれていて、簡単なセットアッ...</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-02-15T10:37:49+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p>大昔、まだハードディスクが高価だったころ、ディスクレスワークステーションというのがありました。自前でハードディスクを持たずに、ルートディレクトリから全てNFSでマウントするというものです。</p>

<p>この技術はいまでもUnix系OSのDNAに埋め込まれていて、簡単なセットアップでそれを行うことができます。組み込みLinuxの開発でこれを応用すると3つのよい点があります。</p>

<p>1. ターゲット内のファイルにホストからいつでも自由に簡単にアクセスできる。</p>
<p>2. ターゲットにストレージ系のデバイスドライバがまだ実装できていない状態でもカーネルを起動することができる。</p>
<p>3. ターゲットのディスクの空き容量を気にしなくてすむ。</p>

<p>QEMU上のARMのDebianでこれをやってみたので紹介します。</p>


</div>

<a href="http://blog.kmckk.com/archives/2257962.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2257962" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2291103.html">
<title>GCC で条件コンパイル時に未定義の識別子を警告するコンパイラオプション</title>
<link>http://blog.kmckk.com/archives/2291103.html</link>
<description>GCC では -Wall を付けていても、条件コンパイル時に未定義のシンボル参照に対して警告が出ません。そのため、うっかり typo してしまった場合など、わかりにくいバグの原因となり得ます。
$ cat ifdef.c
#if UNDEFINED_SYMBOLvoid&amp;nbsp;f(void){}#endif
$ gcc -Wall -c ifde...</description>
<dc:creator>kmckk</dc:creator>
<dc:date>2010-02-09T10:13:54+09:00</dc:date>
<dc:subject>GCC</dc:subject>
<content:encoded><![CDATA[GCC では -Wall を付けていても、条件コンパイル時に未定義のシンボル参照に対して警告が出ません。そのため、うっかり typo してしまった場合など、わかりにくいバグの原因となり得ます。<br>
<pre>$ cat ifdef.c<br>
<font face="monospace"><font color="#a020f0">#if UNDEFINED_SYMBOL</font><br><font color="#2e8b57"><b>void</b></font>&nbsp;f(<font color="#2e8b57"><b>void</b></font>){}<br><font color="#a020f0">#endif</font><br>
$ gcc -Wall -c ifdef.c</pre><br>
<br>
-Wundef オプションにより、警告が出るようになります。<br>
<pre>$ gcc -Wall -Wundef -c ifdef.c<br>
ifdef.c:1:5: warning: "UNDEFINED_SYMBOL" is not defined</pre>
<a href="http://blog.kmckk.com/archives/2291103.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2291103" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2257939.html">
<title>vmlinuxとzImageの関係</title>
<link>http://blog.kmckk.com/archives/2257939.html</link>
<description>Linuxカーネルを起動する時に使うzImageってvmlinuxをzipで圧縮したものなの？
zImageを伸長するのはブートローダーの仕事？

改めて調べてみたので、ここでそれを紹介します。
</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-02-05T09:55:56+09:00</dc:date>
<dc:subject>Linux</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p>Linuxカーネルを起動する時に使うzImageってvmlinuxをzipで圧縮したものなの？</p>
<p>zImageを伸長するのはブートローダーの仕事？</p>

<p>改めて調べてみたので、ここでそれを紹介します。</p>
</div>

<a href="http://blog.kmckk.com/archives/2257939.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2257939" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2257952.html">
<title>QEMUでのNFSの設定の仕方</title>
<link>http://blog.kmckk.com/archives/2257952.html</link>
<description>QEMU上で動いているarmのLinuxとファイルをやりとりするときに、PCのLinuxをNFSサーバにしてファイルを共有するとラクです。

QEMUの場合、ちょっと特殊なオプションが必要でした。その方法を紹介します。

</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-02-03T09:55:55+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p>QEMU上で動いているarmのLinuxとファイルをやりとりするときに、PCのLinuxをNFSサーバにしてファイルを共有するとラクです。</p>

<p>QEMUの場合、ちょっと特殊なオプションが必要でした。その方法を紹介します。</p>

</div>

<a href="http://blog.kmckk.com/archives/2257952.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2257952" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2237994.html">
<title>QEMUで動作したDebianのカーネルをリビルドする</title>
<link>http://blog.kmckk.com/archives/2237994.html</link>
<description>前回の方法で、qemu上にきちんと動作するDebianのシステムを構築することができました。これをひとつのベースとして、いろいろいじって試してみることにします。

まずはカーネルのリビルドです。
</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-02-01T09:11:55+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p><a href="http://blog.kmckk.com/archives/2233167.html">前回</a>の方法で、qemu上にきちんと動作するDebianのシステムを構築することができました。これをひとつのベースとして、いろいろいじって試してみることにします。</p>

<p>まずはカーネルのリビルドです。</p>
</div>

<a href="http://blog.kmckk.com/archives/2237994.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2237994" width="1" height="1" />
]]>
</content:encoded>
</item>
<item rdf:about="http://blog.kmckk.com/archives/2233167.html">
<title>ARMのQEMUにDebianをnetinstallする</title>
<link>http://blog.kmckk.com/archives/2233167.html</link>
<description>前回試してうまくいかなかったDebianのnetinstallはやはり古いインストーラを使っていたためでした。

新しいものでうまくいったので、その手順を紹介します。
</description>
<dc:creator>t2koba</dc:creator>
<dc:date>2010-01-28T10:22:20+09:00</dc:date>
<dc:subject>qemu</dc:subject>
<content:encoded><![CDATA[<div class="section">
<p><a href="http://blog.kmckk.com/archives/2223793.html">前回</a>試してうまくいかなかったDebianのnetinstallはやはり古いインストーラを使っていたためでした。</p>

<p>新しいものでうまくいったので、その手順を紹介します。</p>
</div>

<a href="http://blog.kmckk.com/archives/2233167.html">続きを読む</a>
<img src="http://counter2.blog.livedoor.com/c?ro=1&act=rss&output=no&id=3247272&name=kmckk&pid=2233167" width="1" height="1" />
]]>
</content:encoded>
</item>

</rdf:RDF>
