H8マイコンLANボードではじめるRedBoot入門
組み込みOSを使った開発の一歩手前

はじめに

PCからターゲットボードにシリアルインターフェースを使ってプログラムなどを転送する場合、1MByteで1分ほどかかります。これでは遅すぎるのでUSBやLANを使って数秒で終わらないかなぁ・・・とかねがね思っていました。しかし、USBやLANに手を出そうにも仕様を覚えるだけでもかなり大変なことになります。そこで今回は、Ethernetコントローラのボードを入手しましたので、LANの学習がてら、実験してみようと思います。何度もやって、なんとか身に着けましょう。ちょうど良いことにLinux環境を構築しましたし。

H8/3069FフラッシュマイコンLANボードは、CPUとしてH8/3069F(ROM512kByte、RAM16kByte)、16MbitのDRAMとしてHM5117800、10Base-TのEthernetコントローラとしてRTL8019ASを搭載した高性能なCPUボードです。

↓H8/3069FフラッシュマイコンLANボード

H8/3069FフラッシュマイコンLANボードキット付属のH8/OSについては製作者のサイトがあるので参考にしました。

↓Linux研究所のサイト
http://mes.sourceforge.jp/mes/


ボードの組み立てと動作確認

組み立てる

QFPのH8/3069F、RTL8019ASと、SOPのHM5117800TT6、ADM232AAはすでに実装済みなので、抵抗、ダイオード、コンデンサ、セラロック、LCDやコネクタを実装します。背の低い部品から取り付ければ難しくはない・・・と思っていたのですが、LANのコネクタRJ45がとっても差しにくくて、Pinの位置を慎重に確認し、カチッと音が鳴るまで、思いきり力を入れる必要がありました。
なお、ハンダ付けするときに部品を固定しにくい所はティッシュを丸めてつめてれば固定できるのでハンダ付けがし易くなります。

↓組み立てたところ

右上の8Pinのソケットは不要でした。


サンプルで確認

さて、キット付属のサンプルを動かして動作を確認します。
付属CD-ROMの、コマンドインタープリタ付きのH8/OS本体のイメージファイル\h8_os\plus3068.motを、H8/3069Fに書き込んで実行します。書き込みはWindowsのコマンドプロンプト上からサンプルCDの\windows\h8write.exeを実行します。

作業内容は以下の通りです。
・PCのCOM端子とH8/3069FフラッシュマイコンLANボードのCN4をD-Sub9Pinメス‐オスのストレートケーブルで接続します。
・DIPスイッチを左から1 ON, 2 ON, 3 OFF, 4 ONにします。
・ACアダプタを接続します。この時点で電源が入っちゃいます。
・コマンドプロンプトを開いて適当なディレクトリにh8write.exeplus3068.motをコピーします。
・念のため、H8/3069FフラッシュマイコンLANボードの右上のリセットボタンのタクトスイッチを押します。
・WindowsでCOMポートを使うようなプログラムが立ち上がっていたら全て落とします。
・Windowsのコマンドプロンプトからコマンドを実行します。
> h8write.exe -3069 -f20 plus3068.mot

↓コマンドプロンプト上で実行した結果。

C:\aaa>h8write.exe -3069 -f20 plus3068.mot
H8/3069F is ready!  2002/5/20 Yukio Mituiwa.
writing
ingore record
................................................................................
................................................................................
................................................................................
................................................................................
................................................................................
.......................................................................
EEPROM Writing is successed.

どうやら書き込めたみたい。続いてプログラムをスタートさせます。

・DIPスイッチを左から1 ON, 2 OFF, 3 ON, 4 OFFにします。
・Tera Term ProやWindowsのハイパーターミナルなどのシリアルが使えるターミナルエミュレータでボードと交信します。
↓ターミナルエミュレータを以下のように設定しています(ここではTera Term Pro)。

Port :COM1
Baud Rate:57600
Data :8 bit
Parity :none
Stop :1 bit
Flow control :hardware

・準備ができたら右上のタクトスイッチでリセットします。

↓コマンドインタープリタ付きのH8/OS本体の反応。

Welcome to the H8 Monitor!!
H8/OS >

