Atmel website | ARM Community | AVR freaks | Technical Support
Banner
 FAQ •  Search •  Register •  Login 

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: How to use MTD and JFFS2 on AT91SAM9260-EK with DataFlash
PostPosted: Mon Jul 16, 2007 11:48 am 
Offline

Joined: Tue Jul 10, 2007 1:15 pm
Posts: 25
Location: Rennes
Hello,

so, all is in the subject. In fact I try to use JFFS2 on AT91SAM9260-EK board and it doesn't work ... :(


It's a part of my .config file :
*************************************************************
#
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
CONFIG_MTD_DEBUG=y
CONFIG_MTD_DEBUG_VERBOSE=3
CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_CMDLINE_PARTS is not set
CONFIG_MTD_AFS_PARTS=y

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_OTP is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_OBSOLETE_CHIPS is not set

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_START=0xd0000000
CONFIG_MTD_PHYSMAP_LEN=0x840000
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
CONFIG_MTD_DATAFLASH=y
# CONFIG_MTD_M25P80 is not set
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set
*************************************************************


and the kernel panic that it is produced :
*************************************************************
Starting kernel ...

Uncompressing Linux................................................................................................ done, booting the kernel.
Linux version 2.6.21.KLK (psa@klk-srv1) (gcc version 3.4.4) #49 Mon Jul 16 11:48:02 CEST 2007
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 198 MHz, master 99 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 16256
Kernel command line: mem=64M console=ttyS0,115200 root=/dev/nfs nfsroot=192.168.4.100:/rootfs-nfs rw ip=192.168.4.222:192.168.4.100::255.255.255.0::eth0:none
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 61824KB available (2716K code, 233K data, 104K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
AT91: Power Management
Generic PHY: Registered new driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
io scheduler noop registered (default)
Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_margin=60 sec (nowayout= 0)
ipmi message handler version 39.1
ipmi device interface
IPMI Watchdog: driver initialized
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
nbd: registered device at major 43
Davicom DM9161E: Registered new driver
Davicom DM9131: Registered new driver
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256) (6 bit encapsulation enabled).
CSLIP: code copyright 1989 Regents of the University of California.
SLIP linefill/keepalive option.
Equalizer2002: Simon Janes (simon@ncm.com) and David S. Miller (davem@redhat.com)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
macb macb: detected PHY at address 0 (ID 0181:b8a0)
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:11:22:33:44:55)
DLCI driver v0.35, 4 Jan 1997, mike.mclagan@linux.org.
STRIP: Version 1.3A-STUART.CHESHIRE (unlimited channels)
netconsole: not configured, aborting
physmap platform flash device: 00840000 at d0000000
Unhandled fault: external abort on non-linefetch (0x808) at 0xc5000000
Internal error: : 808 [#1]
CPU: 0
PC is at simple_map_write+0x28/0x40
LR is at cfi_probe_chip+0x108/0xd84
pc : [<c019153c>] lr : [<c01831a0>] Not tainted
sp : c03b1cf0 ip : c03b1d00 fp : c03b1cfc
r10: c03b1d9c r9 : 00000000 r8 : c3d1b8c4
r7 : 00000000 r6 : 00000001 r5 : 00000002 r4 : 00000002
r3 : c5000000 r2 : 00000000 r1 : 0000f0f0 r0 : c3d1b8c4
Flags: nZCv IRQs on FIQs on Mode SVC_32 Segment kernel
Control: 5317F
Table: 20004000 DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc03b0250)
Stack: (0xc03b1cf0 to 0xc03b2000)
1ce0: c03b1d8c c03b1d00 c01831a0 c0191524
1d00: c00564d8 00000044 00000001 00000001 00000000 00000000 00000000 c02d474c
1d20: 00000044 000284d0 c02d474c c0007160 c03aecc0 000084d0 00000000 d0800000
1d40: c02d4748 c03b1d94 c03b1d54 c0056630 c0056264 c02d474c 000284d0 0000f0f0
1d60: c03b1d6c 00000001 00000002 c03b1d9c c3d1b8c4 c02e1c10 c02e1f20 00000001
1d80: c03b1dfc c03b1d90 c01911a0 c01830a8 c00568c0 c00565d8 c03b1dbc 00000000
1da0: 00000000 00000002 00000001 00000000 00000000 00000000 00000000 00000000
1dc0: 00000000 00000000 00000000 00000000 00000000 c3d1b8c4 c02e1ff8 c02e1da4
1de0: c02e1e50 c3d1b8c4 c02e1f20 c02e1dac c03b1e0c c03b1e00 c0183e30 c0191120
1e00: c03b1e20 c03b1e10 c0182dd0 c0183e2c c3d1b8c0 c03b1e50 c03b1e24 c0191818
1e20: c0182db4 00000000 c02e1dac c3cb38a0 00000000 c02e1f4c c02f8aec 00000000
1e40: 00000000 c03b1e60 c03b1e54 c0150bd8 c0191710 c03b1e88 c03b1e64 c014ec00
1e60: c0150bc8 c02e1f4c c3cb38a0 c02e1dac 00000000 c001ece4 00000000 c03b1ea8
1e80: c03b1e8c c014ed78 c014eb3c 00000000 c03b1ebc c02e1dac c014ed98 c03b1eb8
1ea0: c03b1eac c014eda8 c014ecd0 c03b1ee4 c03b1ebc c014e108 c014eda8 c02dfae0
1ec0: c02dfae0 c02e1fac c02e1dac c02e1e84 00000000 00000000 c03b1efc c03b1ee8
1ee0: c014ee3c c014e0b8 c02e1dac c02df9d0 c03b1f14 c03b1f00 c014e2f8 c014edbc
1f00: 0000001c c02e1dac c03b1f50 c03b1f18 c014c38c c014e2d8 c02e1e14 c02e1e6c
1f20: c02e1e50 c02dfb58 0000001c 00000001 c02e1da4 c02e1e50 c001ece4 c001ece4
1f40: c001e46c c03b1f74 c03b1f54 c01509ac c014c180 00000000 c02e1da4 00000000
1f60: c03b0000 00000000 c03b1f88 c03b1f78 c0150a50 c01508c0 00000000 c03b1f9c
1f80: c03b1f8c c0018988 c0150a40 c001e3e0 c03b1ff4 c03b1fa0 c0008a70 c001896c
1fa0: 00000001 c03b1fb0 c0022c44 c002d294 00000000 00000000 c00089a0 c0033700
1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1fe0: 00000000 00000000 00000000 c03b1ff8 c0033700 c00089b0 c02c2488 c02bd940
Backtrace:
[<c0191514>] (simple_map_write+0x0/0x40) from [<c01831a0>] (cfi_probe_chip+0x108/0xd84)
[<c0183098>] (cfi_probe_chip+0x0/0xd84) from [<c01911a0>] (mtd_do_chip_probe+0x90/0x3b8)
[<c0191110>] (mtd_do_chip_probe+0x0/0x3b8) from [<c0183e30>] (cfi_probe+0x14/0x1c)
[<c0183e1c>] (cfi_probe+0x0/0x1c) from [<c0182dd0>] (do_map_probe+0x2c/0x38)
[<c0182da4>] (do_map_probe+0x0/0x38) from [<c0191818>] (physmap_flash_probe+0x118/0x240)
r4 = C3D1B8C0
[<c0191700>] (physmap_flash_probe+0x0/0x240) from [<c0150bd8>] (platform_drv_probe+0x20/0x24)
[<c0150bb8>] (platform_drv_probe+0x0/0x24) from [<c014ec00>] (really_probe+0xd4/0x16c)
[<c014eb2c>] (really_probe+0x0/0x16c) from [<c014ed78>] (driver_probe_device+0xb8/0xd8)
[<c014ecc0>] (driver_probe_device+0x0/0xd8) from [<c014eda8>] (__device_attach+0x10/0x14)
r7 = C014ED98 r6 = C02E1DAC r5 = C03B1EBC r4 = 00000000
[<c014ed98>] (__device_attach+0x0/0x14) from [<c014e108>] (bus_for_each_drv+0x60/0x8c)
[<c014e0a8>] (bus_for_each_drv+0x0/0x8c) from [<c014ee3c>] (device_attach+0x90/0x9c)
r7 = 00000000 r6 = 00000000 r5 = C02E1E84 r4 = C02E1DAC
[<c014edac>] (device_attach+0x0/0x9c) from [<c014e2f8>] (bus_attach_device+0x30/0x5c)
r5 = C02DF9D0 r4 = C02E1DAC
[<c014e2c8>] (bus_attach_device+0x0/0x5c) from [<c014c38c>] (device_add+0x21c/0x6c4)
r5 = C02E1DAC r4 = 0000001C
[<c014c170>] (device_add+0x0/0x6c4) from [<c01509ac>] (platform_device_add+0xfc/0x180)
[<c01508b0>] (platform_device_add+0x0/0x180) from [<c0150a50>] (platform_device_register+0x20/0x24)
r7 = 00000000 r6 = C03B0000 r5 = 00000000 r4 = C02E1DA4
[<c0150a30>] (platform_device_register+0x0/0x24) from [<c0018988>] (physmap_init+0x2c/0x3c)
r4 = 00000000
[<c001895c>] (physmap_init+0x0/0x3c) from [<c0008a70>] (init+0xd0/0x1d8)
r4 = C001E3E0
[<c00089a0>] (init+0x0/0x1d8) from [<c0033700>] (do_exit+0x0/0x7e8)
Code: 07c31002 0a000006 e3530002 0590300c (018310b2)
Kernel panic - not syncing: Attempt
*************************************************************




Thanks for your help,

Pierre


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 17, 2007 9:02 am 
Offline

Joined: Tue Jul 10, 2007 1:15 pm
Posts: 25
Location: Rennes
Ok, I found an error. It musn't choice MTD_PHYSMAP and some others options. But I have a new problem.
Now I have one partition, and I wish I have at least 3 parts but I don't know which file I must modify.

Can you help me please ???

Pierre


Sorry for my english .... :?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 17, 2007 12:56 pm 
Offline

Joined: Thu Feb 03, 2005 11:41 am
Posts: 87
Location: Erfurt/Germany
Hi,

if you enabled the right option in the kernel you can pass partition information on boot parameter line.

--
Mike

_________________
Senior IT Consultant
Germany


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jul 17, 2007 1:45 pm 
Offline

Joined: Tue Jul 10, 2007 1:15 pm
Posts: 25
Location: Rennes
I know but it was not what I want.

I found how we must do. It's in the mtd_dataflash.c.

Thanks


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 25 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: