Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с EP9315A + 64МБ NOR Flash - NOR chip too large to fit in mapping. Attempting to cope...
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
alter
Ядро линукса не видит 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
sasamy
Цитата(alter @ Feb 3 2010, 11:43) *
[code]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 smile.gif
alter
Огромное спасибо за ПРАВИЛЬНЫЙ совет!!! smile.gif Действительно в файле 9315a.c был жестко прописан размер флеши в 32 МБ... ДА! и я был осторожен с концом (по любому не учел бы ...)! Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.