[Armadillo:00725] Re: Linux上からFlashの更新に挑戦 内容のご確認

Fumito Morishima email@hidden
2005年 12月 9日 (金) 12:27:10 JST


森島です。

> ●イメージファイルのコピー正誤表

ご指摘ありがとうございます。早速修正しておきます。

コンパイルエラーの件ですが、エラー時のコマンドが
"arm-linux-gcc"ではなく、"gcc"となっているとおり、
ホストマシン用のmtdツールをコンパイルしようとして、
エラーになっています。

原因は、linux/mtd/ftl.hを見つけられないためで、
ホスト用のLinuxカーネルのヘッダファイルを
インストールする必要があります。Debianなら、
# apt-get install linux-kernel-headers
です。

また、ホスト用のツールをコンパイルしないように、
user/mtd-utilsのMakefileを書換えてもよいです。

BUILD_TARGETSでコンパイルするホスト用のツールを指定しているので、
allの指定から$(BUILD_TARGETS)を削除すればよいでしょう。

この件もwebに反映させておきます。

kurosaki wrote:
> SYSCOM黒崎です。
> 
> ●イメージファイルのコピー正誤表
> 誤り    :  [AJ ~] cp /home/guest/recover.img /dev/mtd3
> 正しい : [AJ ~] cp /home/guest/pub/image.bin /dev/mtd3  ;pubディレクトリ
> でないと書けません。
> 
> 
> ●MTDユーティリティの追加
> Webの解説にある以下を実行しましたがうまくいきません。
> 
> 
>>MTDユーティリティの追加
>>make menuconfig を実行してユーザ設定を変更する
>>
>>  -> Flash Tools
>>     -> mtd-utils
>>        [*] eraseall
> 
> 
> #make dep all  ;以下のコンパイルエラーとなってしまいます。
> 
> gcc -o build/doc_loadipl build/doc_loadipl.o build/rsencode.o
> gcc -I/usr/include -I. -o build/ftl_format ftl_format.c
> ftl_format.c:50:27: error: linux/mtd/ftl.h: そのようなファイルやディレクトリ
> はありません
> ftl_format.c:73: error: syntax error before '*' token
> ftl_format.c: In function 'build_header':
> ftl_format.c:80: error: 'hdr' undeclared (first use in this function)
> ftl_format.c:80: error: (未宣言の各変数については、それが最初に現われたそれ
> ぞれの関数
> ftl_format.c:80: error:  に対して一度だけ報告されます。)
> ftl_format.c:84: error: 'BootSize' undeclared (first use in this function)
> ftl_format.c:84: error: 'BlockSize' undeclared (first use in this function)
> ftl_format.c:94: error: 'RegionSize' undeclared (first use in this function)
> ftl_format.c:95: error: 'Spare' undeclared (first use in this function)
> ftl_format.c:105: error: 'Reserve' undeclared (first use in this function)
> ftl_format.c: In function 'format_partition':
> ftl_format.c:122: error: 'erase_unit_header_t' undeclared (first use in this
> function)
> ftl_format.c:122: error: syntax error before 'hdr'
> ftl_format.c:142: error: 'hdr' undeclared (first use in this function)
> ftl_format.c:176: error: 'BLOCK_CONTROL' undeclared (first use in this
> function)
> make[2]: *** [build/ftl_format] エラー 1
> make[2]: Leaving directory `/home/mike/atmark-dist-20050729/user/mtd-utils'
> make[1]: *** [all] エラー 2
> make[1]: Leaving directory `/home/mike/atmark-dist-20050729/user'
> make: *** [subdirs] エラー 1
> [email@hidden atmark-dist-20050729]#
> 
> 
> お気づきの点あればよろしくお願いいたします。
> 
> 
> -----Original Message-----
> From: email@hidden
> [mailto:email@hidden]On Behalf Of Fumito
> Morishima
> Sent: Thursday, December 08, 2005 4:25 PM
> To: Armadillo series general discussion list
> Subject: [Armadillo:00719] Re: Linux上からFlashの更新に挑戦 内容のご確認
> 
> 
> 森島です。
> 
> 「Linux上からFlashの更新に挑戦」
> (http://armadillo.atmark-techno.com/armadillo-j/memo/flashWriteOnLinux)
> の内容ですが、黒崎さんの指摘どおりです。
> 
> 現在のArmadillo-Jのカーネルでは、Flashメモリの該当領域を書込み可能と
> してあり、また、ユーザーランドにmtdのデバイスノードも
> 用意してあるので、特に変更する必要はありません。
> 
> Webページにはコメントを入れておきます。
> 
> kurosaki wrote:
> 
>>SYSCOM。黒崎です。
>>
>>『 Linux上からFlashの更新に挑戦 』ですが以下。確認させてください。
>>
>>・使用している版
>> atmark-dist-20050729
>> linux-2.4.22-uc0-aj2
>>
>>
>>
>>>そこで"Flashに書き込みむイメージファイルをftpでArmadillo-Jに転送し、
>>>MTDツールを使用してLinux上からFlashに書き込む"といった方法を試してみまし
>>
>>た。
>>
>>
>>>カーネルとユーザランド領域の書込許可
>>>
>>>uClinux-dist/linux-2.4.x/drivers/mtd/maps/armadilloj.c を編集して、カーネ
> 
>> 
>>領域パーティションの .mask_flags 行を以下の例のようにコメントアウトする :
>>
>>
>>>    .name       = "Flash/User",
>>>    .size       = KERNEL_SIZE,
>>>    .offset     = MTDPART_OFS_APPEND,
>>> // .mask_flags = MTD_WRITEABLE, /* force read-only */
>>>
>>
>> 上記Web例題がこちらの版では下記のようになっていますが、ここを変更する
> 
>> 
>>でしょうか。コメントアウト部分がありません。
>>
>>      ↓
>>
>>	{
>>		.name       = "Flash/User",
>>		.size       = V100_USER_SIZE,
>>		.offset     = V100_USER_OFFSET,
>>	},
>>
>>
>>
>>
>>
>>
>>>カーネル領域のmtd用デバイスノードを追加
>>>
>>>uClinux/vender/AtmarkTechno/Armadillo-J.Base/Makefile の DEVICE+ 行を以下
> 
>> 
>>ように編集する
>>
>>
>>> DEVICES+= mtdblock3,b,31,3 mtdblock4,b,31,4 mtdblock5,b,31,5 \
>>>           mtd3,c,90,6 mtdr3,c,90,7 mtd4,c,90,8 mtdr4,c,90,9 \
>>>           mtd5,c,90,10 mtdr5,c,90,11
>>
>>
>> 上記Web例題がこちらでは下記のようになっていますが、ここを変更するので
>>しょうか。
>>
>>      ↓
>>
>>
>>DEVICES += \
>>	mtdblock2,b,31,2	mtdblock3,b,31,3 \
>>	mtdblock4,b,31,4	mtdblock5,b,31,5 \
>>	\
>>	mtd2,c,90,4		mtdr2,c,90,5	\
>>	mtd3,c,90,6		mtdr3,c,90,7	\
>>	mtd4,c,90,8		mtdr4,c,90,9	\
>>	mtd5,c,90,10		mtdr5,c,90,11	\
>>	mtd6,c,90,12		mtdr6,c,90,13	\
>>	mtd7,c,90,14		mtdr7,c,90,15
>>
>>ご質問などありましたらご連絡ください。
>>よろしくお願いいたします。
>>
>>_______________________________________________
>>armadillo mailing list
>>email@hidden
>>http://lists.atmark-techno.com/mailman/listinfo/armadillo
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo



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