[Armadillo:03220] Re: netflashをつかったイメージの書き換えについて

nakai email@hidden
2008年 8月 1日 (金) 13:02:43 JST


nakaiです。

Armadillo-500のデフォルトUserlandイメージにはnetflashコマンドが入っています。
# 最新のUserlandイメージ: http://armadillo.atmark-techno.com/files/downloads/armadillo-500/image/romfs-a500-1.04.img.gz

> 毎回デバイスドライバをデバッグするために
> このような作業を行わないといけないのでしょうか?

デバイスドライバをモジュールで作成すると、モジュールをFTPで
Armadillo500に転送して、モジュールをinsmodするとドライバを動かすことができます。

> make modules - > make romfs -> make imageを行い、
>
> hermit download -i romfs.img.gz  -r  userland
>
> をおこなって、ボードにイメージファイルを転送してきました。

この作業は、ドライバのデバッグが終わり、リリースイメージを作成したいときに
行えばよいと思います。

ドライバのデバッグ方法について、以下に記述しますね。

> atmark-dist Develpers GuideのP43-45のデバイスドライバmessage

ここで説明している方法は、ドライバをモジュールでビルドしています。
ビルド後は該当ディレクトリにmessage.koが作成されると思います。

これをFTPでArmadillo-500に転送します。

PC$ ftp "Armadillo-500のIPアドレス"
例: ftp 192.168.10.100
# Armadillo-500のIPアドレスがわからない場合は、
# Armadillo-500にログインしてifconfig eth0コマンドを実行すると
# 表示されます。
# また、デフォルトのネットワーク設定ですと、DHCPを利用するようになっています。
# 固定IPを設定する場合は、Armadillo500 Development Board Startup Guideの
# 6.1.1項を参照してください。
# また、ネットワークに関して不明な点があれば、所属するネットワークの
# ネットワーク管理者に相談してください。

ftpのログインプロンプトが表示されるので、
User:ftp
PASSWD:ftp
でログインします。

次にディレクトリを移動します。
ftp> cd pub

次にファイルをputします。
ftp> put message.ko

ここからはArmadillo-500上での作業となります。

Armadillo-500にログインして、
A500# cd /home/ftp/pub
A500# ls
	message.ko
と表示されファイルが転送されていると思います。

ここで、モジュールをinsmodします。
A500# insmode message.ko

これでドライバにアクセスする準備はできました。
ドライバからデータをreadしてみます。
A500# cat /dev/message
Hello, everyone.
となると思います。


ここからは、残りの質問に回答します。

> をおこなって、ボードにイメージファイルを転送してきました。
> Armadillo500のフラッシュ書き込み回数の制限というのはないのでしょうか?
> もしあるとすると、私のようなやり方だとすぐに制限に達してしまうのでは
> ないでしょうか?

フラッシュメモリの書き換え可能回数は、目安として10万回です。

>> 3. netflashを利用する (Network)
>> この場合は、「Armadillo-500-dev_software_manual」の4.5にもあるように
>> 書き換え対象イメージ(linux.bin.gz)をHTTPサーバもしくはFTPサーバで
>> 公開する(ダウンロード可能にする)必要があります。
>
> これは、具体的には、
> Armadillo500 Development Board Startup GuideのP18-21の「ネットーワーク」
> の設定を一通り行えばよろしいのでしょうか?

>> Armadillo-500にログインして
>> netflash -k -n -u -r /dev/flash/nor.kernel http://サーバアドレス/パス/linux.bin.gz
>> としてコマンドを実行するとフラッシュイメージは書き換わります。
>
> サーバアドレスとは、作業用PCのアドレスを指定すればよろしいのでしょうか?

"HTTPサーバはArmadillo-500とは違うところで動作している必要があります。"
と返答したと思います。
なので、Armadillo500 Development Board Startup GuideのP18-21の「ネットーワーク」
の設定ではありません。
ネットワークに関して不明な点があれば、ネットワーク管理者に相談してみるのが良いでしょう。


g-kihara さんは書きました:
> 木原です。
> お世話になっております。
> 
>> 1. Hermit Hostのダウンローダを利用する (シリアル)
>> この方法ではシリアル経由データ転送がされるため、書き換えに時間がかかってしまうから
>> Network経由の方法を利用したい。ということですよね?
> 
> はい、そうです。
> それで、先日、netflashを利用する (Network)ように勧めていただいたので、
> 
> http://armadillo.atmark-techno.com/howto/NetFlash-aj
> 
> を参考に利用できる環境をつくろうとしているところです。
> 
> 1の「make コマンドを実行すると、netflashを含んだイメージ(uClinux-dist/images/image.bin)が作成されます」を終えて、
> 
> 「2. Hermitによるイメージの書換え
> イメージの書き換え手順」を参照して、作成したイメージでFlashを書換えて下さい。」 
> 
> 
> の作業にとりかかるところで、
> 
>>> 一般ユーザー(atmark)で、
>>>
>>>   hermit download -i linux.bin.gz -r kernel
>>>
>>> とすればよろしいのでしょうか?
> 
> という質問をしました。
> 
> 
>> 木原さんがやりたいことは、
>> ・Armadillo-500のKernelイメージを書き換えたい
>> であってますよね?
> 
> 前述の作業ではそういうことになります。
> 
> でも、毎回デバイスドライバをデバッグするために
> このような作業を行わないといけないのでしょうか?
> 
> たとえば、
> atmark-dist Develpers GuideのP43-45のデバイスドライバmessage
> を変更し、動作を確認(デバッグ)したいとします。
> その場合、いつもデバッグしたい箇所にprintk( )を入れて、
> make modules - > make romfs -> make imageを行い、
> 
> hermit download -i romfs.img.gz  -r  userland
> 
> をおこなって、ボードにイメージファイルを転送してきました。
> Armadillo500のフラッシュ書き込み回数の制限というのはないのでしょうか?
> もしあるとすると、私のようなやり方だとすぐに制限に達してしまうのでは
> ないでしょうか?
> 
>> 3. netflashを利用する (Network)
>> この場合は、「Armadillo-500-dev_software_manual」の4.5にもあるように
>> 書き換え対象イメージ(linux.bin.gz)をHTTPサーバもしくはFTPサーバで
>> 公開する(ダウンロード可能にする)必要があります。
> 
> これは、具体的には、
> Armadillo500 Development Board Startup GuideのP18-21の「ネットーワーク」
> の設定を一通り行えばよろしいのでしょうか?
> 
>> HTTPサーバで書き換えたいイメージを公開した後に、
> 
> この"イメージ"というのは、
> make modules - > make romfs -> make image
> で作成されたイメージでしょうか?
> 
>> Armadillo-500にログインして
>> netflash -k -n -u -r /dev/flash/nor.kernel http://サーバアドレス/パス/linux.bin.gz
>> としてコマンドを実行するとフラッシュイメージは書き換わります。
> 
> サーバアドレスとは、作業用PCのアドレスを指定すればよろしいのでしょうか?
> 
> 
> 以上
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo



armadillo メーリングリストの案内