登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

[请教]NOR FLASH上的MTD分区如何创建?

作者:mfrc531 栏目:ARM技术
[请教]NOR FLASH上的MTD分区如何创建?
kernel: 2.6.16
1,我已在/DEVICEs/mtd/maps/下建立了my-flash.c,内容参照他人的
2,在Makefile中加入了OBJ-$(.....)my-flash.o

kernel对MTD模块的支持是没有问题的

期望的输出是:
Creating 3 MTD partitions on "A":
0x00000000-0x00040000 : "ARMBoot"
0x00040000-0x00220000 : "Kernel"
0x00220000-0x00400000 : "rootfs"

请问要完成MTD分区,还需要做哪些修改呢?

PS:加载rootfs是否一定要对MTD分区,即使分一个区?

附录:config关于MTD部分
#
# MEMORY TECHNOLOGY DEVICEs (MTD)
#
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set

#
# User MODULES And Translation Layers
#
CONFIG_MTD_CHAR=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

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
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_CFI_INTELEXT=y
# CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=y
CONFIG_MTD_RAM=y
CONFIG_MTD_ROM=m
# CONFIG_MTD_ABSENT is not set
# CONFIG_MTD_OBSOLETE_CHIPS is not set

#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=m
CONFIG_MTD_PHYSMAP_START=0x10000000
CONFIG_MTD_PHYSMAP_LEN=0x1000000
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_ARM_INTEGRATOR is not set
CONFIG_MTD_IMPA7=y
CONFIG_MTD_PLATRAM=y

#
# Self-contained MTD DEVICE drivers
#
# CONFIG_MTD_DATAFLASH is not set
# 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_BLKMTD=y
CONFIG_MTD_BLOCK2MTD=y

#
# Disk-On-Chip DEVICE Drivers
#
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set

附:启动信息

Starting kernel ...



Uncompressing Linux...........................................................
............. done, booting the kernel.

Linux version 2.6.16 (ssh@hust) (gcc version 4.0.0 (DENX ELDK 4.0 4.0.0)) #7 T
hu Nov 9 18:04:04 CST 2006

CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)

Machine: ATMEL AT91RM9200-DK

MEMORY policy: ECC disabled, Data cache writeback

Clocks: CPU 179 MHz, MASTER 59 MHz, main 18.432 MHz

CPU0: D VIVT write-back cache

CPU0: I cache: 16384 bytes, associativity 64, 32 byte LINEs, 8 sets

CPU0: D cache: 16384 bytes, associativity 64, 32 byte LINEs, 8 sets

Built 1 zonelists

Kernel command LINE: mem=32M console=ttyS0,115200 noinitrd root=/dev/mtdblock2
init=/linuxrc

AT91: 128 gpio irqs in 4 banks

PID hash table entries: 256 (order: 8, 4096 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: 32MB = 32MB total

MEMORY: 30088KB available (1824K code, 383K data, 92K init)

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

NET: Registered protocol family 16

usbcore: registered new driver usbfs

usbcore: registered new driver hub

NetWinder Floating Point EMULATOR V0.97 (double PRECISION)

JFFS2 version 2.2. (NAND) (C) 2001-2003 Red Hat, Inc.

JFFS2: default compression mode: priority

Initializing Cryptographic API

io scheduler noop registered (default)

io scheduler anticipatory registered

ttyS0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL

ttyS1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL

RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize

loop: loaded (max 8 DEVICEs)

DM9000 Ethernet Driver

impA7:probing 0x00800000 at 0x00000000

impA7:probing 0x00800000 at 0x10000000

Generic platform RAM MTD, (c) 2004 Simtec ELECTRONICS

blkmtd: version $Revision: 1.27 $

blkmtd: error: missing `DEVICE' NAME



block2mtd: version $Revision: 1.30 $

NET: Registered protocol family 2

IP route cache hash table entries: 512 (order: -1, 2048 bytes)

TCP established hash table entries: 2048 (order: 1, 8192 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP RENO registered

TCP bic registered

NET: Registered protocol family 1

NET: Registered protocol family 17

Root-NFS: No NFS server available, giving up.

VFS: Unable to mount root fs via NFS, trying floppy.

VFS: Cannot open root DEVICE "mtdblock2" or unknown-block(2,0)

Please append a correct "root=" boot option

Kernel panic - not syncing: VFS:




2楼: >>参与讨论
wangkj
你找错地方了,到linux论坛吧
这是硬件讨论,软件到www.linuxforum.net,这个是老问题。

参与讨论
昵称:
讨论内容:
 
 
相关帖子
LPC2103的RTC怎样在不改现有硬件情况在关机前进入掉电模式?
关于44b0的AD转换,为什么最小值一直是205左右?
请问在ADS下怎么生成库文件?
[在线等]基于T69637的液晶的显示问题?
寻点800*600 12.1"的TFT屏(深圳)的高手
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号