ちゃんと動いているようですね。

LANの動作を確認する

このサンプルだけでは残念ながらLANの動作が確認できません。サンプルCDの\windows\put.exeをつかって、ブラウザ表示サンプルプログラム\h8_os\httpprog\http.motを送ってLANの動作確認します。このサンプルはH8/3069FフラッシュマイコンLANボードのIPアドレスを192.168.0.145に固定しています、LANにつなぐ前にIPアドレスを192.168.0.145と重ならないように他の機器の設定する必要があります。

・デバイスの所有権が重なるので、ターミナルエミュレータを落とします。
・コマンドプロンプトからput.exeでブラウザ表示サンプルを送信します。
 > put.exe http.mot

↓コマンドプロンプトから実行したときの結果。

C:\aaa>put.exe http.mot
ffde40 10 5E FF E0 5C 54 70 01 00 6D F6 0F F6 7A 37 00 00
ffde50 10 01 54 01 00 6D F4 01 00 6D F5 01 00 6F E1 FE C4
ffde60 10 7A 20 00 00 00 01 58 60 01 A4 1A 91 89 FF 7A 02
ffde70 10 FF FF FF 00 0A E2 0F A0 01 00 6B 22 00 00 01 A4
・・・
・・・中略
・・・
ffe2b0 10 38 0A 0A 00 3C 48 54 4D 4C 3E 3C 42 4F 44 59 3E
ffe2c0 10 3C 48 31 3E 57 65 6C 63 6F 6D 65 20 74 6F 20 48
ffe2d0 10 38 2F 4F 53 20 48 38 2D 33 30 36 37 46 3C 2F 48
ffe2e0 10 31 3E 3C 50 3E 68 74 74 70 20 69 73 20 65 6E 61
ffe2f0 10 62 6C 65 21 3C 2F 42 4F 44 59 3E 3C 2F 48 54 4D
ffe300 4 4C 3E 00 00

表示が止まったら送信完了です。

・もう一度ターミナルエミュレータを起動して、送信したサンプルを実行します。サンプルの先頭アドレスをexecコマンドで指定して実行します。

↓実行しているところ。

H8/OS >exec ffde40

何の反応もかえってきません。ピクリともしません。
すでにhttpを返す為に待ち受けていて、コマンドインタプリタを停止しているのです。
早速ブラウザからhttp://192.168.0.145/にアクセスします。

↓IE6からアクセス。

ちゃんとHTMLを送ってきました、ちょっと感動。LEDもちゃんと点灯してます。
付属のサンプルを書き込んだだけでは物足りないので、 ついでに自分でコンパイルして実行してみました。

↓ボードはH8-3069Fなので・・・

IPアドレスを変えても良かったんだけど・・・結局コレ以降このまま割り当てることに。
サンプルはAKI-H8-USBの時の環境でコンパイルできました。
targetがh8300-hms-coffのGCCでコンパイル可能ということですね。

さて、これでボードが大丈夫そうだということが確認できました。


RedBootを使ったH8開発環境の構築

GCC環境を立ち上げる

次は、H8/3069の開発環境を整えます。とりあえず今回はWindowsマシンだけで済ませたいので、cygwin上にGCCをインストールすることにしました。オブジェクトファイルはcoffではなくelfで扱いたいので、targetをh8300-elfにしてGCCをコンパイルするか、コンパイル済みのGCCをインストールすることになります。
さて、どうしようかな〜と思ってたら、μClinuxが動くボードでH8MAX等々を販売していらっしゃるStrawberry Linuxさんのサイトでcygwin用にコンパイル済みのGCCがあったので、そちらを利用させていただきました。

↓Strawberry Linuxさんのサイト
http://strawberry-linux.com/

↓H8MAX download center
http://strawberry-linux.com/h8max/download.php

h8300-elf-tools.cygwin.tar.bz2をダウンロードして/usr以下のディレクトリにあわせてコピーします。
/usr/local/bin/にはPATHを張っておきます。私は開発環境の設定をターゲットごとに切り替えたいので、/usr/local/h8300-elf/bin/の方が好みなのですが、 /usr/local/bin/でも仕方ないでしょう。
コンパイル済みのGCCを利用するのは便利な反面、インストールするディレクトリが作成者の好みになるので、自分の好みのディレクトリ構成にしたかったら自分でコンパイルしたほうが無難です。

