<?xml version="1.0" encoding="UTF-8"?> 
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja">
<title>KMC Staff Blog</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/" />
<link rel="service.post" type="application/x.atom+xml" href="http://cms.blog.livedoor.com/atom/blog_id=3247272" title="KMC Staff Blog" />
<link rel="hub" href="http://pubsubhubbub.appspot.com" />
<link rel="self" href="http://blog.kmckk.com/atom.xml" />
<modified>2010-03-11T10:23:00Z</modified> 
<tagline><![CDATA[JTAG-ICE デバッガベンダー、京都マイクロコンピュータ株式会社 (Kyoto Microcomputer Co., Ltd. ; KMC) スタッフのブログです。]]></tagline> 
<id>tag:blog.livedoor.jp,2010:kmckk</id> 
<author>
<name>kmckk</name> 
</author>
<generator url="http://blog.livedoor.com/" version="1.0">livedoor Blog</generator> 
<copyright>Copyright (c) 2010, kmckk </copyright>
<entry>
<title>Clang と LLVM を使ってみる。</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2435798.html" />
<modified>2010-03-11T01:22:56Z</modified> 
<issued>2010-03-11T10:22:45+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2435798</id> 
<summary type="text/plain">前回は Clang フロントエンドだけをビルドしました。

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

lli.exe...</summary> 
<dc:subject>LLVM</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2435798.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>Clang を VisualStudio 2008 でビルドしてみる</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2435623.html" />
<modified>2010-03-09T01:04:24Z</modified> 
<issued>2010-03-09T10:04:42+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2435623</id> 
<summary type="text/plain">Clang (クラン(グ)) は、C/C++/Objective-C のコンパイラフロントエンドです。バックエンドに LLVM (Low-Level Virtual machine) を使います。(GCC をバックエンド（アセンブラ &amp; リンカ代わり) として使い、通常の実行形式を生成することもできます。逆に、GCC のミドルエン...</summary> 
<dc:subject>LLVM</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2435623.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>講演資料: Using QEMU  for  Cross Development</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2363482.html" />
<modified>2010-03-08T08:49:14Z</modified> 
<issued>2010-03-05T09:16:47+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2363482</id> 
<summary type="text/plain">CELFテクニカルジャンボリーでQEMUの話をさせていただきます。
組み込みシステムのクロス開発で実ボードの他にQEMUを活用しましょうという話です。
こちらにその発表資料を掲載します。
</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2363482.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>QEMUにデバッガをつなぐ</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2363473.html" />
<modified>2010-03-03T14:45:58Z</modified> 
<issued>2010-03-03T08:56:28+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2363473</id> 
<summary type="text/plain">今回はQEMUにデバッガをつなぐ話をします。
- QEMUそのものをgdbで追いかける
- QEMU上の仮想マシンにgdbをつなぐ
- QEMUそのものとその上の仮想マシンを同時に2つのgdbで追いかける
</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2363473.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>AndroidのエミュレータをNFSroot化する</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2363467.html" />
<modified>2010-03-02T01:31:33Z</modified> 
<issued>2010-03-01T09:34:51+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2363467</id> 
<summary type="text/plain">AndroidのエミュレータにQEMUが使われているのはご存知のことでしょう。
今回はこれまでの経験をいかしてAndroidのエミュレータに改造を加えてNFSroot化してみます。


</summary> 
<dc:subject>android</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2363467.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>QEMUのもうひとつの使い方: ユーザーモードエミュレーションとbinfmtとchrootの組み合わせ</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2342452.html" />
<modified>2010-02-27T10:33:57Z</modified> 
<issued>2010-02-25T09:52:04+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2342452</id> 
<summary type="text/plain">QEMUの上でDebianなどが動いていると、apt-get で簡単にコンパイラなどもインストールすることができます。しかし、そこで実際にビルドを行うととんでもなく時間がかかります。一晩かけても終わらないこともあります。
QEMUには今まで紹介してきたような、システム全体をエミ...</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2342452.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>クロス開発でのQEMU　まとめ(基礎編)</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2355310.html" />
<modified>2010-02-24T17:32:32Z</modified> 
<issued>2010-02-23T09:39:53+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2355310</id> 
<summary type="text/plain">ここまでのQEMUの記事のリンク集です。

