[Armadillo:01445] Re: 220でConfig領域を2重化する方法について

nakai email@hidden
2006年 12月 20日 (水) 19:23:27 JST


中井です。

フラッシュメモリのイレーズブロックで分ける必要があります。
 
> ★#define FLASH_CONFIG_BLOCK      "4x8K"  // "8x8K"
> ★#define FLASH_CONFIG2_BLOCK     "4x8K"
> 
> ★//#define MTDPARTS2X0 
> "mtdparts=armadillo2x0-nor:0x10000(bootloader)ro,0x170000(kern
> el),0x670000(userland),-(config)"
> ★#define MTDPARTS2X0 
> "mtdparts=armadillo2x0-nor:0x10000(bootloader)ro,0x170000(kern
> el),0x670000(userland),0x5000(config),-(config2)"

0x5000(config)
ではなく、
0x8000(config)
ではないでしょうか?


> -----Original Message-----
> From: email@hidden 
> [mailto:email@hidden] On Behalf 
> Of Makoto Nakamura
> Sent: Wednesday, December 20, 2006 6:47 PM
> To: Armadillo series general discussion list
> Subject: [Armadillo:01444] Re: 220でConfig領域を2重化する方法について
> 
> いつもお世話になっています。TNN@中村です。
> 
> 先日教えていただいた情報にて試してみましたが
> 起動時にエラーが出てしまい、Config領域が作成されなくなりました。
> 
> 64kのConfig領域を2つに分ける設定を行ってみました。
> ミスしている点がありましたら教えてください。
> 
> 以下、kernel起動ログ(★がエラー)
>  ----------------------
>  cfi_cmdset_0002: Disabling erase-suspend-program due to code 
> brokenness.
>  5 cmdlinepart partitions found on MTD device armadillo2x0-nor
>  parse_mtd_partitions:5
>  Creating 5 MTD partitions on "armadillo2x0-nor":
>  0x00000000-0x00010000 : "bootloader"
>  0x00010000-0x00180000 : "kernel"
>  0x00180000-0x007f0000 : "userland"
> ★0x007f0000-0x007f5000 : "config"
> ★mtd: partition "config" doesn't end on an erase block -- 
> force read-only
> ★0x007f5000-0x00800000 : "config2"
> ★mtd: partition "config2" doesn't start on an erase block 
> boundary -- force read-only
>  No NAND device found!!!
>  ep93xxusb ep93xxusb.0: EP93xx OHCI
>  ep93xxusb ep93xxusb.0: new USB bus registered, assigned bus number 1
>  ep93xxusb ep93xxusb.0: irq 56, io base 0xff020000
>  hub 1-0:1.0: USB hub found
>  ----------------------
> 
> 対応ですが、
> http://armadillo.atmark-techno.com/armadillo-9/howto/change_of
> _partition
> を参考に、ヘッダファイル設定(memregions.h)を以下(★)のように修正しています。
> 
>  #define FLASH_CONFIG_START     (FLASH_USERLAND_START + 
> FLASH_USERLAND_SIZE)
>  #define FLASH_CONFIG_START8MB  (FLASH_USERLAND_START + 
> FLASH_USERLAND_SIZE8MB)
> ★//#define FLASH_CONFIG_SIZE      0x10000
> ★#define FLASH_CONFIG_SIZE      0x5000
> ★// Add
> ★#define FLASH_CONFIG2_START     (FLASH_CONFIG_START + 
> FLASH_CONFIG_SIZE)
> ★#define FLASH_CONFIG2_SIZE      0x5000
>  :<略>
>  #define FLASH_BOOTLOADER_NAME   "bootloader"
>  #define FLASH_KERNEL_NAME       "kernel"
>  #define FLASH_USERLAND_NAME     "userland"
>  #define FLASH_CONFIG_NAME       "config"
> ★// Add
> ★#define FLASH_CONFIG2_NAME      "config2"
>  
>  #define FLASH_BOOTLOADER_BLOCK  "8x8K/l"
>  #define FLASH_KERNEL_BLOCK      "23x64K"
>  #define FLASH_USERLAND_BLOCK4MB "39x64K"
>  #define FLASH_USERLAND_BLOCK8MB "103x64K"
>  #define FLASH_USERLAND_BLOCK    (board_info.flash == FLASH_8MiB ? \
>                                   FLASH_USERLAND_BLOCK8MB : \
>                                   FLASH_USERLAND_BLOCK4MB)
> ★#define FLASH_CONFIG_BLOCK      "4x8K"  // "8x8K"
> ★#define FLASH_CONFIG2_BLOCK     "4x8K"
> 
> ★//#define MTDPARTS2X0 
> "mtdparts=armadillo2x0-nor:0x10000(bootloader)ro,0x170000(kern
> el),0x670000(userland),-(config)"
> ★#define MTDPARTS2X0 
> "mtdparts=armadillo2x0-nor:0x10000(bootloader)ro,0x170000(kern
> el),0x670000(userland),0x5000(config),-(config2)"
>  :<略>
>  #define SECTOR_IDX_BOOTLOADER	0
>  #define SECTOR_IDX_KERNEL	8
>  #define SECTOR_IDX_USERLAND	31
>  #define SECTOR_IDX_CONFIG	70
> ★// Add
> ★#define SECTOR_IDX_CONFIG2	74
> 
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/armadillo




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