早速、-vでバージョンを確認するとこんなメッセージがでます。

$ h8300-elf-gcc -v
/usr/local/lib/gcc-lib/h8300-elf/3.3/specs から spec を読み込み中
コンフィグオプション: ./configure --target=h8300-elf --with-newlib --with-headers=/home/ysato/newlib-1.11.0/newlib/libc/include/
スレッドモデル: single
gcc バージョン 3.3

コレをみるとnewlibが必要なようです。ところが、h8300-elf-tools.cygwin.tar.bz2にはnewlibは入っていないのでインストールする必要があります。

↓redhatのnewlibのサイト
http://sources.redhat.com/newlib/

newlibはさすがにコンパイル済みのものが無いため、自分でコンパイルする必要があります。
・・・といってもそんなに難しいものではなく、newlib-1.11.0.tar.gzをダウンロードしてから以下のように実行します。

$ gzip -d newlib-1.11.0.tar.gz
$ tar xvf newlib-1.11.0.tar
$ cd newlib-1.11.0
$ mkdir build
$ cd build
$ ../configure --target=h8300-elf --prefix=/usr/h8300-elf
$ make
$ make install

コレでOK、やってることは単に展開してコンパイルしてインストールするだけです。
クロスコンパイルするときはnewlibのIncludeディレクトリとLibディレクトリを指定すればいいはずです。
さて、コンパイル環境が正しく動くか試して見ます。

サンプル
シリアルにhello, worldを送信するプログラム:
h8_sci_rom.lzh
コンパイル結果のmotファイル:
sci_test1.mot

まぁ、毎度毎度でおなじみですが、hello, worldです。
SCIを使って、シリアルポートからターミナルエミュレータへ転送速度38400bpsでhello,worldという文字列を送ります。
このプログラムをコンパイルするとライブラリのmemcpyを呼ぶのですが、ライブラリを使わないように変更したものも作りました。
中身は以下の通りです。

Makefile
    makeファイル
h8_3069_rom.x
    秋月 H8/3069FフラッシュマイコンLANボード用のリンカスクリプト
test_start.S
    スタートアップルーチン。mein関数をcallするだけ。
sci_test1.c
    プログラム本体
sci_test1_nolib.c
    プログラム本体、ライブラリを使わない版

ファイルを展開してmakeを実行した後、上記のキット付属サンプルと同様にsci_test1.motをサンプルCDの\windows\h8write.exeを使って転送します。

DIPスイッチを左から1 ON, 2 ON, 3 OFF, 4 ONにしてコマンドプロンプトで転送します。

C:\aaa>h8write.exe -3069 -f20 sci_test1.mot

ターミナルエミュレータを以下のように設定しています(ここではTeraTerm Pro)。

Port :COM1
Baud Rate:38400
Data :8 bit
Parity :none
Stop :1 bit
Flow control :hardware

これで実行できます。

↓電源をON

hello, world

リセットボタンのタクトスイッチを押すと、改行せずにhello, worldを表示します。

↓とりあえず連打。

hello, worldhello, worldhello, worldhello, worldhello, worldhello, worldhello, worldhello, worldhello, worldhello, w
orldhello, worldhello, worldhello, worldhello, worldhello, worldhello, worldhello, worldhello, worldhello, worldhell
o, worldhello, worldhello, worldhello, worldhello, ・ello, worldhello, worldhello, worldhello, worldhello, worldhell
o, worldhello, worldhello, worldhello, worldhello, worldhel跏ello, worldhello, worldhello, world

たまに文字が化けるのは愛嬌でしょう。COMポートとつなぐケーブルが結構長いので。
・・・ってことで、コンパイル環境は整いました。


RedBoot

H8/3069FのフラッシュROMは100回以上の書き換えを保障しています。実際はその2倍は大丈夫だと思いますが、それでも込み入った開発をするには心もとない回数です。この他に外部メモリとして16MbitのDRAMのHM5117800を搭載しています。こちらは何万回でも書き換え可能のなので、モニターやデバッガのように、プログラムをRAMにロードするツールをフラッシュROMにあらかじめ入れておけば、フラッシュROMへの書き換え回数を激減することができます。
H8/3069Fに対応したモニターはH8自体がメジャーなCPUなので色々ありますが、今回は、sourceforgeでeCos/RedBoot for H8/300uClinux-H8のプロジェクトが面白そうだったので、まず、RedBootを使うことにしました。

↓sourceforgeのeCos/RedBoot for H8/300 
https://sourceforge.jp/projects/ecos-h8/

RedBootはRedHatの組み込みOSであるecosのブートローダ&デバッガです。簡易ファイル転送プロトコルのTFTPでLANを使ったり、シリアルポート用のバイナリ転送プロトコルのXMODEM等が使えてたりして、データをメモリにダウンロードする機能のが充実しています。

↓RedHatのRedBootのサイト
http://sources.redhat.com/redboot/

さて、RedBootのですが、ecosの中に組み込まれているので、ecosごとダウンロードする必要があります。

↓ecosのダウンロードサイト。
http://ecos.sourceware.org/mirror.html


RedBootをコンパイルする

ダウンロードしてからコンパイルするまでの手順は以下の通りです。

releases→ecos-2.0からcygwin版のecos-2.0.cygwin.tar.bz2をダウンロードして展開します。
・ecos-2.0/tools/binにPATHを通し、環境変数ECOS_REPOSITOTYをecos-2.0/packages/に設定します。
  ウチの場合、シェルはbashなので/home/hijiri/h8/h8_lan/RedBoot/以下に展開して↓を実行します。

export PATH=$PATH:/home/hijiri/h8/h8_lan/RedBoot/ecos-2.0/tools/bin
export ECOS_REPOSITORY=/home/hijiri/h8/h8_lan/RedBoot/ecos-2.0/packages

環境変数とかPATHとかはH8開発用にまとめて.bash_profile等に入れておいてます。
不要になったら別にファイルにしてもいいし。

・コンパイルしたいところにディレクトリを作成する。
・コンフィギュレーションの生成。
 ecos-2.0/tools/bin/ecosconfigを使います。/ecos-2.0/tools/bin/は↑でPATHを通してあります。

↓こんな感じで実行します。

$ ecosconfig new aki3068net redboot
U CYGSEM_HAL_ROM_MONITOR, new inferred value 1
$ ecosconfig add CYGPKG_IO_ETH_DRIVERS
$ ecosconfig add CYGPKG_DEVS_ETH_NS_DP83902A
$ ecosconfig add CYGPKG_CYGMON
$ ls
ecos.ecc
$

・・・と、コンフィギュレーション ecos.eccが作成されます。
このRedBootは秋月H8/3068ボードに対応しているのでaki3068netを設定します。
次はイーサーネットのIOで、 その次はDP83902Aのデバドラって、あれ?RTL8019ASなんだけど・・・
調べてみると、DP83902AはNE2000に乗っていたDP8390にハード・ソフト互換になっていて、RTL8019ASDP8390にソフト互換でした。
多分、ソフトウェア互換なところしか使わないのだと思います。
NE2000互換のネットワークカードっていっぱいあるから他にも対応できるものが結構ありそうです。
最後のはGDBでリモートデバッグを使う場合に必要なものです。

・コンフィギュレーションをいじくる。
コンフィグレーションのファイル ecos.eccを編集します。

↓スタックは4096も要らないみたいなので。

cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
    user_value 1024
};

↓コマンドヒストリも16もいらない。

cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
    user_value 2
};

↓IPアドレスを設定。

cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
    user_value 1 "192, 168, 0, 145"
}; 

↓SCIの転送速度を38400bpsに設定。

cdl_option CYGNUM_HAL_H8300_SCI_BAUD_RATE {
    user_value 38400
};  

今回の変更はコレくらいです。
早速、コンフィギュレーションからソースを生成させます。
makefileとソース一式ができあがるので、makeを実行します。

↓コンフィギュレーションからソース一式を生成してビルド。

$ ecosconfig tree
$ make

