[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 メーリングリストの案内