2009-09-23 08:36:47     MTD in CM-BF537E

Document created by Aaronwu Employee on Aug 19, 2013
Version 1Show Document
  • View in full screen mode

2009-09-23 08:36:47     MTD in CM-BF537E

Miquel Soler i Mir (SPAIN)

Message: 80306   


Hello everybody.


I'm working with CM-BF537E board.


I had some program working and now is the time to play with Flash memory.


The uImage.ext2 is 2271974, I cleaned something that I don't need.


I'm trying to use the Flash memory with this layout: 4096 kB CM-BF537E




size offset Name


P1: 256 kb 0 kb uboot


P2: 2560 kb 256 kb uImage.ext2


P3: 128 kb 2816 kB serial


P4: 768 kb 2944 kB test01


P5: 384 kb 3712 kb test02




I readed the MTD page in uClinux.




I configured the kernel with this parameters:




Device Drivers --->


<*> Memory Technology Device (MTD) support --->


[*] MTD partitioning support


[*] Command line partition table parsing


<*> Direct char device access to MTD devices


-*- Common interface to block layer for MTD 'translation layers' <*> Caching block device access to MTD devices


RAM/ROM/Flash chip drivers --->


<*> Detect flash chips by Common Flash Interface (CFI) probe


< > Detect non-CFI AMD/JEDEC-compatible flash chips


[ ] Flash chip driver advanced configuration options (NEW)


<*> Support for Intel/Sharp flash chips


<*> Support for AMD/Fujitsu/Spansion flash chips


< > Support for ST (Advanced Architecture) flash chips (NEW)


<*> Support for RAM chips in bus mapping


<*> Support for ROM chips in bus mapping


< > Support for absent chips in bus mapping


Mapping drivers for chip access --->


[ ] Support non-linear mappings of flash chips


<*> CFI Flash device in physical memory map


[ ] Physmap compat support (NEW)


<*> Generic uClinux RAM/ROM filesystem support


< > Map driver for platform device RAM (mtd-ram)




Flash Tools --->


--- MTD utils


[*] mtd-utils


[*] nanddump


[*] nandtest


[*] nandwrite




In u-boot I made this:




erase 0x20040000 0x203FFFFF


tftp 0x1000000 uImage.ext2


cp.b 0x1000000 0x20040000 0x 22aceb


root=/dev/mtdblock0 rw console=ttyBF0,57600 mtdparts=physmap-flash.0:256k(uboot)ro,2560k(uImage),128k(serial),768k(test01),384k(test02)


setenv flashload bootm 0x20040000


setenv bootcmd run flashload




The result in boot are:




U-Boot 2008.10 (ADI-2009R1-rc3) (Sep 3 2009 - 17:08:40)


CPU: ADSP bf537-0.2 (Detected Rev: 0.2) (bypass boot)


Board: Bluetechnix CM-BF537E board


Support:   www.bluetechnix.at/


Clock: VCO: 525 MHz, Core: 525 MHz, System: 131.250 MHz


RAM: 32 MB


Flash: Device ID of the Flash is 890016


Flash Memory Start 0x20000000


Memory Map for the Flash


0x20000000 - 0x203FFFFF Single Flash Chip (4MB)


Using PF4 as a 2M bank switch


Please type command flinfo for information on Sectors


4 MB


In: serial


Out: serial


Err: serial


Net: Blackfin EMAC


MAC: 02:80:AD:20:31:E8


Hit any key to stop autoboot: 5 ### 4 ### 3 ### 2 ### 1 ### 0




## Booting kernel from Legacy Image at 01000000 ...


Image Name: Linux Kernel and ext2


Created: 2009-09-23 10:44:34 UTC


Image Type: Blackfin Linux Kernel Image (gzip compressed)


Data Size: 2272426 Bytes = 2.2 MB


Load Address: 00001000


Entry Point: 0017f90c


Verifying Checksum ... OK


Uncompressing Kernel Image ... OK


Starting Kernel at = 0017f90c


Linux version (mikimonster@mikimonster-laptop) (gcc version 4.1.2 (ADI svn)) #33 Wed Sep 23 12:44:08 CEST 2009


Warning: limiting memory to 26MB due to hardware anomaly 05000263


Board Memory: 32MB


Kernel Managed Memory: 32MB


Memory map:


fixedcode = 0x00000400-0x00000490


text = 0x00001000-0x00107f30


rodata = 0x00107f30-0x001559c4


bss = 0x00156000-0x00165414


data = 0x00165414-0x00174000


stack = 0x00172000-0x00174000


init = 0x00174000-0x00192000