install/bin/redboot.elfがコンパイルしたオブジェクトファイルです。
このファイルは、サンプルCDにある\windows\h8write.exeでは転送できないので、h8300-elf-objcopyを使ってモトローラSフォーマットに変換します。
転送の際はCOMポートの競合していると動作しないので注意してください。たまにやっちゃいます。

↓モトローラSフォーマットに変換

$ h8300-elf-objcopy.exe -O srec redboot.elf redboot.mot

↓DIPスイッチを左から1 ON, 2 ON, 3 OFF, 4 ONにしてコマンドプロンプトで転送。

C:\aaa>h8write.exe -3069 -f20 redboot.mot

これで秋月H8/3068ボードにRedBootが書き込まれました。


さあ起動しましょうか。

DIPスイッチを左から1 ON, 2 OFF, 3 ON, 4 OFFにします。
RedBootのコンフィギュレーションファイル ecos.eccのCYGNUM_HAL_H8300_SCI_BAUD_RATEで38400bpsに設定したので、
ターミナルエミュレータを以下のように設定しています(ここではTera Term Pro)。

Port :COM1
Baud Rate:38400
Data :8 bit
Parity :none
Stop :1 bit
Flow control :hardware

そして電源をいれます。

↓動いているところ


・・・ボードを見ただけじゃわからないか。

↓RedBoot起動

+DP83902A - eeprom ESA: 00:02:cb:01:40:d5
Ethernet eth0: MAC address 00:02:cb:01:40:d5
IP: 192.168.0.152/255.255.255.0, Gateway: 192.168.0.1
Default server: 0.0.0.0, DNS server IP: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 22:50:53, Jan 29 2004

Platform: Akizuki H8/3068 Network micom (H8/300H)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00400000-0x005f4000, 0x00400000-0x005f4000 available
RedBoot>

おっけ。
無事起動しました。
ん?
・・・。
・・・・・・。
・・・・・・・・・あれ?IPアドレスが違う!?
192.168.0.152はウチのDHCPサーバが振るアドレスです。どうやらDHCPが無効になっていなかったみたいですねぇ。
コンフィグレーションのファイル ecos.eccを再度編集します。

↓DHCPを無効にする。

cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
    user_value 1
};

DHCPはBOOTPの上位互換のプロトコルです、念のため。
さて、もう一回起動。    

↓RedBoot起動再び

+DP83902A - eeprom ESA: 00:02:cb:01:40:d5
Ethernet eth0: MAC address 00:02:cb:01:40:d5
IP: 192.168.0.145/255.255.255.0, Gateway: 0.0.0.0
Default server: 0.0.0.0, DNS server IP: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 23:29:59, Jan 29 2004

Platform: Akizuki H8/3068 Network micom (H8/300H)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00400000-0x005f4000, 0x00400000-0x005f4000 available
RedBoot>

今度はちゃんと192.168.0.145に設定されています。
これでRedBootの起動が確認できました。
ためしに先ほどのhello, worldのリンカスクリプトを修正してDRAMの領域で動作するようにします。

サンプル
RedBoot上でプログラム実行:
h8_sci_redboot.lzh

Makefile
    makeファイル
h8_aki3069_redboot.x
    秋月 H8/3069FフラッシュマイコンLANボード用にRedBootを搭載した環境用のリンカスクリプト
test_start.S
    スタートアップルーチン。mein関数をcallするだけ。
sci_test1.c
    プログラム本体
sci_test1_nolib.c
    プログラム本体、ライブラリを使わない版

リンカスクリプト以外は変わっていません。
セクションのアドレスをDRAMのアドレス 0x40000にしています。
RedBootではSCIでXMODEMプロトコルに対応しているので、今回はそれを用います。

ターミナルエミュレータを以下のように設定しています(ここではTera Term Pro)。

Port :COM1
Baud Rate:38400
Data :8 bit
Parity :none
Stop :1 bit
Flow control :hardware

↓RedBootでデータをロードする。

RedBoot> load -r -v -b 0x00400000 -m xmodem -c 0 sci_test1.bin
CCCCC