なお、CELFテクニカルジャンボリーにて、時間をいただきましたので、このあたりについて話をさせていただきます。
(3月5日　中野サンプラザ 入場無料) よろしければご参加ください。
</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2355310.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>ARM QEMUのユーザーランドをUbuntuにさしかえる</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2339128.html" />
<modified>2010-02-19T01:51:07Z</modified> 
<issued>2010-02-19T09:32:55+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2339128</id> 
<summary type="text/plain">前回はQEMUをアップデートしてLinuxカーネルを最新版にさしかえました。
さらに仮想ハードウェアもARM926のものからARM11MPcoreのものにさしかえました。
今回は残ったユーザーランドをDebianからUbuntuにさしかえてみます。
</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2339128.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>ARM QEMU上のDebianを最新のカーネルに差し替えてさらにSMPで動かしてみる</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2333826.html" />
<modified>2010-02-24T09:34:20Z</modified> 
<issued>2010-02-17T10:06:59+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2333826</id> 
<summary type="text/plain">前回nfsからブートできるようにしたことで、ユーザーランドとカーネルの依存性が少なくなりました。そこでカーネルを最新のものに差し替えてみます。
さらに、qemuの仮想ハードウェアをARM926のversatileからARM11MPcoreのRealview_EBボードにさしかえて、SMPでの動作を見て...</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2333826.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>ARM QEMUでDebianをNFSrootで起動する</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2257962.html" />
<modified>2010-02-15T01:37:10Z</modified> 
<issued>2010-02-15T10:37:49+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2257962</id> 
<summary type="text/plain">大昔、まだハードディスクが高価だったころ、ディスクレスワークステーションというのがありました。自前でハードディスクを持たずに、ルートディレクトリから全てNFSでマウントするというものです。

この技術はいまでもUnix系OSのDNAに埋め込まれていて、簡単なセットアッ...</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2257962.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>GCC で条件コンパイル時に未定義の識別子を警告するコンパイラオプション</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2291103.html" />
<modified>2010-02-16T04:19:36Z</modified> 
<issued>2010-02-09T10:13:54+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2291103</id> 
<summary type="text/plain">GCC では -Wall を付けていても、条件コンパイル時に未定義のシンボル参照に対して警告が出ません。そのため、うっかり typo してしまった場合など、わかりにくいバグの原因となり得ます。
$ cat ifdef.c
#if UNDEFINED_SYMBOLvoid&amp;nbsp;f(void){}#endif
$ gcc -Wall -c ifde...</summary> 
<dc:subject>GCC</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2291103.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>vmlinuxとzImageの関係</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2257939.html" />
<modified>2010-02-05T00:55:38Z</modified> 
<issued>2010-02-05T09:55:56+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2257939</id> 
<summary type="text/plain">Linuxカーネルを起動する時に使うzImageってvmlinuxをzipで圧縮したものなの？
zImageを伸長するのはブートローダーの仕事？

改めて調べてみたので、ここでそれを紹介します。
</summary> 
<dc:subject>Linux</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2257939.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>QEMUでのNFSの設定の仕方</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2257952.html" />
<modified>2010-02-03T01:14:38Z</modified> 
<issued>2010-02-03T09:55:55+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2257952</id> 
<summary type="text/plain">QEMU上で動いているarmのLinuxとファイルをやりとりするときに、PCのLinuxをNFSサーバにしてファイルを共有するとラクです。

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

</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2257952.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>QEMUで動作したDebianのカーネルをリビルドする</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2237994.html" />
<modified>2010-02-05T07:00:28Z</modified> 
<issued>2010-02-01T09:11:55+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2237994</id> 
<summary type="text/plain">前回の方法で、qemu上にきちんと動作するDebianのシステムを構築することができました。これをひとつのベースとして、いろいろいじって試してみることにします。

まずはカーネルのリビルドです。
</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2237994.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>

<entry>
<title>ARMのQEMUにDebianをnetinstallする</title> 
<link rel="alternate" type="text/html" href="http://blog.kmckk.com/archives/2233167.html" />
<modified>2010-02-23T08:06:52Z</modified> 
<issued>2010-01-28T10:22:20+09:00</issued> 
<id>tag:blog.livedoor.jp,2010:kmckk.2233167</id> 
<summary type="text/plain">前回試してうまくいかなかったDebianのnetinstallはやはり古いインストーラを使っていたためでした。

新しいものでうまくいったので、その手順を紹介します。
</summary> 
<dc:subject>qemu</dc:subject>
<content type="text/html" mode="escaped" xml:lang="ja" xml:base="http://blog.kmckk.com/archives/2233167.html">
<![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>]]> 
</content>
<author>
<name>kmckk</name> 
</author>
</entry>
</feed>
