Jump to content
    

Проблема с EP9315A + 64МБ NOR Flash - NOR chip too large to fit in mapping. Attempting to cope...

Ядро линукса не видит MTD партиции NOR flash. ARM - Cirrus logic EP9315A. RAM 2x32 MБ (nCS0) , NOR flash Spansion S29GL512P 64MБ (nCS6), linux-crater_1-0-3. При загрузке ядра выдает следующее:

physmap platform flash device: 02000000 at 60000000
physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
NOR chip too large to fit in mapping. Attempting to cope...
Amd/Fujitsu Extended Query Table at 0x0040
physmap-flash.0: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Reducing visibility of 65536KiB chip to 32768KiB
cmdlinepart partition parsing not available
Searching for RedBoot partition table in physmap-flash.0 at offset 0x1fe0000
No RedBoot partition table detected in physmap-flash.0
...

Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
No filesystem could mount root, tried:  jffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

 

MTD партиции нужны для работы с JFFS2 (jffs2 ramdisk на NOR flash). В конфигурационном файле заданы следующие ключи:

 

#Memory Technology Devices (MTD)

CONFIG_MTD=y
CONFIG_MTD_DEBUG=y
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_AFS_PARTS is not set

# User Modules And Translation Layers
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
CONFIG_NFTL=m

# RAM/ROM/Flash chip drivers
CONFIG_MTD_CFI=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_CFI_UTIL=y
CONFIG_MTD_RAM=y

# Mapping drivers for chip access

CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_START=0x0
CONFIG_MTD_PHYSMAP_LEN=0x0
CONFIG_MTD_PHYSMAP_BANKWIDTH=1

Share this post


Link to post
Share on other sites

physmap platform flash device: 02000000 at 60000000

physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank

NOR chip too large to fit in mapping. Attempting to cope...

 

Посмотрите board файл - похоже просто неправильно размер флеша прописан, platform_device по имени physmap-flash, обратите внимание на start и end. Особенно на end :)

Edited by sasamy

Share this post


Link to post
Share on other sites

Огромное спасибо за ПРАВИЛЬНЫЙ совет!!! :) Действительно в файле 9315a.c был жестко прописан размер флеши в 32 МБ... ДА! и я был осторожен с концом (по любому не учел бы ...)! Спасибо.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...