CCC・・・はファイルを転送するまで続きます。sci_test1.binを指定して転送しましょう。
Tera Term ProならFile>Transfer>XMODEM>Sendでsci_test1.binを指定します。
転送したらRedBootのコマンド goで実行です。

↓hello, worldを実行。

RedBoot> load -r -v -b 0x00400000 -m xmodem -c 0 sci_test1.bin
CCRaw file loaded 0x00400000-0x004000c8, assumed entry at 0x00400000
xyzModem - CRC mode, 3(SOH)/0(STX)/0(CAN) packets, 4 retries
RedBoot> go 0x400000

hello, world

・・・無事動作したみたいですね。
これでようやく、RedBoot上で開発する環境ができました。
構築の方法はcygwinでもLinuxでもほとんど変わりないようです。


おまけ

uClinux起動確認

uClinxはH8のようなMMUを搭載していないCPUでも起動するLinuxです。RedBootはLinuxのブートに対応しています・・・ということは、このボードでもLinuxが起動するはずということで、バイナリを落として起動してみました。

↓uClinuxを起動

+DP83902A - eeprom ESA: 00:00:00:00:00:00
Ethernet eth0: MAC address 00:00:00:00:00:00
Can't get BOOTP info for device!

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version UNKNOWN - built 22:45:00, May  9 2002

Platform: Akizuki H8/3068 Network micom (H8/300H)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x00400000-0x005f4000, 0x00400000-0x005f4000 available
RedBoot> load -r -v -b 0x00400000 -m xmodem -c 0 linux.bin
Raw file loaded 0x00400000-0x004888a4
xyzModem - CRC mode, 4371(SOH)/0(STX)/0(CAN) packets, 2 retries
RedBoot> load -r -v -b 0x004888A4 -m xmodem -c 0 rootimage.bin
Raw file loaded 0x004888a4-0x004f84a4
xyzModem - CRC mode, 3577(SOH)/0(STX)/0(CAN) packets, 2 retries
RedBoot> exec -c "console=ttySC1,38400n81"
Linux version 2.4.21-uc0 (ysato@mitou) (gcc バージョン 3.3) #278 2003年 8月 13日 水曜日 00:46:59 JST

uClinux H8/300H
Target Hardware: AE-3068
H8/300 series support by Yoshinori Sato 
Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne
On node 0 totalpages: 1536
zone(0): 0 pages.
zone(1): 1536 pages.
zone(2): 0 pages.
Kernel command line: console=ttySC1,38400n81
virtual vector at 0x00ffbf20
Calibrating delay loop... 3.21 BogoMIPS
Memory available: 972k/1501k RAM, 0k/0k ROM (380k kernel code, 162k data)
Dentry cache hash table entries: 1024 (order: 1, 8192 bytes)
Inode cache hash table entries: 512 (order: 0, 4096 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 2048 (order: 1, 8192 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd
SuperH SCI(F) driver initialized
ttySC0 at 0x00ffffb0 is a SCI
ttySC1 at 0x00ffffb8 is a SCI
ttySC2 at 0x00ffffc0 is a SCI
Blkmem copyright 1998,1999 D. Jeff Dionne
Blkmem copyright 1998 Kenneth Albanowski
Blkmem 1 disk images:
0: 4888A4-4F84A3 [VIRTUAL 4888A4-4F84A3] (RO)
VFS: Mounted root (romfs filesystem) readonly.
Freeing unused kernel memory: 16k freed (0x468000 - 0x46b000)
誓#
#
# ls
bin   dev   etc   proc  sbin
# ls ./bin
cat       echo      false     free      hostname  kill      login
ls        mkdir     mkfifo    mount     printenv  ps        pwd
sh        shutdown  sync      touch     true      umount    yes
#

誓#ってなんだよ。シリアルの転送ミスは、偶に笑わせてくれます。
uClinxは現在はLinuxとマージされているので、Linuxソースからこの環境にコンパイルすることができるはずです。
時間があればやってみるとしましょうか。


今回学んだこと

ボードの名前が長いと、編集が面倒だ。
AKI-H8-USBぐらいなら丁度良かったのに。
xwincip便利
cygwinとWinXPでクリップボードを共有できる!・・・まぁtera termでLinuxにアクセスしても似たことができるけど。