available = 0x00192000-0x01a00000


rootfs = 0x01a00000-0x01f00000


DMA Zone = 0x01f00000-0x02000000


Hardware Trace Active and Enabled


Boot Mode: 0


Blackfin support (C) 2004-2009 Analog Devices, Inc.


Compiled for ADSP-BF537 Rev 0.2


Blackfin Linux support by   blackfin.uclinux.org/


Processor Speed: 500 MHz core clock and 125 MHz System Clock


NOMPU: setting up cplb tables


Instruction Cache Enabled for CPU0


Data Cache Enabled for CPU0 (write-back)


Built 1 zonelists in Zone order, mobility grouping off. Total pages: 6604


Kernel command line: root=/dev/mtdblock0 rw console=ttyBF0,115200 mtdparts=physmap-flash.0:356k(uboot)ro,2560k(uImage),128k(serial),768k(test01),385k(test02)


Configuring Blackfin Priority Driven Interrupts


PID hash table entries: 128 (order: 7, 512 bytes)


console [ttyBF0] enabled


Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)


Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)


Memory available: 24728k/32768k RAM, (120k init code, 1051k kernel code, 433k data, 1024k dma, 5412k reserved)


Calibrating delay loop... 989.18 BogoMIPS (lpj=494592)


Security Framework initialized


Mount-cache hash table entries: 512


Blackfin Scratchpad data SRAM: 4 KB


Blackfin L1 Data A SRAM: 16 KB (9 KB free)


Blackfin L1 Data B SRAM: 16 KB (16 KB free)


Blackfin L1 Instruction SRAM: 48 KB (37 KB free)


net_namespace: 288 bytes


NET: Registered protocol family 16


Blackfin DMA Controller


cm_bf537_init(): registering device resources


NET: Registered protocol family 2


IP route cache hash table entries: 1024 (order: 0, 4096 bytes)


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


TCP bind hash table entries: 1024 (order: 0, 4096 bytes)


TCP: Hash tables configured (established 1024 bind 1024)


TCP reno registered


NET: Registered protocol family 1


msgmni has been set to 48


io scheduler noop registered (default)


io scheduler cfq registered


Serial: Blackfin serial driver


bfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART


bfin-uart.1: ttyBF1 at MMIO 0xffc02000 (irq = 20) is a BFIN-UART


brd: module loaded


bfin_mii_bus: probed


arch/blackfin/mach-bf537/boards/cm_bf537.c:bfin_get_ether_addr: Setting Ethernet MAC to a random one


bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=24)@sclk=125MHz)


bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1


uclinux[mtd]: RAM probe address=0x1a00000 size=0x500000


Creating 1 MTD partitions on "RAM":


0x00000000-0x00500000 : "ROMfs"


Generic platform RAM MTD, (c) 2004 Simtec Electronics


TCP cubic registered


NET: Registered protocol family 17


VFS: Mounted root (ext2 filesystem).


Freeing unused kernel memory: 120k freed


dma_alloc_init: dma_page @ 0x00175000 - 256 pages at 0x01f00000


Welcome to:


____ _ _


/ __| ||_| _ _


_ _| | | | _ ____ _ _ \ \/ /


| | | | | | || | _ \| | | | \ /


| |_| | |__| || | | | | |_| | / \


| ___\____|_||_|_| |_|\____|/_/\_\




For further information see:








BusyBox v1.13.4 (2009-09-22 12:21:59 CEST) built-in shell (msh)


Enter 'help' for a list of built-in commands.






As you can see, I only has one partition.


Can somebody help me to fine the error or errors?









2009-09-23 10:22:46     Re: MTD in CM-BF537E

Mike Frysinger (UNITED STATES)

Message: 80311   


you enabled the fake mtd disk (uClinux MTD), not the ones backed by real flash.


you need to enable the GPIO addr flash driver as explained in the documentation:





2009-09-24 07:02:41     Re: MTD in CM-BF537E

Miquel Soler i Mir (SPAIN)

Message: 80373   


Thanks Mike, now is working, I had the partitions.


Another question, the Flash from bluetechnix is 4 MB divided in 32 sectors: 0x20.000 each sector.


The minimal size of the partition will be 1 sector?


I read in forum that the jffs2 file system need minimum 2 sector? It's true?




Miquel Soler i Mir




2009-09-24 11:08:57     Re: MTD in CM-BF537E

Mike Frysinger (UNITED STATES)

Message: 80390   


you can create smaller partitions, but you wont be able to erase them.  jffs2 may require multiple sectors so that it can properly erase/update things.