[Armadillo:07194] Re: Armadillo-420のフラッシュメモリパーティション変更について

Takenoshita Koyo email@hidden
2011年 5月 9日 (月) 15:30:07 JST


竹之下です。

やり方としては、二つの方法があります。

1. 一時的に変更する方法
Armadilloを保守モードで起動して、以下のようにカーネルパラメータを設定してください。

hermit> console=ttymxc1 mtdparts=armadillo-nor:0x20000(bootloader)ro,0x1a0000(kernel),0xe40000(userland)

setenvコマンドでカーネルパラメータのmtdpartsを設定すると、
ブートローダとカーネルの両方が、その設定で動作するようになります。

2. 恒久的に変更する方法
1.の方法は簡単ですが、Armadillo一台一台に設定してあげる必要があるので、
量産時には面倒です。2.の方法は、デフォルト値を変えてしまう方法です。
ブートローダとカーネルそれぞれを変更する必要があります。

2-1. ブートローダを変更する
ブートローダのデフォルトのパーティション構成は、menuconfigで変更できます。

以下のようにして、menuconfigを実行してください。
[ATDE ~]$ cd hermit-at
[ATDE ~/hermit-at]$ make armadillo4x0_defconfig
[ATDE ~/hermit-at]$ make menuconfig

以下のように、パーティション構成を指定してください。
Target Configurations  --->
  Core settings  --->
    "mtdparts" assign method (fixed)  --->  # autoからfixedに変更
    (armadillo-nor:0x20000(bootloader)ro,0x1a0000(kernel),0xe40000(userland)) default MTDPARTS # 新しく追加

makeを引数なしで実行すると、ブートローダのイメージファイルが作成されます。
[ATDE ~/hermit-at]$ make
[ATDE ~/hermit-at]$ src/target/armadillo4x0/loader-armadillo4x0-v2.X.X.bin

loader-armadillo4x0-v2.X.X.bin を、Armadilloのブートローダ領域に書き込んでください。

上記設定で作成したブートローダを書き込んだ後、再起動し、memmapコマンドを実行
すると、以下のように表示されるはずです。
hermit> memmap
0xa0000000:0xa001ffff FLA bootloader bf:8K bl:4x32K/l
0xa0020000:0xa01bffff FLA kernel bf:8K bl:13x128K
0xa01c0000:0xa0ffffff FLA userland bf:8K bl:114x128K
0x80000000:0x87ffffff RAM dram-1

2-2. カーネルを変更する
カーネルのパーティション構成は、ソースを修正することで変更できます。
必ず、ブートローダのパーティション構成と同じになるようにしてください。

--- a/arch/arm/mach-mx25/armadillo400.c
+++ b/arch/arm/mach-mx25/armadillo400.c
@@ -151,9 +151,8 @@ static struct mtd_partition armadillo400_mtd_nor_partitions_8MB[] = {
 static struct mtd_partition armadillo400_mtd_nor_partitions_16MB[] = {
        MTD_PART("nor.bootloader",   4* 32*1024, 0,
                 MTD_WRITEABLE /* force read-only */ ),
-       MTD_PART("nor.kernel",      16*128*1024, MTDPART_OFS_APPEND, 0),
-       MTD_PART("nor.userland",   110*128*1024, MTDPART_OFS_APPEND, 0),
-       MTD_PART("nor.config",       1*128*1024, MTDPART_OFS_APPEND, 0),
+       MTD_PART("nor.kernel",      13*128*1024, MTDPART_OFS_APPEND, 0),
+       MTD_PART("nor.userland",   114*128*1024, MTDPART_OFS_APPEND, 0),
 };

上記のようにソースコードを修正し、カーネルイメージを作成し、
Armadilloのカーネル領域に書き込んでください。

原田 寛 さんは書きました:
> お世話になります。原田@YOODSと申します。
> 
> Armadillo-420のNORフラッシュメモリについて、パーティションの変更を
> 試みています。
> 
> 変更しようとしてしいてるのはhermit-at-2.1.1のソースです。
> 
> Armadillo-5x0等では、hermitのソース中にパーティションマップの
> 定義を見つけられるのですが、Armadillo-4x0に見つけることができません。
> 
> 変更したい内容は、以下の通りです。
> 
> [現状]
> 0x00000000-0x00020000 : "nor.bootloader"
> 0x00020000-0x00220000 : "nor.kernel"
> 0x00220000-0x00fe0000 : "nor.userland"
> 0x00fe0000-0x01000000 : "nor.config"
> 
> (1) kernelの領域を0x200000 -> 0x1a0000に
> (2) config領域を削除
> (3) userlandを0xe20000に
> 
> [変更後]
> 0x00000000-0x00020000 : "nor.bootloader"
> 0x00020000-0x001c0000 : "nor.kernel"
> 0x001c0000-0x01000000 : "nor.userland"
> 
> 以上、よろしくお願い致します。
> 
> 	*	------------------------------------*/
> 株式会社YOODS (ユーズ)
> http://www.yoods.co.jp/
> ■山口本社:  〒754-0011 
>  山口県山口市小郡御幸町4-9 山陽ビル小郡
>  TEL 083-976-0022/FAX 083-976-0023
> ■東京オフィス: 〒103-0021
>  東京都中央区日本橋本石町3丁目3番5号
>  三友常盤橋ビル8F 山口県東京ビジネスセンター内
>  TEL 03-6225-2166/FAX 03-6225-2167
> 原田 寛(Hiroshi Harada) 
> /*------------------------------------*/
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 


-- 
Koyo Takenoshita




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